0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

谷歌开源张量网络库TensorNetwork,GPU处理提升100倍!

WpOh_rgznai100 来源:yxw 2019-06-06 13:56 次阅读

世界上许多最严峻的科学挑战,如开发高温超导体和理解时空的本质,都涉及处理量子系统的复杂性。然而,这些系统中量子态的数量程指数级增长,使得暴力计算并不可行。为了解决该问题,数据结构采用了张量网络的方式。张量网络让人们关注与现实世界问题最相关的量子态,如低能态。张量网络已经越来越多地在机器学习中得到应用。

然而,目前仍存在相当多的一些挑战阻碍了其在机器学习社区中的广泛使用:1)用于加速硬件的生产级张量网络库还不能用于大规模运行张量网络算法;2)大多数张量网络文献是面向物理应用的,并产生了一种错误的印象,即需要量子力学方面的专业知识来理解算法。

为了解决这一问题,谷歌 X 实验室与加拿大Perimeter理论物理研究所(Perimeter Institute for Theoretical Physics )的研究人员合作开发了张量网络 TensorNetwork,以 TensorFlow 作为后端,针对 GPU 处理进行了优化。与在 CPU 上计算工作相比,可以实现高达 100 倍的加速。这是一个全新的开源库,旨在提高张量计算的效率。

据悉,研究人员已经发布了一些列论文对张量网络的概念、特性以及应用特例等方面进行了详细阐释。

工作原理

张量是一种多维数组,按照顺序进行分类。例如,一个普通数零阶张量,也称为标量,一个向量是一阶张量,一个矩阵是二阶张量。虽然低阶张量可以很容易地用数字数组或像 Tijnklm 这样的数学符号来表示,但一旦开始讨论高阶张量,这个符号就变得非常麻烦。

这一点上,使用图解记数法是非常有用的,在这种记数法中,人们只需画一个有许多条线或” 腿 “的圆(或其他形状)。在这个符号中,标量只是一个圆,向量只有一条腿,矩阵有两条腿等。张量的每条腿也有大小,也就是腿的长度。

张量的图解符号

以这种方式表示张量的好处是简洁地编码数学运算,例如,将一个矩阵乘以一个向量得到另一个向量,或者两个向量相乘得到标量。这个过程被称为张量收缩。

张量收缩的图解表示法

向量和矩阵乘法以及矩阵迹线(即矩阵对角元素的总和)。

除了这些案例之外,还有以张量收缩模式进行编码以形成一个新张量的图形方式。每个组成张量都有一个由自己的腿数决定的顺序。连接的腿在图中形成一条边,代表收缩,而剩余悬空腿的数量决定了合成张量的顺序。

左:四个矩阵乘积的表示,即 tr(ABCD),它是一个标量。右:三个三阶张量收缩,三条腿悬空,产生一个新的三阶张量。

虽然这些例子非常简单,但张量网络通常代表以各种方式收缩的数百个张量。用传统的符号来描述这样一件事情是非常模糊的,这也是 Roger Penrose 在 1971 年发明图解符号(diagrammatic notation)的原因。

实践过程

以一些黑白图像为例,每个图像可以被看做是 N 个像素值的列表。单个图像中的单个像素可以被独热编码( one-hot-encoding)成二维向量,并且通过这些像素编码组合在一起,我们可以得到 2N 个维独热编码的结果。我们可以将高维向量转化为 N 阶张量,然后将图像集合中所有张量相加,得到量 Ti1,i2,...,iN 的集合。

这听起来像是一件非常浪费时间的事情。因为以这种方式对约 50 像素的图像进行编码已经占用了数千兆字节的内存。这正是张量网络的作用所在。研究人员没有直接存储或操纵张量 T,而是将张量 T 作为张量网络内的多个小的张量组合。结果证明这非常有效。例如,流行的矩阵乘积态(matrix product state,MPS)网络可以将 T 表示为 N 个较小的张量,从而总参数量为 N 的线性级,而不是指数级。

高阶张量 T 用矩阵乘积态张量网络中的许多低阶张量来表示。

但在有效构建或操纵大型张量网络的同时又能始终避免使用大量内容的需求,是不太明显的。但事实证明,这在许多情况下是可能的,这也是张量网络广泛用于量子物理和机器学习领域的原因。Stoudenmire 和 Schwab 使用这种编码来构建图像分类模型,展示了张量网络的新用途。而 TensorNetwork 库旨在推进这类工作,研究人员在 TensorNetwork 相关论文中介绍了该库如何应用于张量网络的操作。

在物理场景中的应用性能

TensorNetwork 是一个针对张量网络算法的通用库,因此它适用于物理学场景。逼近量子态是张量网络在物理学中的一个典型用例,可说明张量网络库的能力。在另一篇论文《TensorNetwork on TensorFlow: A Spin Chain Application Using Tree Tensor Networks》中,研究人员提出了一种近似树张量网络(tree tensor network,TTN),并使用张量网络库实现了该算法。此外,研究人员还对比了 CPU 和 GPU 的情况,发现在使用 GPU 和张量网络库时,计算速度显著提高了近 100 倍。

计算时间作为连接维度的函数 X。连接维度( bond dimension )决定了张量网络中张量的大小。连接维度越大意味着张量网络约强大,但这个过程也需要更多的计算资源。

总结及未来工作

本文是讲述 TensorNetwork 实际应用案例的第一篇文章,后续的论文中,研究人员将使用 TensorNetwork 在 MNIST 和 Fashion-MNIST 上执行图像分类,后面还将包括时序分析、量子电路仿真等。研究人员希望 TensorNetwork 能成为物理学家和机器学习从业者的宝贵工具。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18240

    浏览量

    222015
  • 谷歌
    +关注

    关注

    27

    文章

    5845

    浏览量

    103242
  • gpu
    gpu
    +关注

    关注

    27

    文章

    4410

    浏览量

    126635

