博客專欄

EEPW首頁(yè) > 博客 > 華為昇騰AI芯片,你了解多少?

華為昇騰AI芯片,你了解多少?

發(fā)布人:電巢 時(shí)間:2022-11-24 來(lái)源:工程師 發(fā)布文章
image.png


今天我們來(lái)聊一聊華為的昇騰AI處理器。首先我們來(lái)簡(jiǎn)單說(shuō)一下為什么需要人工智能芯片。那么對(duì)于近年來(lái)人工智能技術(shù)的突破性發(fā)展,業(yè)界普遍認(rèn)為有三個(gè)主要的推動(dòng)力量,一個(gè)是海量數(shù)據(jù)的產(chǎn)生和累積;一個(gè)是理論算法的創(chuàng)新;還有一個(gè)就是計(jì)算技術(shù)的變革。那么數(shù)據(jù)、算力和算法這三點(diǎn)是相互結(jié)合,缺一不可的。如果我們把人工智能技術(shù)的發(fā)展比作是一個(gè)正在起飛的火箭,那么大數(shù)據(jù)就是它的燃料,算法和理論就是用來(lái)控制它的飛行軌跡和姿態(tài),計(jì)算技術(shù)則是它持續(xù)爆發(fā)的引擎。那么為了讓這個(gè)火箭飛得更高,飛得更遠(yuǎn),我們就需要不斷的獲取更多的數(shù)據(jù),并且不斷的創(chuàng)造和改進(jìn)我們的算法模型和理論。來(lái)對(duì)這些數(shù)據(jù)進(jìn)行更有效的處理、分析和利用。此外,我們還要不斷的升級(jí)計(jì)算的能力,從而在更短的時(shí)間內(nèi)處理更多的數(shù)據(jù)。那么承載這一切發(fā)展最重要的基礎(chǔ)就是芯片,特別是人工智能芯片。


接下來(lái),我們重點(diǎn)看一下人工智能專用芯片,特別是華為的昇騰AI處理器的相關(guān)技術(shù)內(nèi)容。聊一聊昇騰系列處理器的一些技術(shù)特點(diǎn),包括硬件架構(gòu)、軟件架構(gòu),以及圍繞這個(gè)昇騰處理器構(gòu)建的生態(tài)系統(tǒng)的一些內(nèi)容。

首先,我們來(lái)看一下昇騰AI芯片的硬件架構(gòu)。這里說(shuō)的昇騰AI 處理器其實(shí)有兩個(gè),一個(gè)是2018年發(fā)布的昇騰310,它主要針對(duì)的是推理應(yīng)用;另一個(gè)是2019年發(fā)布的針對(duì)訓(xùn)練應(yīng)用的昇騰910。值得注意的是,作為人工智能專用芯片,它們都是為了特定的領(lǐng)域進(jìn)行設(shè)計(jì)和深度優(yōu)化的。這也是像昇騰這樣的專用芯片,區(qū)別于CPU、GPU這些通用芯片的最主要的方面。那么在AI系統(tǒng)中,又繼續(xù)分成訓(xùn)練和推斷這兩個(gè)過(guò)程。


比如昇騰910主要針對(duì)的就是在云端的AI訓(xùn)練應(yīng)用,所以芯片的性能,也就是算力的大小,就是它優(yōu)化的重點(diǎn)。因此它使用7納米工藝進(jìn)行制造。FP16算力可以達(dá)到256TFLOPS, INT8算力高達(dá)512 TOPS,同時(shí)支持128通道的全高清視頻解碼。這些性能呢其實(shí)都超過(guò)了同時(shí)期的GPU,比如英偉達(dá)的V100。那么為了實(shí)現(xiàn)這么高的算力,它最高的功耗是310瓦和GPU基本處于一個(gè)量級(jí)。相比之下昇騰310針對(duì)的是推理場(chǎng)景,主要是應(yīng)用在移動(dòng)端。

