《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 電子元件 > 業(yè)界動(dòng)態(tài) > 看華為卷積運(yùn)算芯片如何提高AI資源利用率

看華為卷積運(yùn)算芯片如何提高AI資源利用率

2020-11-11
來源:愛集微APP
關(guān)鍵詞: 華為 芯片 AI 人工智能

目前,,深度神經(jīng)網(wǎng)絡(luò)技術(shù)已經(jīng)成為人工智能領(lǐng)域的代表性算法,,基于深度神經(jīng)網(wǎng)絡(luò)技術(shù)的字符識(shí)別、圖像分類或語(yǔ)音識(shí)別等關(guān)鍵技術(shù),,已經(jīng)廣泛應(yīng)用于搜索引擎和智能手機(jī)等產(chǎn)品中,。

其中,,當(dāng)前最為有效且應(yīng)用最為廣泛的神經(jīng)網(wǎng)絡(luò)算法是卷積神經(jīng)網(wǎng)絡(luò)算法,簡(jiǎn)稱“卷積運(yùn)算”,。在現(xiàn)有技術(shù)中,,CNN算法的核心計(jì)算單元是乘加運(yùn)算,乘法累加器陣列常用于矩陣乘法運(yùn)算,,而卷積運(yùn)算可以轉(zhuǎn)換為矩陣乘法運(yùn)算,。

因此業(yè)界廣泛采用MAC(乘累加器)陣列為計(jì)算核心的專用加速硬件,例如:現(xiàn)場(chǎng)可編程門陣列(FPGA),、專用集成電路(ASIC)等,,以加速卷積運(yùn)算的運(yùn)算速度。

但是目前卷積計(jì)算也存在著一些問題,,一方面,,當(dāng)MAC陣列中存在多個(gè)卷積窗口同時(shí)進(jìn)行卷積運(yùn)算時(shí),這些卷積窗口分布在MAC陣列中的不同位置,,使得MAC陣列的利用率非常低,。另一方面,,存在大量重復(fù)數(shù)據(jù)被從RAM輸入到MAC陣列,這樣會(huì)增加RAM的訪問次數(shù),。

為了解決這樣的問題,,華為發(fā)明了將CPU、RAM和卷積運(yùn)算芯片集成在同一數(shù)據(jù)總線上的AI芯片,,2016年12月29日,,華為發(fā)明了一項(xiàng)名為“卷積運(yùn)算芯片和通信設(shè)備”的發(fā)明專利(申請(qǐng)?zhí)枺?01611243272.X),申請(qǐng)人為華為機(jī)器有限公司,。

根據(jù)該專利目前公開的資料,,讓我們一起來看看華為的這項(xiàng)新架構(gòu)AI芯片吧。

41.jpg

如上圖,,為該專利中發(fā)明的硬件設(shè)備的示意性框架圖,,硬件架構(gòu)中包括中央處理器100、雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DDR SDRAM)200以及卷積運(yùn)算芯片300,。CPU用來控制卷積運(yùn)算芯片啟動(dòng)卷積運(yùn)算,,DDR SDRAM用于向卷積運(yùn)算芯片的數(shù)據(jù)緩存模塊輸入多個(gè)卷積數(shù)據(jù)和多個(gè)卷積參數(shù),然后卷積運(yùn)算芯片根據(jù)這些數(shù)據(jù)來完成卷積運(yùn)算,。

當(dāng)?shù)玫竭\(yùn)算結(jié)果后,,就會(huì)將運(yùn)算結(jié)果寫回到DDR SDRAM事先設(shè)定好的內(nèi)存地址中,并同時(shí)通知CPU完成運(yùn)算,,以從內(nèi)存地址中提取結(jié)果數(shù)據(jù),。

42.jpg

如上圖,為上面框架中的卷積運(yùn)算芯片的結(jié)構(gòu)示意圖,,這種卷積運(yùn)算芯片包括數(shù)據(jù)緩存模塊310,、M*N乘法累加器陣列320、輸出控制模塊330和陣列控制模塊340,。

數(shù)據(jù)緩存模塊用于向乘法累加器中的第一乘法累加窗口傳輸用于卷積運(yùn)算的多個(gè)卷積數(shù)據(jù)和卷積參數(shù),,卷積參數(shù)由數(shù)據(jù)緩存模塊根據(jù)第一卷積參數(shù)矩陣確定,而該控制器也是通過在運(yùn)算器內(nèi)集成這樣的數(shù)據(jù)緩存器,,從而減少了RAM的訪問次數(shù),,進(jìn)而減少了RAM的訪問壓力。

其中M*N乘法累加器是該運(yùn)算芯片的核心運(yùn)算部件,,而這種M*N的結(jié)構(gòu)設(shè)計(jì)方式也是為了進(jìn)行卷積運(yùn)算而特意設(shè)計(jì)的,,其具體結(jié)構(gòu)如下圖所示。

43.jpg

可以看到,,這種乘法累加器包括M*N個(gè)處理單元,,并且每?jī)尚械奶幚韱卧g還存在斜向的數(shù)據(jù)傳輸通道,這相比于傳統(tǒng)的矩陣式數(shù)據(jù)傳輸通道,,具有更加靈活的數(shù)據(jù)傳輸方式,,可以更好的適用于AI芯片進(jìn)行多種類型的運(yùn)算,。

第一乘法累加窗口可以將數(shù)據(jù)進(jìn)行乘法運(yùn)算,并接著進(jìn)行加法運(yùn)算以獲得卷積結(jié)果,,最后由輸出控制模塊輸出卷積神經(jīng)網(wǎng)絡(luò)的運(yùn)算結(jié)果,,進(jìn)而完成AI芯片中的任務(wù)。

在該專利中,,為了盡可能地提高M(jìn)AC陣列的利用率以及卷積運(yùn)算效率,陣列控制模塊會(huì)根據(jù)第一卷積參數(shù)矩陣的行數(shù)和第一卷積數(shù)據(jù)陣列的行數(shù)來確定第一乘法累加窗口的列數(shù),。

華為發(fā)明的卷積運(yùn)算芯片,,這種卷積運(yùn)算芯片能夠在提高陣列資源利用率的同時(shí)降低RAM訪問次數(shù),進(jìn)而減小RAM的訪問壓力,。例如華為發(fā)明的昇騰AI芯片也正是基于這樣的技術(shù)之上,,才能實(shí)現(xiàn)極高的算力,不管多么復(fù)雜的模型都可以輕松訓(xùn)練,,且實(shí)現(xiàn)極低的功耗,。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。