0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

谷歌宣布開源張量計(jì)算庫TensorNetwork及其API

DPVg_AI_era ? 來源:lq ? 2019-06-23 09:54 ? 次閱讀

谷歌宣布開源張量計(jì)算庫TensorNetwork及其API,使用TensorFlow為后端,對(duì)GPU處理速度進(jìn)行優(yōu)化,與CPU相比,計(jì)算加速效果高達(dá)100倍。

現(xiàn)代科學(xué)領(lǐng)域中,有很多艱巨困難的科學(xué)任務(wù),比如開發(fā)高溫超導(dǎo)體材料、了解空間和時(shí)間的本質(zhì)等,都涉及到處理量子系統(tǒng)的復(fù)雜性。這些問題之所以困難,是因?yàn)檫@些系統(tǒng)中的量子態(tài)數(shù)量呈指數(shù)級(jí)增長,使得暴力計(jì)算行不通了。

為了解決這個(gè)問題,人們利用名為“張量網(wǎng)絡(luò)”的數(shù)據(jù)結(jié)構(gòu),可以專注于與現(xiàn)實(shí)問題最為相關(guān)的量子態(tài)——低能量狀態(tài),而忽略其他不相關(guān)的狀態(tài)。張量網(wǎng)絡(luò)也越來越多地在機(jī)器學(xué)習(xí)中得到應(yīng)用。

然而,目前在機(jī)器學(xué)習(xí)中應(yīng)用張量還存在一些困難:比如用于加速硬件的生產(chǎn)級(jí)張量網(wǎng)絡(luò)庫尚未在大規(guī)模運(yùn)行張量網(wǎng)絡(luò)算法中部署,而且,大多數(shù)關(guān)于張量網(wǎng)絡(luò)的文獻(xiàn)是面向物理學(xué)科領(lǐng)域的應(yīng)用。這也讓人們產(chǎn)生一種錯(cuò)誤印象,認(rèn)為需要掌握量子力學(xué)的專業(yè)知識(shí)才能理解張量算法。

本次開源的TensorNetwork使用TensorFlow作為后端,并針對(duì)GPU處理進(jìn)行了優(yōu)化,與CPU相比,處理速度可以實(shí)現(xiàn)100倍的加速。此前已經(jīng)介紹了TensorNetwork,包括新的庫及其API,并針對(duì)非物理學(xué)背景的讀者對(duì)張量網(wǎng)絡(luò)進(jìn)行了概述,介紹了張量網(wǎng)絡(luò)在物理學(xué)中的特定應(yīng)用實(shí)例,展示了使用GPU帶來的處理速度的顯著提升。

為什么Tensor Networks有用?從張量的圖解表示說起

張量是一種多維數(shù)組,根據(jù)數(shù)組元素的順序按層級(jí)分類:例如,普通數(shù)是零階張量(也稱為標(biāo)量),向量可視為一階張量,矩陣可視為二階張量等等。低階張量可以很容易用一個(gè)明確的數(shù)字?jǐn)?shù)組或數(shù)學(xué)符號(hào)來表示。

不過涉及到高階時(shí),這種符號(hào)法就變得非常麻煩。使用圖解符號(hào)對(duì)于解決這個(gè)問題很有用,一種方法是簡單地繪制一個(gè)圓(或其他形狀),引出多條線或者說“腿”,腿的數(shù)量與張量的階數(shù)相同。在這種表示法中,標(biāo)量表示為一個(gè)圓,矢量有一條腿,矩陣有兩條腿等。張量的每條腿也有一個(gè)尺寸,就是腿的長短。例如,表示物體通過空間的速度的矢量就是三維的一階張量。

張量的圖解表示法

以這種方式表示張量的好處是可以簡潔地對(duì)數(shù)學(xué)運(yùn)算進(jìn)行編碼,例如,用矩陣乘以向量,獲得另一個(gè)向量,或者將兩個(gè)向量相乘,得到一個(gè)標(biāo)量。這些都是所謂“張量收縮”的更一般的概念。

張量收縮的圖解表示法。圖中所示為矢量和矩陣乘法以及矩陣跡線(即矩陣的對(duì)角元素的總和)