所以這就需要對(duì)性能和功耗進(jìn)行一定的平衡。因?yàn)槲覀兓静豢赡茉诓渴鹬悄軘z像頭,無(wú)人駕駛車輛,或者是我們的手機(jī)或者手表里, 放一個(gè)有幾百瓦功耗的AI芯片,同時(shí)對(duì)于一些邊緣計(jì)算的場(chǎng)景,對(duì)芯片使用成本的限制,以及芯片本身的實(shí)時(shí)性、安全性等等也都是重要的考慮因素。所以結(jié)合這些需求呢,昇騰310采用的是12納米工藝進(jìn)行制造,最大的功耗僅為8瓦。那么在性能方面,它的FP16算力達(dá)到了8TFLOPS,INT8算力可以達(dá)到16 TOPS,同時(shí)也集成了16通道的全高清視頻****。那么這些在邊緣計(jì)算領(lǐng)域其實(shí)已經(jīng)是很高的算力了。

image.png


現(xiàn)在很多芯片的結(jié)構(gòu)其實(shí)都是以片上系統(tǒng)的形式進(jìn)行設(shè)計(jì)和開(kāi)發(fā)的。我們拿蛋糕舉個(gè)例子。也就是在一個(gè)盒子里裝了很多不同的小蛋糕,而不是直接做一個(gè)特別大的蛋糕。比如每個(gè)小蛋糕都可以分別做,還可以做不同的口味、大小,最后呢整合在一起就行了,這樣既節(jié)省了制作的時(shí)間,也降低了制作的風(fēng)險(xiǎn)和成本。那么同樣的華為昇騰AI芯片,它的本質(zhì)也是一個(gè)片上系統(tǒng)。在芯片上有很多不同的模塊,也就是前面說(shuō)的這些小蛋糕組成的。他們有的負(fù)責(zé)數(shù)據(jù)存儲(chǔ),有的負(fù)責(zé)接口和通信,有的負(fù)責(zé)任務(wù)的調(diào)度和控制。當(dāng)然還有最重要的就是負(fù)責(zé)AI運(yùn)算的這些計(jì)算核心。

那么從硬件結(jié)構(gòu)來(lái)看昇騰AI芯片,最主要的特點(diǎn)就是它的AI核心采用了華為自研的達(dá)芬奇架構(gòu)。包括昇騰910和昇騰310。其實(shí)都是使用了基于達(dá)芬奇架構(gòu)的AI核心??傮w來(lái)說(shuō),達(dá)芬奇架構(gòu)可以分為三個(gè)主要的組成部分,分別對(duì)應(yīng)數(shù)據(jù)的計(jì)算、存儲(chǔ)和控制。那么拿這個(gè)計(jì)算單元來(lái)說(shuō),它可以執(zhí)行標(biāo)量、向量和張量三種基礎(chǔ)的運(yùn)算。比如張量運(yùn)算就是專門(mén)用來(lái)加速AI應(yīng)用中的矩陣運(yùn)算。它也就叫做所謂的3D Cube 單元,它可以用一條指令完成兩個(gè)16乘16的矩陣的相乘運(yùn)算。

那么除了芯片的硬件結(jié)構(gòu)之外,同樣非常重要的就是芯片編程的方法和軟件架構(gòu)的設(shè)計(jì)和實(shí)現(xiàn)。英偉達(dá)GPU之所以在人工智能領(lǐng)域大放異彩,并且得到非常廣泛的應(yīng)用,GPU芯片的性能提升固然重要。但是更重要的是,它推出了成熟且易用的編程框架CUDA。相比之下FPGA的編程難度極大,這也在很大程度上限制了FPGA的廣泛使用。那么對(duì)于這種AI專用芯片,昇騰AI處理器也提供了一個(gè)多層的軟件棧和開(kāi)發(fā)工具鏈,來(lái)幫助開(kāi)發(fā)者更好的使用昇騰。通過(guò)軟件的多樣性,也能在很大程度上彌補(bǔ)專用芯片靈活性不足的劣勢(shì)。

image.png