原文标题:谷歌开源张量网络库TensorNetwork,GPU处理提升100倍!

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    谷歌自主研发:Google Axion处理器亮相

    谷歌 Axion 处理器不仅是谷歌对定制芯片投资的最新成果,也是众多定制芯片中的一环。自2015年以来,谷歌已经陆续推出了五代张量
    发表于 04-20 09:52 123次阅读

    利用NVIDIA组件提升GPU推理的吞吐

    本实践中,唯品会 AI 平台与 NVIDIA 团队合作,结合 NVIDIA TensorRT 和 NVIDIA Merlin HierarchicalKV(HKV)将推理的稠密网络和热 Embedding 全置于 GPU 上进行加速,吞吐相比 CPU 推理服务
    的头像 发表于 04-20 09:39 140次阅读

    国产GPU搭配国产处理器平台主机

    处理gpu
    GITSTAR 集特工控
    发布于 :2024年03月27日 14:11:32

    FPGA在深度学习应用中或将取代GPU

    的根本原因,它与 深度神经网络 有一个共同之处:都需要进行大量矩阵运算。 显卡可以并行执行矩阵运算,极大地加快计算速度。图形处理器可以把训练神经网络的时间从几天、几周缩短到几小时、几分钟。 随着图形
    发表于 03-21 15:19

    Groq推出大模型推理芯片 超越了传统GPU谷歌TPU

    Groq推出了大模型推理芯片,以每秒500tokens的速度引起轰动,超越了传统GPU谷歌TPU。
    的头像 发表于 02-26 10:24 375次阅读
    Groq推出大模型推理芯片 超越了传统<b class='flag-5'>GPU</b>和<b class='flag-5'>谷歌</b>TPU

    OpenHarmony开源GPUMesa3D适配说明

    ,对下使用Gallium框架,屏蔽驱动差异。在RK3568中,panfrost对ARM GPU提供了非常好的开源驱动支持。 二、适配方法 在RK3568 GPU 开源
    发表于 12-25 11:38

    AD8253在使用100放大微伏信号时怎么处理零点漂移造成的对检测信号的影响?

    ADI专家: 您好,请问AD8253在使用100放大微伏信号时怎么处理零点漂移造成的对检测信号的影响,AD8253已连续烤机一个多月,开始采样后零点会漂移,并且零点会随采样时间的加长慢慢的减小,请问解决这个问题ADI有没有很好
    发表于 11-17 06:58

    GPU张量核心: 深度学习的秘密武器

    GPU最初是为图形渲染而设计的,但是由于其卓越的并行计算能力,它们很快被引入深度学习中。深度学习的迅速发展离不开计算机图形处理单元(GPU)的支持,而GPU中的
    的头像 发表于 09-26 08:29 525次阅读
    <b class='flag-5'>GPU</b>的<b class='flag-5'>张量</b>核心: 深度学习的秘密武器

    开源图形驱动在OpenHarmony上的使用和落地

    黄然,华为终端BG软件部资深图形技术专家,华为终端游戏标准、工具和分析创始人,GPU Turbo黑科技核心成员,在OpenHarmony社区上担任开源图形驱动SIG、游戏SIG、兼容性工作组组长等
    发表于 08-31 18:07

    Apple 预定 3 纳米芯片,谷歌云 A3 虚拟机将改变 AI 训练

    了 Nvidia 的 H100 GPU谷歌自主设计的 200 Gbps 基础设施处理器(IPU)。主要用于训练和运行生成式 AI 模型以及大型语言模型。
    的头像 发表于 08-31 13:00 394次阅读
    Apple 预定 3 纳米芯片,<b class='flag-5'>谷歌</b>云 A3 虚拟机将改变 AI 训练

    谷歌助手LED控制开源分享

    电子发烧友网站提供《谷歌助手LED控制开源分享.zip》资料免费下载
    发表于 06-30 09:51 0次下载
    <b class='flag-5'>谷歌</b>助手LED控制<b class='flag-5'>开源</b>分享

    GPU如何在imx8m plus上工作以及GPU驱动程序如何集成到DRM驱动程序框架中?

    知道用户空间有核心(openGL、vulkan、openCL、.etc),但我只想知道GPU在内核空间是如何工作的,即GPU如何处理缓冲区和命令管理。
    发表于 06-08 08:23

    曦思N100:功能强大的AI全流程处理GPU

    人工智能技术的蓬勃发展和智能应用的不断落地,正在深刻地影响和改变着我们的生活。GPU、NPU、FPGA等各类AI芯片为人工智能的发展提供了算力支撑,其中又以GPU应用最为广泛。接下来让我们一起了解一下沐曦的首款GPU产品:曦思N
    的头像 发表于 05-26 11:28 2194次阅读

    寻找开源100G NIC Corundum中的隐藏BUG

    Corundum是一个基于FPGA的开源NIC原型平台,用于高达100Gbps及更高的网络接口开发。
    发表于 05-23 14:57 822次阅读
    寻找<b class='flag-5'>开源</b><b class='flag-5'>100</b>G NIC Corundum中的隐藏BUG

    拥有26000个GPU的“A3”超级计算机,能为谷歌赢下AI反攻战吗?

    A3 是第一个使用谷歌与英特尔联合定制设计的 200 Gbps IPU的 GPU 实例,它可以让GPUGPU之间的数据绕过CPU,并可在其他虚拟机
    的头像 发表于 05-19 16:47 943次阅读
    拥有26000个<b class='flag-5'>GPU</b>的“A3”超级计算机,能为<b class='flag-5'>谷歌</b>赢下AI反攻战吗?