以下是張量網(wǎng)絡(luò)的簡單示例。張量網(wǎng)絡(luò)是對(duì)幾個(gè)張量收縮,形成新張量的模式進(jìn)行編碼的圖形化表示。構(gòu)成新張量的每個(gè)張量具有各自的階數(shù),圖上表示為腿的數(shù)量?;ハ噙B接的腿,在圖中形成邊,表示張量的收縮,而剩余的懸在外面的腿的數(shù)量就是生成的新張量的階數(shù)。

左:四個(gè)矩陣乘積的表示,即tr(ABCD),它是一個(gè)標(biāo)量,圖中沒有腿。右:三個(gè)三階張量收縮,最終有三條腿懸在外面,即產(chǎn)生一個(gè)新的三階張量。

雖然這些例子非常簡單,但張量網(wǎng)絡(luò)通常代表以各種方式收縮的數(shù)百個(gè)張量。用傳統(tǒng)的符號(hào)來描述這樣一件事是很難理解的,這就是Roger Penrose在1971年發(fā)明圖解符號(hào)(diagrammatic notation)的原因。

張量網(wǎng)絡(luò)在實(shí)踐中的應(yīng)用

想象一組黑白圖像,每個(gè)圖像都可以看作是一個(gè)n個(gè)像素值的列表。單個(gè)圖像的單個(gè)像素可以被一個(gè)one-hot編碼為二維矢量,通過將這些像素編碼結(jié)合在一起,我們可以對(duì)整個(gè)圖像進(jìn)行2N維的one-hot編碼。我們可以將這個(gè)高維向量重塑成一個(gè)order-N張量,然后將圖像集中的所有張量相加,得到一個(gè)總張量Ti1,i2,...,iN集合。

這聽起來是一件非常浪費(fèi)的事:用這種方式編碼大約50像素的圖像將占內(nèi)存許多PB的空間。這就該用到張量網(wǎng)絡(luò)了。與其直接存儲(chǔ)或操縱張量T,不如將T表示為張量網(wǎng)絡(luò)形狀中許多較小組分張量的收縮。結(jié)果證明效率更高。例如,流行的矩陣積態(tài)(MPS)網(wǎng)絡(luò)將把T寫成N個(gè)更小的張量,這樣參數(shù)的總數(shù)在N中只是線性的,而不是指數(shù)的。

在矩陣積態(tài)張量網(wǎng)絡(luò)中,高階張量T用許多低階張量表示。

不明顯的是,大張量網(wǎng)絡(luò)可以被有效地創(chuàng)建或操作,同時(shí)始終避免占用大量內(nèi)存。但事實(shí)證明,這在許多情況下是可能的,這就是為什么張量網(wǎng)絡(luò)在量子物理學(xué)和現(xiàn)在的機(jī)器學(xué)習(xí)中被廣泛使用的原因。

