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í)力究竟怎么樣?一起來(lái)深入了解下,。
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ù)見(jiàn),,在不久的將來(lái),,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算力,。
初見(jiàn):達(dá)芬奇架構(gòu)的核心優(yōu)勢(shì)
達(dá)芬奇架構(gòu),是華為自研的面向AI計(jì)算特征的全新計(jì)算架構(gòu),,具備高算力,、高能效、靈活可裁剪的特性,,是實(shí)現(xiàn)萬(wàn)物智能的重要基礎(chǔ),。具體來(lái)說(shuō),達(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:常見(jiàn)的AI運(yùn)算類型有哪些,?
在了解達(dá)芬奇架構(gòu)的技術(shù)之前,我們先來(lái)弄清楚一下幾種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ì)算過(guò)程中,,標(biāo)量(Scalar),、向量(Vector)、矩陣(Matrix)算力密度依次增加,,對(duì)硬件的AI運(yùn)算能力不斷提出更高要求,。
典型的神經(jīng)網(wǎng)絡(luò)模型計(jì)算量都非常大,這其中99%的計(jì)算都需要用到矩陣乘,,也就是說(shuō),,如果提高矩陣乘的運(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ì)算單元來(lái)完成,。Vector的指令相對(duì)來(lái)說(shuō)非常豐富,可以覆蓋各種基本的計(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)算。這是什么意思呢,?舉例來(lái)說(shuō),,同樣是完成4096次運(yùn)算,2D結(jié)構(gòu)需要64行*64列才能計(jì)算,,3D Cube只需要16*16*16的結(jié)構(gòu)就能算出,。其中,64*64結(jié)構(gòu)帶來(lái)的問(wèn)題是:運(yùn)算周期長(zhǎng),、時(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開(kāi)放,,算子數(shù)量多達(dá)240+,處于業(yè)內(nèi)領(lǐng)先水平,。更多算子,、開(kāi)源框架的支持以及提供更加完備的工具鏈將助力開(kāi)發(fā)者快速轉(zhuǎn)換集成基于不同AI框架開(kāi)發(fā)出的模型,極大地增強(qiáng)了華為HiAI移動(dòng)計(jì)算平臺(tái)的兼容性,、易用性,,提高開(kāi)發(fā)者的效率,節(jié)約時(shí)間成本,,加速更多AI應(yīng)用的落地,。
預(yù)見(jiàn):達(dá)芬奇架構(gòu)解鎖AI無(wú)限可能
基于靈活可擴(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)來(lái)完成,。正是由于達(dá)芬奇架構(gòu)靈活可裁剪,、高能效的特性,才能實(shí)現(xiàn)對(duì)上述多種復(fù)雜場(chǎng)景的AI運(yùn)算處理,。
同時(shí),,選擇開(kāi)發(fā)統(tǒng)一架構(gòu)也是一個(gè)非常關(guān)鍵的決策。統(tǒng)一架構(gòu)優(yōu)勢(shì)很明顯,,那就是對(duì)廣大開(kāi)發(fā)者非常利好,。基于達(dá)芬奇架構(gòu)的統(tǒng)一性,,開(kāi)發(fā)者在面對(duì)云端,、邊緣側(cè)、端側(cè)等全場(chǎng)景應(yīng)用開(kāi)發(fā)時(shí),只需要進(jìn)行一次算子開(kāi)發(fā)和調(diào)試,,就可以應(yīng)用于不同平臺(tái),,大幅降低了遷移成本。不僅開(kāi)發(fā)平臺(tái)語(yǔ)言統(tǒng)一,,訓(xùn)練和推理框架也是統(tǒng)一的,,開(kāi)發(fā)者可以將大量訓(xùn)練模型放在本地和云端服務(wù)器,再將輕量級(jí)的推理工作放在移動(dòng)端設(shè)備上,,獲得一致的開(kāi)發(fā)體驗(yàn),。
在算力和技術(shù)得到突破性提升后,AI將廣泛應(yīng)用于智慧城市,、自動(dòng)駕駛,、智慧新零售、機(jī)器人,、工業(yè)制造,、云計(jì)算AI服務(wù)等場(chǎng)景。華為輪值董事長(zhǎng)徐直軍在2018華為全聯(lián)接大會(huì)上表示,,“全場(chǎng)景意味著可以實(shí)現(xiàn)智能無(wú)所不及,,全棧意味著華為有能力為AI應(yīng)用開(kāi)發(fā)者提供強(qiáng)大的算力和應(yīng)用開(kāi)發(fā)平臺(tái);有能力提供大家用得起,、用得好,、用得放心的AI,實(shí)現(xiàn)普惠AI”,。
未來(lái),,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)的又一款“巨無(wú)霸”將正式商用發(fā)布,這就是最新款的AI芯片Ascend 910,,同時(shí)與之配套的新一代AI開(kāi)源計(jì)算框架MindSpore也將同時(shí)亮相,,敬請(qǐng)關(guān)注