AI晶元 Google TPU分析

2021-10-18 07:35:09 字數 2825 閱讀 4726

in-datacenter performance analysis of a tensor processing unit

tpu系列晶元已經廣泛應用於google的各種服務中,加速其神經網路運算,例如2023年alphago與李世石進行圍棋人機對戰中所用的就是tpu晶元。tpu1面向的是資料中心的推理應用,被設計為pcie上的協處理器,可以像gpu一樣插入到sata硬碟插槽裡使用,實現了12.5gb/s的有效頻寬。

weight fifo:能容納4個tile深的權重,主要負責從8gb的off-chip dram上讀取權值;

unified buffer:24mib大小的片上快取單元。用於儲存輸入資料(dma傳輸)和產生的輸出資料;

mmu:256 x 256 x 8bit的乘加單元,脈動陣列形式。每週期可以計算出256個乘法結果,計算出的結果是16bit的。矩陣單元中包含乙個64kb的weight tile,以及乙個雙快取單元;

accumulators:4mib,4098 x 256 x 32bit大小的累加單元,用來收集乘法產生的16bit結果(4096:從roofline模型得知,單次操作需要2048個單元才足夠,雙快取則需要4096個單元才能滿足需求)。

控制指令:指令通過pcie匯流排從host主機端傳輸到tpu中,以4級流水線執行。採用csic指令集型別,總共有12條指令,下面列舉幾條關鍵指令:

1.read_host_memory:cpu host->unified buffer

2.read_weights:weight dram->weight fifo

3. matrixmultiply /convolve:執行乘法或卷積運算。舉例:input(b * 256)*weight(256 * 256)=>output(b * 256)。

4.activate:執行啟用操作(relu,sigmoid)

5.write_host_memory:unified buffer->cpu host

為什麼要選擇cisc指令集呢?:risc指令集屬於精簡指令集,一條指令一般只花費乙個時鐘週期;cisc指令集屬於複雜指令集,一條指令的執行可能需要花費1000個時鐘週期。觀察上面的運算指令,顯然不是乙個時鐘週期就可以執行完成的。

流片:片上快取unified buffer和mmu乘法運算單元占用了2/3的空間。

脈動陣列相比於傳統架構的兩個優點

1.計算單元pe間共享資料,可以縮短關鍵路徑,從而提高時鐘週期;

2.sram讀取次數減少,節省能耗。

脈動陣列示意圖如圖3所示,權值資料weight是預先載入的,輸入資料input從左側進入,輸出資料從下側輸出。

處理器週期運算量數量級

cpu幾個

cpu(simd)

幾十個gpu

幾萬個tpu

幾十萬個

工藝28nm

面積<331mm2

頻率700mhz

運算單元

65536個8bit

效能92top/s

功耗40w

片上快取(ub)

(24+4=28)mib

效能計算公式:92top/s=700mhz * 65535 *2

其中65536是每週期執行的乘法運算元,乘2的原因是在mmu中同時還會有65536次加法。脈動陣列平穩執行時,每週期可以計算出256個乘法結果。

片上快取:tpu1選擇將片上快取做的較大,從而節省片外訪存消耗。

量化:訓練階段是32bit-float point,推理階段是8bit-integer。這算是tpu乙個值得注意的點。前面大多數研究中,推理階段的量化只是到了16bit。

名稱時間

效能應用

tpuv1

2023年

92tops

資料中心的推理應用

tpuv2

2023年

180tflops(整合4塊晶元),64gb(hbm)

資料中心的訓練和推理,引入到google cloud中

tpuv3

2023年

420tflops,128gb(hbm)

資料中心的訓練和推理(進一步擴充套件)

edge tpu

2023年

可處理高吞吐量的流式資料

用於lot裝置中

tpuv2 pod

2023年

11.5千萬億次浮點運算/s,4tb(hbm),二維環麵網狀網路

深度學習領域

tpuv3 pod

2023年

>100千萬億次浮點運算/s,32tb(hbm),二維環麵網狀網路

深度學習領域

ps:高頻寬記憶體(hbm)是一種用於支援記憶體裝置資料吞吐量的高效能介面,其效能遠超常規形式的記憶體。

finished.

AI晶元 寒武紀DaDianNao結構分析

dadiannao 寒武紀的dadiannao的誕生稍晚於diannao,同樣也是在2014年。這裡僅僅指 發表時間 如果把diannao看作是嵌入式終端使用的處理器,那麼dadiannao就是伺服器上用的大規模高效能處理器。dadiannao其實就是採用的diannao的nfu作為核心,然後在一塊...

AI晶元 寒武紀PuDianNao結構分析

pudiannao 之前介紹了寒武紀的diannao和dadiannao,其實內部處理邏輯可以說是一樣的。這種架構,只能適用特定的演算法型別,比如深度學習 cnn,dnn,rnn 等。但是,深度學習只是機器學習中的某一類,整個機器學習,有很多其他種類的演算法,和深度學習的不太一樣,甚至經常用到除法等...

智慧型AI計算晶元對比

下面是本人接觸到的ai晶元,主要涉及華為 位元大陸 算豐 英偉達。其他還有寒武紀 地平線 瑞芯微等沒有接觸過就不對比了。易開發性 位元大陸 英偉達 華為 效能 華為 英偉達 位元大陸 效能不是很好對比,每家實現的運算元效能有差異,不能單純對比tops 算力記憶體 頻寬 gb s 解碼編碼 功耗備註 ...