這個(gè)軟件??梢苑譃?層,最底下的是處理器的計(jì)算資源。比如前面提到的AI核心、CPU,還有負(fù)責(zé)數(shù)字視覺(jué)的計(jì)算模塊等等;再往上是一些標(biāo)準(zhǔn)的加速庫(kù),負(fù)責(zé)給硬件輸出算子層面的任務(wù),此外還有任務(wù)調(diào)度器和一些預(yù)處理的模塊;然后再往上就是框架層,顧名思義它就是用來(lái)調(diào)度和管理深度學(xué)習(xí)框架,并且生成離線模型用的。值得注意的是昇騰AI處理器不僅支持主流的深度學(xué)習(xí)框架,還支持華為自研的名叫MindSpore的深度學(xué)習(xí)框架。那么通過(guò)MindSpore的深度學(xué)習(xí)框架產(chǎn)生的神經(jīng)網(wǎng)絡(luò)模型,可以直接運(yùn)行在昇騰AI芯片上,而無(wú)需進(jìn)行硬件的適配和轉(zhuǎn)換,這就極大的提升了開(kāi)發(fā)效率。這個(gè)軟件棧的最后一層就是應(yīng)用層,它的抽象程度最高,封裝集成了很多專用領(lǐng)域的計(jì)算引擎,比如針對(duì)計(jì)算機(jī)視覺(jué),還有針對(duì)語(yǔ)言文字處理的算法封裝等等。用戶也可以直接拿過(guò)來(lái)進(jìn)行調(diào)用。那么除了這幾個(gè)大的邏輯層次之外呢,昇騰的軟件棧還提供了一個(gè)完整的開(kāi)發(fā)工具鏈MindStudio ,包括編譯、調(diào)試、性能分析、模型轉(zhuǎn)換等等。


介紹了硬件架構(gòu)和軟件棧,我們還需要最后一個(gè)大的環(huán)節(jié)來(lái)完成整個(gè)生態(tài)的閉環(huán),那就是提供結(jié)合軟硬件的系統(tǒng)級(jí)解決方案。這個(gè)其實(shí)是一個(gè)目前芯片界的發(fā)展趨勢(shì)。那么不管你是CPU、GPU、FPGA,還是像這樣的AI專用芯片,其實(shí)都是在遵循這個(gè)規(guī)律進(jìn)行發(fā)展。簡(jiǎn)單來(lái)說(shuō)呢,就是芯片公司不僅要提供牛逼的芯片,除此之外他們還需要提供好用的軟件和開(kāi)發(fā)工具。 就像前面介紹的軟件棧,再然后呢,你最好還要提供完整的參考設(shè)計(jì)以及軟硬件系統(tǒng),讓大家拿過(guò)來(lái)就能用。同樣的昇騰也提供了一系列的硬件產(chǎn)品。從最小的加速模塊到推理或者是訓(xùn)練用的加速卡,再到專用的服務(wù)器,甚至是由多個(gè)服務(wù)器陣列組成的計(jì)算集群,這樣也構(gòu)建了一個(gè)涵蓋終端邊緣以及云計(jì)算產(chǎn)品的產(chǎn)品組合,使得用戶可以根據(jù)自身的實(shí)際需要選擇合適的硬件產(chǎn)品。這個(gè)也就是華為所說(shuō)的全場(chǎng)景覆蓋。

最后來(lái)總結(jié)一下今天的主要內(nèi)容。我們從硬件、軟件和生態(tài)三個(gè)角度介紹了華為的昇騰AI芯片。我們還深入的探討了華為自研的達(dá)芬奇架構(gòu)以及MindSpore 深度學(xué)習(xí)框架的一些技術(shù)特點(diǎn)。同時(shí)我們也看了一些業(yè)界的發(fā)展趨勢(shì),也就是以硬件為基礎(chǔ),通過(guò)軟件擴(kuò)展靈活性和易用性。然后圍繞軟硬件去打造系統(tǒng)級(jí)的解決方案,并且由此構(gòu)建一個(gè)完整的生態(tài)系統(tǒng)。


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: AI 芯片

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