深度解讀達(dá)芬奇架構(gòu):華為AI芯片的“秘密武器”
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)舉足輕重。
本文引用地址:http://m.butianyuan.cn/article/201908/404085.htm那么,達(dá)芬奇架構(gòu)AI實(shí)力究竟怎么樣?一起來深入了解下。
源起:為什么要做達(dá)芬奇架構(gòu)?
華為預(yù)測,到2025年全球的智能終端數(shù)量將會(huì)達(dá)到400億臺(tái),智能助理的普及率將達(dá)到90%,企業(yè)數(shù)據(jù)的使用率將達(dá)到86%。可以預(yù)見,在不久的將來,AI將作為一項(xiàng)通用技術(shù)極大地提高生產(chǎn)力,改變每個(gè)組織和每個(gè)行業(yè)。
基于這樣的愿景,華為在2018全聯(lián)接大會(huì)上提出全棧全場景AI戰(zhàn)略。作為重要的技術(shù)基礎(chǔ),AI芯片在其中發(fā)揮著重要作用,而華為也基于AI芯片提供了完整的解決方案,加速使能AI產(chǎn)業(yè)化。
為了實(shí)現(xiàn)AI在多平臺(tái)多場景之間的協(xié)同,華為創(chuàng)新設(shè)計(jì)達(dá)芬奇計(jì)算架構(gòu),在不同體積和功耗條件下提供強(qiáng)勁的AI算力。
初見:達(dá)芬奇架構(gòu)的核心優(yōu)勢
達(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í)的提升。
同時(shí),為了提升AI計(jì)算的完備性和不同場景的計(jì)算效率,達(dá)芬奇架構(gòu)還集成了向量、標(biāo)量、硬件加速器等多種計(jì)算單元。同時(shí)支持多種精度計(jì)算,支撐訓(xùn)練和推理兩種場景的數(shù)據(jù)精度要求,實(shí)現(xiàn)AI的全場景需求覆蓋。
深耕:達(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)的首次亮相。
其中,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)勢是什么?
不同于以往的標(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。
華為創(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)用場景,可用于小到幾十毫瓦,大到幾百瓦的訓(xùn)練場景,橫跨全場景提供最優(yōu)算力。
以Ascend芯片為例,Ascend-Nano可以用于耳機(jī)電話等IoT設(shè)備的使用場景;Ascend-Tiny和Ascend-Lite用于智能手機(jī)的AI運(yùn)算處理;在筆記本電腦等算力需求更高的便攜設(shè)備上,由Ascend-Mini提供算力支持;而邊緣側(cè)服務(wù)器上則需要由Multi-Ascend 310完成AI計(jì)算;至于超復(fù)雜的云端數(shù)據(jù)運(yùn)算處理,則交由算力最高可達(dá)256 TFLOPS@FP16的Ascend-Max來完成。
正是由于達(dá)芬奇架構(gòu)靈活可裁剪、高能效的特性,才能實(shí)現(xiàn)對(duì)上述多種復(fù)雜場景的AI運(yùn)算處理。
同時(shí),選擇開發(fā)統(tǒng)一架構(gòu)也是一個(gè)非常關(guān)鍵的決策。統(tǒng)一架構(gòu)優(yōu)勢很明顯,那就是對(duì)廣大開發(fā)者非常利好。基于達(dá)芬奇架構(gòu)的統(tǒng)一性,開發(fā)者在面對(duì)云端、邊緣側(cè)、端側(cè)等全場景應(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ù)等場景。華為輪值董事長徐直軍在2018華為全聯(lián)接大會(huì)上表示,“全場景意味著可以實(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)用場景提供澎湃算力。
8月23日,采用達(dá)芬奇架構(gòu)的又一款“巨無霸”——AI芯片Ascend 910,將正式商用發(fā)布,與之配套的新一代AI開源計(jì)算框架MindSpore也將同時(shí)亮相。
評(píng)論