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

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

3天内不再提示

谷歌宣布开源张量计算库TensorNetwork及其API

DPVg_AI_era 来源:lq 2019-06-23 09:54 次阅读

谷歌宣布开源张量计算库TensorNetwork及其API,使用TensorFlow为后端,对GPU处理速度进行优化,与CPU相比,计算加速效果高达100倍。

现代科学领域中,有很多艰巨困难的科学任务,比如开发高温超导体材料、了解空间和时间的本质等,都涉及到处理量子系统的复杂性。这些问题之所以困难,是因为这些系统中的量子态数量呈指数级增长,使得暴力计算行不通了。

为了解决这个问题,人们利用名为“张量网络”的数据结构,可以专注于与现实问题最为相关的量子态——低能量状态,而忽略其他不相关的状态。张量网络也越来越多地在机器学习中得到应用。

然而,目前在机器学习中应用张量还存在一些困难:比如用于加速硬件的生产级张量网络库尚未在大规模运行张量网络算法中部署,而且,大多数关于张量网络的文献是面向物理学科领域的应用。这也让人们产生一种错误印象,认为需要掌握量子力学的专业知识才能理解张量算法。

本次开源的TensorNetwork使用TensorFlow作为后端,并针对GPU处理进行了优化,与CPU相比,处理速度可以实现100倍的加速。此前已经介绍了TensorNetwork,包括新的库及其API,并针对非物理学背景的读者对张量网络进行了概述,介绍了张量网络在物理学中的特定应用实例,展示了使用GPU带来的处理速度的显著提升。

为什么Tensor Networks有用?从张量的图解表示说起

张量是一种多维数组,根据数组元素的顺序按层级分类:例如,普通数是零阶张量(也称为标量),向量可视为一阶张量,矩阵可视为二阶张量等等。低阶张量可以很容易用一个明确的数字数组或数学符号来表示。

不过涉及到高阶时,这种符号法就变得非常麻烦。使用图解符号对于解决这个问题很有用,一种方法是简单地绘制一个圆(或其他形状),引出多条线或者说“腿”,腿的数量与张量的阶数相同。在这种表示法中,标量表示为一个圆,矢量有一条腿,矩阵有两条腿等。张量的每条腿也有一个尺寸,就是腿的长短。例如,表示物体通过空间的速度的矢量就是三维的一阶张量。

张量的图解表示法

以这种方式表示张量的好处是可以简洁地对数学运算进行编码,例如,用矩阵乘以向量,获得另一个向量,或者将两个向量相乘,得到一个标量。这些都是所谓“张量收缩”的更一般的概念。

张量收缩的图解表示法。图中所示为矢量和矩阵乘法以及矩阵迹线(即矩阵的对角元素的总和)

以下是张量网络的简单示例。张量网络是对几个张量收缩,形成新张量的模式进行编码的图形化表示。构成新张量的每个张量具有各自的阶数,图上表示为腿的数量。互相连接的腿,在图中形成边,表示张量的收缩,而剩余的悬在外面的腿的数量就是生成的新张量的阶数。

左:四个矩阵乘积的表示,即tr(ABCD),它是一个标量,图中没有腿。右:三个三阶张量收缩,最终有三条腿悬在外面,即产生一个新的三阶张量。

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

张量网络在实践中的应用

想象一组黑白图像,每个图像都可以看作是一个n个像素值的列表。单个图像的单个像素可以被一个one-hot编码为二维矢量,通过将这些像素编码结合在一起,我们可以对整个图像进行2N维的one-hot编码。我们可以将这个高维向量重塑成一个order-N张量,然后将图像集中的所有张量相加,得到一个总张量Ti1,i2,...,iN集合。

这听起来是一件非常浪费的事:用这种方式编码大约50像素的图像将占内存许多PB的空间。这就该用到张量网络了。与其直接存储或操纵张量T,不如将T表示为张量网络形状中许多较小组分张量的收缩。结果证明效率更高。例如,流行的矩阵积态(MPS)网络将把T写成N个更小的张量,这样参数的总数在N中只是线性的,而不是指数的。