谷歌AI的研究人員Stoudenmire和Schwab使用剛才描述的編碼來建立一個(gè)圖像分類模型,展示了張量網(wǎng)絡(luò)的新用途。TensorNetwork庫的設(shè)計(jì)就是為了方便這種工作,我們第一篇論文(https://arxiv.org/pdf/1905.01330.pdf)就描述了該庫如何用于一般的張量網(wǎng)絡(luò)操作。

性能實(shí)例分析:計(jì)算速度提升100倍

張量網(wǎng)絡(luò)是張量網(wǎng)絡(luò)算法的通用庫,對(duì)物理學(xué)家也有一定的幫助。量子態(tài)的近似是物理中張量網(wǎng)絡(luò)的一個(gè)典型用例,非常適合用來說明張量網(wǎng)絡(luò)庫的功能。在第二篇論文(https://arxiv.org/pdf/1905.01331.pdf)中,我們描述了一種tree tensor network(TTN)算法,用于估算周期性量子自旋鏈(1D)或薄環(huán)面上的晶格模型(2D)的基態(tài),并用張量網(wǎng)絡(luò)實(shí)現(xiàn)了該算法。在使用GPU和TensorNetwork庫時(shí),我們比較了CPU和GPU的使用情況,并觀察到計(jì)算速度顯著提高,高達(dá)100倍。

計(jì)算時(shí)間作為鍵維數(shù)的函數(shù),χ。 鍵合維度決定了張量網(wǎng)絡(luò)的組成張量的大小。 更大的鍵維度意味著更強(qiáng)大的張量網(wǎng)絡(luò),但需要更多的計(jì)算資源來操縱。

未來方向:時(shí)間序列分析和量子電路模擬

我們計(jì)劃用一系列的論文來說明張量網(wǎng)絡(luò)在實(shí)際應(yīng)用中的強(qiáng)大之處,這是第一篇。在下一篇論文中,我們將使用TensorNetwork對(duì)MNIST和Fashion-MNIST數(shù)據(jù)集中的圖像進(jìn)行分類。

未來的計(jì)劃包括機(jī)器學(xué)習(xí)方面的時(shí)間序列分析和物理方面的量子電路模擬。通過開源社區(qū),我們會(huì)經(jīng)常為TensorNetwork添加新功能。我們希望TensorNetwork將成為物理學(xué)家和機(jī)器學(xué)習(xí)實(shí)踐者的寶貴工具。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 谷歌
    +關(guān)注

    關(guān)注

    27

    文章

    6128

    瀏覽量

    104952
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    29821

    瀏覽量

    268111
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8353

    瀏覽量

    132315

原文標(biāo)題:谷歌AI開源張量計(jì)算庫TensorNetwork,計(jì)算速度暴漲100倍

文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    平衡流量計(jì)計(jì)算公式

    量計(jì)計(jì)算公式的重要性及應(yīng)用你了解嗎? 一、管道流速公式 這是平衡流量計(jì)中最基本的計(jì)算公式之一,它基于流體的質(zhì)量守恒定律。通過測(cè)量管道中的壓力差和密度,可以
    的頭像 發(fā)表于 10-25 14:14 ?87次閱讀
    平衡流<b class='flag-5'>量計(jì)</b><b class='flag-5'>計(jì)算</b>公式

    云端超級(jí)計(jì)算機(jī)怎么用

    云端超級(jí)計(jì)算機(jī)是一種基于云計(jì)算的高性能計(jì)算服務(wù),它將大量計(jì)算資源和存儲(chǔ)資源集中在一起,通過網(wǎng)絡(luò)向用戶提供按需的計(jì)算服務(wù)。
    的頭像 發(fā)表于 10-18 10:14 ?84次閱讀

    阿里云與中興通訊達(dá)成開源數(shù)據(jù)合作

    近日,阿里云與中興通訊宣布達(dá)成開源數(shù)據(jù)領(lǐng)域的深度合作。中興通訊正式加入PolarDB開源社區(qū),并榮任首屆理事會(huì)成員單位,這一舉措標(biāo)志著兩大科技巨頭在數(shù)據(jù)
    的頭像 發(fā)表于 05-17 10:47 ?509次閱讀

    阿里云與中興通訊達(dá)成開源數(shù)據(jù)合作,助推國產(chǎn)數(shù)據(jù)發(fā)展

    據(jù)悉,阿里云與中興通訊于5月16日公布了開源數(shù)據(jù)合作事宜。中興通訊正式宣布加入PolarDB開源社區(qū),并擔(dān)任首屆理事會(huì)成員單位。
    的頭像 發(fā)表于 05-16 16:34 ?399次閱讀

    賦能產(chǎn)業(yè)互聯(lián)網(wǎng),高通量計(jì)算讓世界更高效!

    隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,計(jì)算機(jī)的主要應(yīng)用從以傳統(tǒng)的科學(xué)與工程計(jì)算為主逐步演變?yōu)橐詳?shù)據(jù)處理為核心,以傳統(tǒng)高性能計(jì)算機(jī)體系結(jié)構(gòu)為核心技術(shù)的新型基礎(chǔ)設(shè)施面臨巨大挑戰(zhàn),高通量計(jì)算應(yīng)運(yùn)而生。中
    發(fā)表于 04-12 14:46 ?238次閱讀
    賦能產(chǎn)業(yè)互聯(lián)網(wǎng),高通<b class='flag-5'>量計(jì)算</b>讓世界更高效!

    NVIDIA宣布推出基于Omniverse Cloud API構(gòu)建的全新軟件框架

    NVIDIA 在 GTC 大會(huì)上宣布推出基于 Omniverse Cloud API(應(yīng)用編程接口)構(gòu)建的全新軟件框架。
    的頭像 發(fā)表于 03-25 09:09 ?480次閱讀

    谷歌發(fā)布輕量級(jí)開源人工智能模型Gemma

    谷歌近日宣布推出開源人工智能(AI)模型系列Gemma,旨在為開發(fā)人員和研究人員提供一個(gè)負(fù)責(zé)任的AI構(gòu)建平臺(tái)。這一舉措標(biāo)志著自2022年OpenAI的ChatGPT引領(lǐng)AI聊天機(jī)器人熱潮后,
    的頭像 發(fā)表于 02-23 11:38 ?775次閱讀

    谷歌大型模型終于開放源代碼,遲到但重要的開源戰(zhàn)略

    在人工智能領(lǐng)域,谷歌可以算是開源的鼻祖。今天幾乎所有的大語言模型,都基于谷歌在 2017 年發(fā)布的 Transformer 論文;谷歌的發(fā)布的 BERT、T5,都是最早的一批
    發(fā)表于 02-22 18:14 ?403次閱讀
    <b class='flag-5'>谷歌</b>大型模型終于開放源代碼,遲到但重要的<b class='flag-5'>開源</b>戰(zhàn)略

    量計(jì)算公式多少度電 電量和度數(shù)怎么換算

    量計(jì)算公式多少度電? 電量計(jì)算公式是通過電壓和電流的乘積來計(jì)算的,單位為瓦特-小時(shí)(Wh)。公式為: 電量(Wh)= 電壓(V) × 電流(A) × 使用時(shí)間(小時(shí)) 其中,電壓是指電流通過的電器
    的頭像 發(fā)表于 02-03 14:42 ?5w次閱讀

    LTM4620給fpga提供1.0V內(nèi)核電源,4620輸出電容量計(jì)算是否應(yīng)該包含布局在fpga芯片附近的bulk電容?

    LTM4620給fpga提供1.0V內(nèi)核電源,4620輸出電容量計(jì)算是否應(yīng)該包含布局在fpga芯片附近的bulk電容? 靠近FPGA布局的電容也比較大,比如470uF。但這些電容隔4620布局比較遠(yuǎn),大于7cm。通過內(nèi)電層鋪銅連接。
    發(fā)表于 01-05 06:01

    OpenHarmony開源GPUMesa3D適配說明

    介紹的是另外一種開源實(shí)現(xiàn)的方式:mesa3D。 Mesa3D 圖形就是OpenGL API的一種開源實(shí)現(xiàn)。新版本還支持OpenCL、OpenGL ES等等。Mesa3D對(duì)上提供標(biāo)準(zhǔn)的
    發(fā)表于 12-25 11:38

    芯原與谷歌攜手合作開源項(xiàng)目Open Se Cura

    2023年12月19日,中國上?!驹煞?(芯原,股票代碼:688521.SH) 今日宣布谷歌合作支持新推出的開源項(xiàng)目Open Se Cura。
    的頭像 發(fā)表于 12-19 09:07 ?413次閱讀

    采用AD5933進(jìn)行阻抗測(cè)量,測(cè)量計(jì)算后的阻值會(huì)隨實(shí)際值增大而增大的原因?

    您好,最近采用AD5933進(jìn)行阻抗測(cè)量,電路如下圖: 編程控制Vout 為2Vp-p,30kHz;PGA=1;校準(zhǔn)電阻10k 測(cè)量計(jì)算后的阻值會(huì)隨實(shí)際值增大而增大,但不成比例;具體數(shù)值如下: 請(qǐng)問出現(xiàn)這種問題的原因是什么?
    發(fā)表于 12-12 07:38

    銅排載流量計(jì)算方法

    銅排是工業(yè)中常用的一種導(dǎo)電材料,通常用于電路板、電纜和電器設(shè)備中。在設(shè)計(jì)和使用銅排的過程中,需要準(zhǔn)確計(jì)算其載流量,以確保其正常工作和安全可靠。本文將詳細(xì)介紹銅排載流量的計(jì)算方法。 銅排載流量計(jì)算
    的頭像 發(fā)表于 12-08 14:06 ?9433次閱讀

    CASS方量計(jì)算應(yīng)用

    CASS土方算量
    發(fā)表于 12-04 10:03 ?0次下載