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 解碼編碼 功耗備註 ...