在矩阵积态张量网络中,高阶张量T用许多低阶张量表示。

不明显的是,大张量网络可以被有效地创建或操作,同时始终避免占用大量内存。但事实证明,这在许多情况下是可能的,这就是为什么张量网络在量子物理学和现在的机器学习中被广泛使用的原因。

谷歌AI的研究人员Stoudenmire和Schwab使用刚才描述的编码来建立一个图像分类模型,展示了张量网络的新用途。TensorNetwork库的设计就是为了方便这种工作,我们第一篇论文(https://arxiv.org/pdf/1905.01330.pdf)就描述了该库如何用于一般的张量网络操作。

性能实例分析:计算速度提升100倍

张量网络是张量网络算法的通用库,对物理学家也有一定的帮助。量子态的近似是物理中张量网络的一个典型用例,非常适合用来说明张量网络库的功能。在第二篇论文(https://arxiv.org/pdf/1905.01331.pdf)中,我们描述了一种tree tensor network(TTN)算法,用于估算周期性量子自旋链(1D)或薄环面上的晶格模型(2D)的基态,并用张量网络实现了该算法。在使用GPU和TensorNetwork库时,我们比较了CPU和GPU的使用情况,并观察到计算速度显著提高,高达100倍。

计算时间作为键维数的函数,χ。 键合维度决定了张量网络的组成张量的大小。 更大的键维度意味着更强大的张量网络,但需要更多的计算资源来操纵。

未来方向:时间序列分析和量子电路模拟

我们计划用一系列的论文来说明张量网络在实际应用中的强大之处,这是第一篇。在下一篇论文中,我们将使用TensorNetwork对MNIST和Fashion-MNIST数据集中的图像进行分类。

未来的计划包括机器学习方面的时间序列分析和物理方面的量子电路模拟。通过开源社区,我们会经常为TensorNetwork添加新功能。我们希望TensorNetwork将成为物理学家和机器学习实践者的宝贵工具。

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

    关注

    27

    文章

    6142

    浏览量

    105100
  • AI
    AI
    +关注

    关注

    87

    文章

    30146

    浏览量

    268415
  • 机器学习
    +关注

    关注

    66

    文章

    8377

    浏览量

    132409

原文标题:谷歌AI开源张量计算库TensorNetwork,计算速度暴涨100倍

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

收藏 人收藏

    评论

    相关推荐

    英伟达与谷歌携手加速量子计算设备设计

    英伟达近日宣布,将与谷歌量子AI团队展开合作,共同推进量子计算软硬件工具的研发。双方将利用英伟达CUDA-Q平台提供的模拟支持,加快设计谷歌下一代量子
    的头像 发表于 11-19 16:21 151次阅读

    平衡流量计计算公式

    量计计算公式的重要性及应用你了解吗? 一、管道流速公式 这是平衡流量计中最基本的计算公式之一,它基于流体的质量守恒定律。通过测量管道中的压力差和密度,可以
    的头像 发表于 10-25 14:14 112次阅读
    平衡流<b class='flag-5'>量计</b><b class='flag-5'>计算</b>公式

    云端超级计算机怎么用

    云端超级计算机是一种基于云计算的高性能计算服务,它将大量计算资源和存储资源集中在一起,通过网络向用户提供按需的计算服务。
    的头像 发表于 10-18 10:14 112次阅读

    阿里云与中兴通讯达成开源数据合作

    近日,阿里云与中兴通讯宣布达成开源数据领域的深度合作。中兴通讯正式加入PolarDB开源社区,并荣任首届理事会成员单位,这一举措标志着两大科技巨头在数据
    的头像 发表于 05-17 10:47 525次阅读

    阿里云与中兴通讯达成开源数据合作,助推国产数据发展

    据悉,阿里云与中兴通讯于5月16日公布了开源数据合作事宜。中兴通讯正式宣布加入PolarDB开源社区,并担任首届理事会成员单位。
    的头像 发表于 05-16 16:34 417次阅读

    赋能产业互联网,高通量计算让世界更高效!

    随着互联网技术的迅猛发展,计算机的主要应用从以传统的科学与工程计算为主逐步演变为以数据处理为核心,以传统高性能计算机体系结构为核心技术的新型基础设施面临巨大挑战,高通量计算应运而生。中
    发表于 04-12 14:46 242次阅读
    赋能产业互联网,高通<b class='flag-5'>量计算</b>让世界更高效!

    NVIDIA宣布推出基于Omniverse Cloud API构建的全新软件框架

    NVIDIA 在 GTC 大会上宣布推出基于 Omniverse Cloud API(应用编程接口)构建的全新软件框架。
    的头像 发表于 03-25 09:09 496次阅读

    谷歌发布轻量级开源人工智能模型Gemma

    谷歌近日宣布推出开源人工智能(AI)模型系列Gemma,旨在为开发人员和研究人员提供一个负责任的AI构建平台。这一举措标志着自2022年OpenAI的ChatGPT引领AI聊天机器人热潮后,
    的头像 发表于 02-23 11:38 807次阅读

    谷歌大型模型终于开放源代码,迟到但重要的开源战略

    在人工智能领域,谷歌可以算是开源的鼻祖。今天几乎所有的大语言模型,都基于谷歌在 2017 年发布的 Transformer 论文;谷歌的发布的 BERT、T5,都是最早的一批
    发表于 02-22 18:14 414次阅读
    <b class='flag-5'>谷歌</b>大型模型终于开放源代码,迟到但重要的<b class='flag-5'>开源</b>战略

    量计算公式多少度电 电量和度数怎么换算

    量计算公式多少度电? 电量计算公式是通过电压和电流的乘积来计算的,单位为瓦特-小时(Wh)。公式为: 电量(Wh)= 电压(V) × 电流(A) × 使用时间(小时) 其中,电压是指电流通过的电器
    的头像 发表于 02-03 14:42 5.3w次阅读

    LTM4620给fpga提供1.0V内核电源,4620输出电容量计算是否应该包含布局在fpga芯片附近的bulk电容?

    LTM4620给fpga提供1.0V内核电源,4620输出电容量计算是否应该包含布局在fpga芯片附近的bulk电容? 靠近FPGA布局的电容也比较大,比如470uF。但这些电容隔4620布局比较远,大于7cm。通过内电层铺铜连接。
    发表于 01-05 06:01

    OpenHarmony开源GPUMesa3D适配说明

    介绍的是另外一种开源实现的方式:mesa3D。 Mesa3D 图形就是OpenGL API的一种开源实现。新版本还支持OpenCL、OpenGL ES等等。Mesa3D对上提供标准的
    发表于 12-25 11:38

    芯原与谷歌携手合作开源项目Open Se Cura

    2023年12月19日,中国上海——芯原股份 (芯原,股票代码:688521.SH) 今日宣布谷歌合作支持新推出的开源项目Open Se Cura。
    的头像 发表于 12-19 09:07 422次阅读

    采用AD5933进行阻抗测量,测量计算后的阻值会随实际值增大而增大的原因?

    您好,最近采用AD5933进行阻抗测量,电路如下图: 编程控制Vout 为2Vp-p,30kHz;PGA=1;校准电阻10k 测量计算后的阻值会随实际值增大而增大,但不成比例;具体数值如下: 请问出现这种问题的原因是什么?
    发表于 12-12 07:38

    铜排载流量计算方法

    铜排是工业中常用的一种导电材料,通常用于电路板、电缆和电器设备中。在设计和使用铜排的过程中,需要准确计算其载流量,以确保其正常工作和安全可靠。本文将详细介绍铜排载流量的计算方法。 铜排载流量计算
    的头像 发表于 12-08 14:06 9720次阅读