[發(fā)明專利]原生張量處理器及張量縮并的分割有效
| 申請?zhí)枺?/td> | 201810443860.0 | 申請日: | 2018-05-10 |
| 公開(公告)號: | CN108874745B | 公開(公告)日: | 2020-02-14 |
| 發(fā)明(設(shè)計)人: | 呂堅平;鄧宇軒 | 申請(專利權(quán))人: | 北京異構(gòu)智能科技有限公司 |
| 主分類號: | G06F17/16 | 分類號: | G06F17/16 |
| 代理公司: | 44224 廣州華進聯(lián)合專利商標代理有限公司 | 代理人: | 何沖;黃隸凡 |
| 地址: | 100193 北京市海淀*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 引擎 矩陣乘法 處理器 輸入緩沖器 等價矩陣 乘法 矩陣 單一集成電路 量元素 分割 地被 緩沖 優(yōu)選 檢索 傳輸 | ||
原生張量處理器使用外積之和計算張量縮并。在一種實現(xiàn)中,原生張量處理器優(yōu)選地被實現(xiàn)為單一集成電路,并且包括輸入緩沖器和縮并引擎。輸入緩沖器緩沖從片外檢索的張量元素,并根據(jù)需要將元素傳輸?shù)娇s并引擎。縮并引擎通過執(zhí)行來自等價矩陣乘法的計算來計算張量縮并,就好像張量被展開成矩陣一樣,但避免了明確展開張量的開銷。縮并引擎包括多個外積單元,多個外積單元通過外積之和計算矩陣乘法。通過使用外積,等價矩陣乘法可以被分割成更小的矩陣乘法,這些更小的矩陣乘法在所需的局部張量間進行。
相關(guān)申請的交叉引用
本申請是2017年5月11日提交的、序列號No.15/593192、題為“Native TensorProcessor,Using Outer Product Unit”的美國專利申請的繼續(xù)申請。前述申請的主題通過引用整體并入本文。
技術(shù)領(lǐng)域
本公開大致涉及張量處理,包括張量縮并。
背景技術(shù)
隨著技術(shù)的進步,每天都有越來越多的數(shù)據(jù)被創(chuàng)建和分析。機器學習技術(shù)(例如深度學習和卷積神經(jīng)網(wǎng)絡(luò)),作為分析這些大量數(shù)據(jù)的重要方法,正變得日益重要。然而,這種大型任務(wù)的計算性能已越來越受將數(shù)據(jù)移動到正確的處理元素以進行計算的成本的支配。
傳統(tǒng)的并行處理器已經(jīng)努力處理這些數(shù)據(jù)量和其導致的數(shù)據(jù)移動模式。在許多傳統(tǒng)的并行處理架構(gòu)中,包括典型的GPU架構(gòu),計算單元被布置為一維陣列到三維網(wǎng)格。然而,計算單元通常必須自己從存儲器中檢索數(shù)據(jù)。因此,使用了例如寄存器文件、緩沖和暫存器(scratch memory)技術(shù),來減少存儲器延遲。然而,這需要在集成電路上增加更多電路,還需要更多能量來為電路供電。
可編程數(shù)據(jù)流機器是一種替代方法。然而,細粒度數(shù)據(jù)項之間的一般依賴關(guān)系通常導致了復雜性和低效率。
空間數(shù)據(jù)流機器(例如脈動陣列)是另一種替代方法,其中處理元素被排列為網(wǎng)格拓撲,并且可以僅與其所相鄰的處理元素通信。然而,這導致了延遲并且處理元素的數(shù)目難以成規(guī)模。
定制的集成電路可以被設(shè)計成對于其預期應(yīng)用是有效的。然而,建立定制的集成電路是昂貴的,并且一旦建立了,如果應(yīng)用的需求發(fā)生變化,那么建立更新的版本也是昂貴的。隨著技術(shù)的進步,定制的硬件也可能很快變得過時。
因此,需要更好的張量處理方法。
發(fā)明內(nèi)容
通過提供使用外積之和來計算張量縮并的原生張量處理器,本發(fā)明克服了現(xiàn)有技術(shù)的限制。
在一個實現(xiàn)中,原生張量處理器優(yōu)選地被實現(xiàn)為單一集成電路,并且包括輸入緩沖器和縮并引擎。輸入緩沖器對從片外檢索的張量元素進行緩沖,并根據(jù)需要將元素傳輸?shù)娇s并引擎。輸入緩沖器可以是雙緩沖器,使得除了將元素饋送到縮并引擎之外,還可以對從片外檢索張量元素進行優(yōu)化。縮并引擎通過執(zhí)行來自等價矩陣相乘的計算來計算張量縮并,就好像張量被展開成矩陣一樣,但避免了明確展開張量的開銷。縮并引擎包括計算外積的多個外積單元。縮并引擎將外積求和以形成矩陣相乘的最終積。
通過使用外積,等價的矩陣相乘可以被分割成更小的矩陣乘法,每個更小的矩陣相乘在所需的局部張量元素之間進行。
由于外積的結(jié)構(gòu),分割是可擴展的。縮并引擎通常具有層級結(jié)構(gòu),該層級結(jié)構(gòu)通過一系列分配層將整個矩陣向下分割成多個原子外積(分散和/或廣播),然后在計算后通過相應(yīng)的收集層(聚集和/或減少)反轉(zhuǎn)該過程。縮并引擎的硬件容量可以通過向上擴展層級(包括更高級別的分配層)來擴展,以建立越來越大的縮并引擎。縮并引擎優(yōu)選地是可重新配置的,使得這些層可被改變,以實現(xiàn)針對不同大小的張量的處理。
原子外積優(yōu)選地是外積α×β,其中α是ι×1列向量,β是行向量,并且計算這些原子外積的處理元素優(yōu)選地也沿著縮并指數(shù)對外積α×β進行累加。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京異構(gòu)智能科技有限公司,未經(jīng)北京異構(gòu)智能科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810443860.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





