8月22日消息 此前,華為正式推出了麒麟810芯片,這款芯片采用華為自研的達芬奇架構,其AI得分在蘇黎世聯(lián)邦理工學(xué)院推出的AI Benchmark榜單中位列前三。

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