高可擴充性之多通道人工智慧加速器架構- 技術探索
文章推薦指數: 80 %
近年來,隨著人工智慧(Artificial Intelligence, AI)相關應用蓬勃發展,人工智慧演算法的複雜度與運算時間持續上升,同時也提升了人工智慧加速器(AI Accelerator) ...
技術探索
現在位置:
首頁
技術探索SmartIC
高可擴充性之多通道人工智慧加速器架構
高可擴充性之多通道人工智慧加速器架構
109-12-07
工研院資通所王理弘、許雅婷、陳耀華
前言近年來,隨著人工智慧(ArtificialIntelligence,AI)相關應用蓬勃發展,人工智慧演算法的複雜度與運算時間持續上升,同時也提升了人工智慧加速器(AIAccelerator)的使用需求。
為了滿足持續增長中的運算需求,各廠商紛紛將多核心矩陣技術(Multi-coreArrayTechnology)應用於人工智慧加速器,並以增加核心數目的方式來達到更高的運算速度。
為了充分發揮多核心矩陣的運算效能,人工智慧加速器架構持續演進,由提高多核心矩陣的平行運算能力[1][2][3],進而為了適應新的演算法演進出可變式架構[4][5][6],其可根據演算法各層(Layer)之形狀(Shape)和大小(Size)自動變更加速器內部網路的連接,以適應不同頻寬與資料再利用之需求。
從上述的架構發展可以發現,目前人工智慧加速器設計主要聚焦在如何提高運算速度及適應新的演算法,然而從系統應用的角度來看,除了加速器本身的運算速度外,資料傳輸速度亦是一個影響整體效能的關鍵因素。
因此,我們將視角由人工智慧加速器進一步延伸到系統層級,分析運算與資料傳輸中各階段對整體系統效能的影響。
精彩內容
1. ESL層級之單通道人工智慧加速器效能分析2. 高可擴充性之多通道人工智慧加速器架構3. 高可擴充性之多通道人工智慧加速器效能提升分析
現有人工智慧加速器模擬分析
目前人工智慧加速器的架構一般由一個直接記憶體存取(DirectMemoryAccess,DMA)、總體緩衝器(GlobalBuffer,GLB)與多核心矩陣(ProcessingElementArray,PEArray),詳細如圖1所示。
DMA負責透過匯流排(Bus)將資料由外部的動態隨機存取記憶體(DynamicRandomAccessMemory,DRAM)搬入總體緩衝器,待運算結束後將結果由總體緩衝器移出至DRAM。
總體緩衝器由靜態隨機存取記憶體(StaticRandomAccessMemory,SRAM)構成,用於儲存輸入資料與加速器的運算結果,其根據深度學習(DeepLearning)卷積運算(ConvolutionalComputation)之需求分為Ifmap、Filter和Psumje共3種記憶庫(MemoryBank),各種記憶庫仍可根據需求分成更小的記憶庫。
圖1 Eyeriss[1]硬體架構
為了分析該架構的運算效能,我們採用系統整合設計軟體環境搭建一測試架構如圖2,其具有一個DMA、22個總體緩衝器Bank及1008顆處理元件(ProcessingElement,PE)之多核心矩陣,並在250MHz的時脈下模擬Resnet-34運算,模擬結果顯示Resnet-34之運算速度為9FPs,其各部分之詳細處理時間分布如圖3所示。
為了方便理解,我們將處理時間分成幾個大類:Conv(Convolution,卷積)、Pool(池化)、DRAM(DRAM反應時間)、DMA(資料傳輸)、NID(NetworkID,網路標籤),其中Conv與Pool屬於多核心矩陣相關運算,DMA為資料傳輸,NID包含多核心矩陣所需ID資料傳輸與設定。
由圖3可以看出,卷積(Convolutional)與池化(Pooling)相關運算占整體處理時間的39%,而DRAM與總體緩衝器之間的資料傳輸相關運算卻占據61%的處理時間(圖3中紅色線框起之區域),由此可見整體端對端(End-to-end)處理速度是由資料傳輸主導而非運算速度主導。
圖2 單通道測試架構圖
圖3 單通道加速器處理時間分布圖在圖1的架構中,DMA負責DRAM與總體緩衝器之間的資料傳輸,但是其每次只能連接DRAM與一個總體緩衝器記憶庫,這種傳輸方式相當於資料只能在單一通道(SingleCannel)中進行傳輸。
因此,當總體緩衝器具有多個記憶庫時,每一個新的資料傳輸都必須等前一個總體緩衝器記憶庫所需資料結束傳輸後才能啟動,詳細資料傳輸排程如圖4所示,這表示各總體緩衝器記憶庫必須以序列(Serial)方式傳輸資料,導致整體資料傳輸時間上升。
圖4 單通道資料傳輸排程
多通道人工智慧加速器架構由前述的分析可以發現,資料傳輸速度主要是受限於DRAM與總體緩衝器之間的單通道序列式傳輸,因此增加通道的數目即可達到平行傳輸,讓多個DRAM同時存取多個總體緩衝器記憶庫,進而降低資料傳輸的時間。
根據這個想法,我們提出多通道人工智慧加速器(Multi-channelAIAccelerator),其架構如圖5所示,總共有N個DMA、N個DRAM和M個總體緩衝器記憶庫。
每一個DMA透過匯流排連接到固定的DRAM以形成一個傳輸通道;每一個DMA都可以對所有總體緩衝器記憶庫進行存取。
因此,整個架構形成一個N對M的資料傳輸網路,並由總體緩衝器控制器(GLBController,GLB_Ctrl)管理通道與總體緩衝器記憶庫的連接方式。
在最佳的情況下,資料傳輸時所有通道都會被啟用,同時有N個總體緩衝器記憶庫進行資料搬移。
而針對不同運算需求,此多通道人工智慧加速器架構可以增加或減少通道的數目,即可達到整體最佳運算時間。
圖5 多通道人工智慧加速器
在單通道加速器道設計中,資料皆儲存於同一DRAM,因此只需管理DRAM內部的資料配置。
然而,在人工智慧加速器架構下,資料會事先經過分配後儲存在各個DRAM中,若未妥善安排資料,會發生多個DRAM資料同時要讀寫同一總體緩衝器記憶庫,或多個總體緩衝器記憶庫同時存取同一DRAM。
在這種多對一的情況下,會以優先權較前面的DMA先進行傳輸,其他的DMA則必須等待目前的傳輸結束後才能進行,這種傳輸方式相當於退化成單一通道傳輸,無法發揮多通道平行傳輸的優勢。
因此,在進行資料分配時,必須考慮核心矩陣所需資料的順序、通道數目與總體緩衝器記憶庫數量,將需要同時輸入的資料配置在不同的DRAM。
圖6和圖7分別是多通道DMA與總體緩衝器記憶庫傳輸排程,其模擬為8個通道對6個總體緩衝器記憶庫進行存取,其中同一顏色代表同一通道存取的資料。
從圖7可以看出,在有足夠通道數且資料配置妥當的情況下,所有的總體緩衝器記憶庫可以都同時進行資料存取,而無需等待某個通道有空後才能進行。
圖6 多通道DMA傳輸排程圖7 多通道總體緩衝器記憶庫傳輸排程
模擬結果為了比較單通道與多通道人工智慧加速器的處理速度差異,我們同樣使用系統整合設計軟體環境建立圖5的多通道架構,並將其中的N設為8、M設為22,再接上前述的1,008個PE的多核心矩陣,同樣在250MHz的時脈下模擬Resnet-34運算。
模擬與比較結果詳細如表1所述,整體(End-to-end)處理速度由9FPs加速至13FPs,相較單通道架構,多通道架構可減少30.8%整體處理時間。
其中,資料傳輸相關處理時間由68ms下降至35ms,其占整體運算時間的比例(圖8中綠色線範圍內)由61%下降至45%,而卷積與池化運算所占的比例由39%上升到55%,由此可證明多通道人工智慧加速器架構可有效解決單通道架構資料傳輸過長導致的整體(End-to-end)處理速度瓶頸。
表1 多通道與單通道加速器之運算分析
Architecture
Single-channel
Multi-channel
FPS
9
13
ProcessingTimems/Frame
110
80
ProcessingTimeDistribution
Time(ms)
Percestage
Time(ms)
Percestage
CONV
cmd
26
23.00%
25
32.00%
do
18
16.00%
18
23.00%
DMA-DRAM
riscv-to-dma
6
5.00%
5
6.00%
Cmd
4
4.00%
5
6.00%
Transfer
29
26.00%
12
15.00%
restq_irq
20
18.00%
5
7.00%
NID
9
8.00%
8
11.00%
Pool
cmd
0
0.00%
0
0.00%
do
0
0.00%
0
0.00%
圖8 多通道加速器處理時間分布圖
結論模擬結果顯示,現有人工智慧加速器受限於單通道資料傳輸,資料傳輸占據大部分整體處理時間,導致整體端對端處運算速度下降。
為了解決通道不足的問題,我們提出多通道人工智慧加速器,其中每一通道由一組DRAM與DMA組成,每個DMA都可存取所有總體緩衝器記憶庫,並形成一個多對多的資料傳輸網路。
相較於單通道加速器,一次只有一個總體緩衝器記憶庫運作,其他總體緩衝器記憶庫則處於待機狀態;多通道加速器可同時對多總體緩衝器記憶庫進行資料存取,降低總體緩衝器記憶庫處於待機狀態的時間,提高整體資料傳輸速度。
模擬結果顯示,相較於單通道架構,8通道架構之人工智慧加速器的資料傳輸時間由68ms下降至35ms,整體運算時間減少30.8%,整體運算速度由9FPs推升至13FPS。
由以上結果可知,多通道人工智慧加速器架構可有效解決單通道架構下資料傳輸過長導致的整體處理速度瓶頸,提升整體加速器之運算效率,並可以居不同需求變更通道數目,以達到最佳運算速度。
參考文獻[1]Y.H.Chen,T.Krishna,J.S.EmerandV.Sze,"Eyeriss:Anenergy-efficientreconfigurableacceleratorfordeepconvolutionalneuralnetworks",IEEEJ.Solid-StateCircuits,vol.52,no.1,pp.127-138,Jan.2017.
[2]B.Moons,R.Uytterhoeven,W.Dehaene,andM.Verhelst,“14.5envision:A0.26-to-10TOPS/Wsubword-paralleldynamic-voltageaccuracy-frequency-scalableconvolutionalneuralnetworkprocessorin28nmFDSOI,”inISSCCDig.Tech.Papers,SanFrancisco,CA,USA,Feb.2017,pp.246–247.
[3]S.Yinetal.,“A1.06-to-5.09TOPS/Wreconfigurablehybrid-neuralnetworkprocessorfordeeplearningapplications,”inProc.Symp.VLSICircuits,Jun.2017,pp.C26–C27.
[4]Y.-H.Chen,T.-J.Yang,J.Emer,andV.Sze,“Eyerissv2:Aflexibleacceleratorforemergingdeepneuralnetworksonmobiledevices,”IEEEJ.EmergingSel.TopicsCircuitsSyst.,vol.9,no.2,pp.292–308,
[5]SungpillChoi,KyeongryeolBong,DonghyeonHan,Hoi-JunYoo,"CNNP-v2:AMemory-CentricArchitectureforLow-PowerCNNProcessoronDomain-SpecificMobileDevices",EmergingandSelectedTopicsinCircuitsandSystemsIEEEJournalon,vol.9,no.4,pp.598-611,2019.
[6]Kuo-WeiChang,Tian-SheuanChang,"VWA:HardwareEfficientVectorwiseAcceleratorforConvolutionalNeuralNetwork",CircuitsandSystemsI:RegularPapersIEEETransactionson,vol.67,no.1,pp.145-154,2020.
[7]Jun.2019C.Zhang,Z.Fang,P.Zhou,P.Pan,andJ.Cong,“Caffeine:Towardsuniformedrepresentationandaccelerationfordeepconvolutionalneuralnetworks,”inProc.ICCAD,2016,pp.1–8.
回上一頁
友善列印
分享:
分享到我的Twitter
分享到我的Plurk
分享到我的Facebook
工研院資訊與通訊研究所
©2015IndustrialTechnologyResearchInstitute.法律聲明Facebook
發行單位:工業技術研究院資訊與通訊研究所
服務信箱:[email protected]
發行地址:新竹縣竹東鎮中興路四段195號51館719室建議網頁瀏覽器為IE8.0以上(含)版本
top
延伸文章資訊
- 1详解AI加速器(二):为什么说现在是AI加速器的黄金时代?
- 2神經網路的AI加速器簡介 - 趣關注
神經網路是什麼? 神經網路(Neural Network,NN)作為人工智慧(Artificial Intelligence,AI)領域的一類機器學習模型,近年來得到了很多關注。
- 3決戰下世代人工智慧加速器記憶體內運算助攻AI市場 - 新通訊
記憶體內運算(Computing in Memory)可說是AI加速器架構的一種,實際運算過程是經過記憶體的數據資料,直接在記憶體內先行運算,而後將實際得到的分析 ...
- 4AI加速器晶片發威AI應用落地才到位 - i創科技
AI晶片是什麼?AI晶片是一種用於加速「深度學習演算法(Deep Learning Algorithm)」的晶片,以用途而分,又可分為 ...
- 5人工智慧加速器(AI Accelerators) 短期課程報名
人工智慧加速器(AI Accelerators) 短期課程2022 年3 月8 日至3 月29 日哈佛大學計算機科學與電機工程William H. Gates講座教授孔祥重教授緣起: 近十年來,...