2019年6月,,華為發(fā)布全新8系列手機(jī)SoC芯片麒麟810,,首次采用華為自研達(dá)芬奇架構(gòu)NPU,,實(shí)現(xiàn)業(yè)界領(lǐng)先端側(cè)AI算力,,在業(yè)界公認(rèn)的蘇黎世聯(lián)邦理工學(xué)院推出的AI Benchmark榜單中,,搭載麒麟810的手機(jī)霸榜TOP3,,堪稱華為AI芯片的“秘密武器”,,這其中華為自研的達(dá)芬奇架構(gòu)舉足輕重,。那么,,達(dá)芬奇架構(gòu)AI實(shí)力究竟怎么樣,?一起來深入了解下。
2019年8月20日數(shù)據(jù)
源起:為什么要做達(dá)芬奇架構(gòu),?
華為預(yù)測(cè),,到2025年全球的智能終端數(shù)量將會(huì)達(dá)到400億臺(tái),,智能助理的普及率將達(dá)到90%,企業(yè)數(shù)據(jù)的使用率將達(dá)到86%,??梢灶A(yù)見,在不久的將來,,AI將作為一項(xiàng)通用技術(shù)極大地提高生產(chǎn)力,,改變每個(gè)組織和每個(gè)行業(yè)?;谶@樣的愿景,,華為在2018全聯(lián)接大會(huì)上提出全棧全場(chǎng)景AI戰(zhàn)略。作為重要的技術(shù)基礎(chǔ),,AI芯片在其中發(fā)揮著重要作用,,而華為也基于AI芯片提供了完整的解決方案,加速使能AI產(chǎn)業(yè)化,。
為了實(shí)現(xiàn)AI在多平臺(tái)多場(chǎng)景之間的協(xié)同,,華為創(chuàng)新設(shè)計(jì)達(dá)芬奇計(jì)算架構(gòu),在不同體積和功耗條件下提供強(qiáng)勁的AI算力,。
初見:達(dá)芬奇架構(gòu)的核心優(yōu)勢(shì)
達(dá)芬奇架構(gòu),,是華為自研的面向AI計(jì)算特征的全新計(jì)算架構(gòu),具備高算力,、高能效,、靈活可裁剪的特性,是實(shí)現(xiàn)萬物智能的重要基礎(chǔ),。具體來說,,達(dá)芬奇架構(gòu)采用3D Cube針對(duì)矩陣運(yùn)算做加速,大幅提升單位功耗下的AI算力,,每個(gè)AI Core可以在一個(gè)時(shí)鐘周期內(nèi)實(shí)現(xiàn)4096個(gè)MAC操作,,相比傳統(tǒng)的CPU和GPU實(shí)現(xiàn)數(shù)量級(jí)的提升。
3D Cube
同時(shí),,為了提升AI計(jì)算的完備性和不同場(chǎng)景的計(jì)算效率,,達(dá)芬奇架構(gòu)還集成了向量、標(biāo)量,、硬件加速器等多種計(jì)算單元,。同時(shí)支持多種精度計(jì)算,支撐訓(xùn)練和推理兩種場(chǎng)景的數(shù)據(jù)精度要求,,實(shí)現(xiàn)AI的全場(chǎng)景需求覆蓋,。
深耕:達(dá)芬奇架構(gòu)的AI硬實(shí)力
科普1:常見的AI運(yùn)算類型有哪些?
在了解達(dá)芬奇架構(gòu)的技術(shù)之前,我們先來弄清楚一下幾種AI運(yùn)算數(shù)據(jù)對(duì)象:
標(biāo)量(Scalar):由單獨(dú)一個(gè)數(shù)組成
向量(Vector):由一組一維有序數(shù)組成,,每個(gè)數(shù)由一個(gè)索引(index)標(biāo)識(shí)
矩陣(Matrix):由一組二維有序數(shù)組成,,每個(gè)數(shù)由兩個(gè)索引(index)標(biāo)識(shí)
張量(Tensor):由一組n維有序數(shù)組成,每個(gè)數(shù)由n個(gè)索引(index)標(biāo)識(shí)
其中,,AI計(jì)算的核心是矩陣乘法運(yùn)算,,計(jì)算時(shí)由左矩陣的一行和右矩陣的一列相乘,每個(gè)元素相乘之后的和輸出到結(jié)果矩陣,。在此計(jì)算過程中,,標(biāo)量(Scalar)、向量(Vector),、矩陣(Matrix)算力密度依次增加,,對(duì)硬件的AI運(yùn)算能力不斷提出更高要求。
典型的神經(jīng)網(wǎng)絡(luò)模型計(jì)算量都非常大,,這其中99%的計(jì)算都需要用到矩陣乘,,也就是說,如果提高矩陣乘的運(yùn)算效率,,就能最大程度上提升AI算力——這也是達(dá)芬奇架構(gòu)設(shè)計(jì)的核心:以最小的計(jì)算代價(jià)增加矩陣乘的算力,,實(shí)現(xiàn)更高的AI能效。
科普2:各單元角色分工揭秘,,Da Vinci Core是如何實(shí)現(xiàn)高效AI計(jì)算的,?
在2018年全聯(lián)接大會(huì)上,華為推出AI芯片Ascend 310(昇騰310),,這是達(dá)芬奇架構(gòu)的首次亮相,,Ascend 310相當(dāng)于AI芯片中的NPU。
其中,,Da Vinci Core只是NPU的一個(gè)部分,,Da Vinci Core內(nèi)部還細(xì)分成很多單元,包括核心的3D Cube,、Vector向量計(jì)算單元,、Scalar標(biāo)量計(jì)算單元等,它們各自負(fù)責(zé)不同的運(yùn)算任務(wù)實(shí)現(xiàn)并行化計(jì)算模型,,共同保障AI計(jì)算的高效處理,。
3D Cube矩陣乘法單元:算力擔(dān)當(dāng)
剛才已經(jīng)提到,矩陣乘是AI計(jì)算的核心,,這部分運(yùn)算由3D Cube完成,,Buffer L0A、L0B,、L0C則用于存儲(chǔ)輸入矩陣和輸出矩陣數(shù)據(jù),,負(fù)責(zé)向Cube計(jì)算單元輸送數(shù)據(jù)和存放計(jì)算結(jié)果。
Vector向量計(jì)算單元:靈活的多面手
雖然Cube的算力很強(qiáng)大,但只能完成矩陣乘運(yùn)算,,還有很多計(jì)算類型要依靠Vector向量計(jì)算單元來完成。Vector的指令相對(duì)來說非常豐富,,可以覆蓋各種基本的計(jì)算類型和許多定制的計(jì)算類型,。
Scalar標(biāo)量計(jì)算單元:流程控制的管家
Scalar標(biāo)量運(yùn)算單元主要負(fù)責(zé)AI Core的標(biāo)量運(yùn)算,功能上可以看作一個(gè)小CPU,,完成整個(gè)程序的循環(huán)控制,,分支判斷,Cube,、Vector等指令的地址和參數(shù)計(jì)算以及基本的算術(shù)運(yùn)算等,。
科普3:3D Cube計(jì)算方式的獨(dú)特優(yōu)勢(shì)是什么?
不同于以往的標(biāo)量,、矢量運(yùn)算模式,,華為達(dá)芬奇架構(gòu)以高性能3D Cube計(jì)算引擎為基礎(chǔ),針對(duì)矩陣運(yùn)算進(jìn)行加速,,大幅提高單位面積下的AI算力,,充分激發(fā)端側(cè)AI的運(yùn)算潛能。以兩個(gè)N*N的矩陣A*B乘法為例:如果是N個(gè)1D 的MAC,,需要N^2(即N的2次方)的cycle數(shù),;如果是1個(gè)N^2的2D MAC陣列,需要N個(gè)Cycle,;如果是1個(gè)N維3D的Cube,,只需要1個(gè)Cycle。
圖中計(jì)算單元的數(shù)量只是示意,,實(shí)際可靈活設(shè)計(jì)
華為創(chuàng)新設(shè)計(jì)的達(dá)芬奇架構(gòu)將大幅提升算力,,16*16*16的3D Cube能夠顯著提升數(shù)據(jù)利用率,縮短運(yùn)算周期,,實(shí)現(xiàn)更快更強(qiáng)的AI運(yùn)算,。這是什么意思呢?舉例來說,,同樣是完成4096次運(yùn)算,,2D結(jié)構(gòu)需要64行*64列才能計(jì)算,3D Cube只需要16*16*16的結(jié)構(gòu)就能算出,。其中,,64*64結(jié)構(gòu)帶來的問題是:運(yùn)算周期長、時(shí)延高,、利用率低,。
達(dá)芬奇架構(gòu)的這一特性也完美體現(xiàn)在麒麟810上。作為首款采用達(dá)芬奇架構(gòu)NPU的手機(jī)SoC芯片,麒麟810實(shí)現(xiàn)強(qiáng)勁的AI算力,,在單位面積上實(shí)現(xiàn)最佳能效,,F(xiàn)P16精度和INT8量化精度業(yè)界領(lǐng)先,搭載這款SoC芯片的華為Nova 5,、Nova 5i Pro及榮耀9X手機(jī)已上市,,為廣大消費(fèi)者提供多種精彩的AI應(yīng)用體驗(yàn)。
同時(shí),,麒麟810再度賦能HiAI生態(tài),,支持自研中間算子格式IR開放,算子數(shù)量多達(dá)240+,,處于業(yè)內(nèi)領(lǐng)先水平,。更多算子、開源框架的支持以及提供更加完備的工具鏈將助力開發(fā)者快速轉(zhuǎn)換集成基于不同AI框架開發(fā)出的模型,,極大地增強(qiáng)了華為HiAI移動(dòng)計(jì)算平臺(tái)的兼容性,、易用性,提高開發(fā)者的效率,,節(jié)約時(shí)間成本,,加速更多AI應(yīng)用的落地。
預(yù)見:達(dá)芬奇架構(gòu)解鎖AI無限可能
基于靈活可擴(kuò)展的特性,,達(dá)芬奇架構(gòu)能夠滿足端側(cè),、邊緣側(cè)及云端的應(yīng)用場(chǎng)景,可用于小到幾十毫瓦,,大到幾百瓦的訓(xùn)練場(chǎng)景,,橫跨全場(chǎng)景提供最優(yōu)算力。
以Ascend芯片為例,,Ascend-Nano可以用于耳機(jī)電話等IoT設(shè)備的使用場(chǎng)景,;Ascend-Tiny和Ascend-Lite用于智能手機(jī)的AI運(yùn)算處理;在筆記本電腦等算力需求更高的便攜設(shè)備上,,由Ascend 310(Ascend-Mini)提供算力支持,;而邊緣側(cè)服務(wù)器上則需要由Multi-Ascend 310完成AI計(jì)算;至于超復(fù)雜的云端數(shù)據(jù)運(yùn)算處理,,則交由算力最高可達(dá)256 TFLOPS@FP16的Ascend 910(Ascend-Max)來完成,。正是由于達(dá)芬奇架構(gòu)靈活可裁剪、高能效的特性,,才能實(shí)現(xiàn)對(duì)上述多種復(fù)雜場(chǎng)景的AI運(yùn)算處理,。
同時(shí),選擇開發(fā)統(tǒng)一架構(gòu)也是一個(gè)非常關(guān)鍵的決策,。統(tǒng)一架構(gòu)優(yōu)勢(shì)很明顯,,那就是對(duì)廣大開發(fā)者非常利好,。基于達(dá)芬奇架構(gòu)的統(tǒng)一性,,開發(fā)者在面對(duì)云端,、邊緣側(cè)、端側(cè)等全場(chǎng)景應(yīng)用開發(fā)時(shí),,只需要進(jìn)行一次算子開發(fā)和調(diào)試,,就可以應(yīng)用于不同平臺(tái),大幅降低了遷移成本,。不僅開發(fā)平臺(tái)語言統(tǒng)一,訓(xùn)練和推理框架也是統(tǒng)一的,,開發(fā)者可以將大量訓(xùn)練模型放在本地和云端服務(wù)器,,再將輕量級(jí)的推理工作放在移動(dòng)端設(shè)備上,獲得一致的開發(fā)體驗(yàn),。
在算力和技術(shù)得到突破性提升后,,AI將廣泛應(yīng)用于智慧城市、自動(dòng)駕駛,、智慧新零售,、機(jī)器人、工業(yè)制造,、云計(jì)算AI服務(wù)等場(chǎng)景,。華為輪值董事長徐直軍在2018華為全聯(lián)接大會(huì)上表示,“全場(chǎng)景意味著可以實(shí)現(xiàn)智能無所不及,,全棧意味著華為有能力為AI應(yīng)用開發(fā)者提供強(qiáng)大的算力和應(yīng)用開發(fā)平臺(tái),;有能力提供大家用得起、用得好,、用得放心的AI,,實(shí)現(xiàn)普惠AI”。
未來,,AI將應(yīng)用更加廣泛的領(lǐng)域,,并逐漸覆蓋至生活的方方面面。達(dá)芬奇架構(gòu)作為AI運(yùn)算的重要技術(shù)基礎(chǔ),,將持續(xù)賦能AI應(yīng)用探索,,為各行各業(yè)的AI應(yīng)用場(chǎng)景提供澎湃算力。
8月23日,,采用達(dá)芬奇架構(gòu)的又一款“巨無霸”將正式商用發(fā)布,,這就是最新款的AI芯片Ascend 910,同時(shí)與之配套的新一代AI開源計(jì)算框架MindSpore也將同時(shí)亮相,,敬請(qǐng)關(guān)注