五方面深度解析人工智能芯片
![](http://editerupload.eepw.com.cn/fetch/202211/de89c90c919bf29b8095068ec4ef388c.gif)
目前全世界超過(guò)90%的數(shù)據(jù)都是在過(guò)去的兩三年之內(nèi)產(chǎn)生的。那么隨著人工智能自動(dòng)駕駛、5G云計(jì)算等技術(shù)的不斷發(fā)展,預(yù)計(jì)肯定會(huì)有更多的數(shù)據(jù)會(huì)被源源不斷的產(chǎn)生。一直到2025年,數(shù)據(jù)總量將會(huì)比現(xiàn)在增長(zhǎng)超過(guò)十倍。在這些技術(shù)的發(fā)展中,很大的一部分其實(shí)都是基于對(duì)大數(shù)據(jù)的研究和分析。正因?yàn)槿绱?,有很多人形象的把?shù)據(jù)比作是人工智能時(shí)代的石油。那么為了對(duì)海量的數(shù)據(jù)進(jìn)行處理,基于傳統(tǒng)CPU的計(jì)算結(jié)構(gòu)已經(jīng)不能滿(mǎn)足我們的需求了,我們需要去尋找更強(qiáng)大的硬件和芯片,來(lái)更快更好的完成這些工作。此外,我們也需要去尋找更好的方法。比如采用各種人工智能的模型和算法來(lái)幫助我們對(duì)這些數(shù)據(jù)進(jìn)行分析和處理,并且得到更有意義的結(jié)果。那么這兩者結(jié)合起來(lái),就得到了各種各樣的人工智能芯片。
今天我們就一起來(lái)聊一聊關(guān)于人工智能芯片的幾個(gè)很有意思的事情。比如人工智能芯片究竟有哪些;在實(shí)際的工程和應(yīng)用場(chǎng)景里如何對(duì)人工智能加速芯片來(lái)進(jìn)行一個(gè)比較和選擇;以及各種不同的AI芯片的優(yōu)點(diǎn)和缺點(diǎn)都有哪些?其實(shí)我們?cè)谟懻撊魏螁?wèn)題的時(shí)候,都要圈定一個(gè)討論的范圍,大家都在這個(gè)圈圈里頭來(lái)進(jìn)行討論。這就好比拳擊和格斗比賽一樣,大家需要在擂臺(tái)上進(jìn)行比試,而不能跑到臺(tái)下去打。那么同樣的對(duì)于我們今天要討論的人工智能芯片,其實(shí)他們也有很多不同的應(yīng)用領(lǐng)域。比如我們可以把它分成服務(wù)器端和移動(dòng)端兩大類(lèi),也有很多人把這兩類(lèi)稱(chēng)作云端和終端。
![](http://editerupload.eepw.com.cn/fetch/202211/d23803a202c0dc376cbba66d5f57af09.gif)
事實(shí)上,在這兩類(lèi)應(yīng)用中,人工智能芯片在設(shè)計(jì)要求上其實(shí)有著很大的區(qū)別。比如移動(dòng)端其實(shí)更加注重AI芯片的低功耗、低延時(shí)、低成本。部署在云端的AI芯片可能會(huì)更加注意它的算力、擴(kuò)展能力,以及它對(duì)現(xiàn)有基礎(chǔ)設(shè)施的兼容性等。那么對(duì)于這兩類(lèi)人工智能芯片呢,我們其實(shí)很難對(duì)它們進(jìn)行一個(gè)直接的比較。這就好比有一棵大樹(shù),它的樹(shù)干負(fù)責(zé)支撐這棵樹(shù),并且負(fù)責(zé)運(yùn)輸這個(gè)營(yíng)養(yǎng)物質(zhì)。它的樹(shù)葉其實(shí)負(fù)責(zé)光合作用并且產(chǎn)生營(yíng)養(yǎng)物質(zhì)。所以我們其實(shí)很難比較樹(shù)干或者是樹(shù)葉,它們究竟誰(shuí)更有用?所以我們今天就畫(huà)一個(gè)圈圈,把討論的范圍縮小,我們只來(lái)看一下部署在服務(wù)器端,也就是云端的人工智能芯片的相關(guān)問(wèn)題。
在這里主要對(duì)比四種比較常見(jiàn)的芯片種類(lèi),包括CPU、GPU、ASIC和FPGA。其他的一些比較相對(duì)小眾一些的芯片,比如說(shuō)類(lèi)腦芯片或者是量子芯片等,今天就不討論了。我們現(xiàn)在明確了要討論的領(lǐng)域和對(duì)象,也就是部署在云端的四種常見(jiàn)的芯片。接下來(lái)我們就討論一下通過(guò)什么樣的方式來(lái)衡量和評(píng)價(jià)這些芯片的優(yōu)缺點(diǎn)。
在這里,我就給大家介紹一個(gè)我們?cè)诠こ虒?shí)踐中常用的一個(gè)分析框架。也就是說(shuō)當(dāng)我們考慮在數(shù)據(jù)中心里大量部署人工智能芯片的時(shí)候,通常需要考慮的幾個(gè)重要的因素。首先就是前面提到的算力,也就是芯片的性能。這里的算力其實(shí)有很多的方面,它可以指芯片做浮點(diǎn)運(yùn)算或者是定點(diǎn)數(shù)運(yùn)算的時(shí)候,每秒的運(yùn)算次數(shù)以及這個(gè)芯片的峰值性能或者是平均性能等等。但是我們要注意的是,性能其實(shí)并不是衡量AI芯片好壞的唯一標(biāo)準(zhǔn)。事實(shí)上在很多場(chǎng)合它甚至不是最重要的標(biāo)準(zhǔn)。那么究竟還有哪些考慮的因素呢?
在這個(gè)思維框架里,有五個(gè)主要的衡量因素,除了性能之外,還有靈活性、同構(gòu)性、功耗和成本四點(diǎn)。其中靈活性指的是這個(gè)人工智能芯片對(duì)不同的場(chǎng)景的適應(yīng)程度。也就是說(shuō),這個(gè)芯片能不能用于各種不同的AI算法和應(yīng)用。
![](http://editerupload.eepw.com.cn/fetch/202211/cab25babfd1c6275434a226cea4414bf.gif)
同構(gòu)性這個(gè)詞聽(tīng)起來(lái)好像有些晦澀,但是它實(shí)際指的就是當(dāng)我們大量部署人工智能芯片的時(shí)候,我們能不能利用現(xiàn)有的軟硬件基礎(chǔ)設(shè)施架構(gòu),還是說(shuō)我們要引入很多其他的東西,才能讓這個(gè)人工智能芯片工作。舉個(gè)簡(jiǎn)單的例子,就好比我想給我的電腦外接一個(gè)顯示器,但是如果這個(gè)顯示器的接口是HDMI,你就可以直接和我的電腦相連。但是如果這個(gè)顯示器的接口是VGA或者是DVI或者是雷電3,那么我可能就需要買(mǎi)一個(gè)轉(zhuǎn)接頭才能和我的電腦相連接。這樣我們就說(shuō)這個(gè)顯示器,對(duì)我現(xiàn)有系統(tǒng)的同構(gòu)性不夠好。
成本和功耗其實(shí)就很好理解了。成本指的就是錢(qián)和時(shí)間。當(dāng)然如果我們細(xì)摳的話(huà),還有投入的人力和物力等。還有包括沒(méi)有選擇其他AI芯片所帶來(lái)的機(jī)會(huì)成本。但是歸根到底,其實(shí)都是錢(qián)和時(shí)間。成本其實(shí)包含兩部分,第一部分就是芯片的研發(fā)成本,另一部分就是芯片的部署和運(yùn)維成本。功耗就更好理解了,指的就是某種AI芯片對(duì)數(shù)據(jù)中心帶來(lái)的額外的功耗負(fù)擔(dān)。
我們現(xiàn)在知道了這個(gè)思維框架里的五個(gè)重要的元素,那么現(xiàn)在就可以對(duì)我們之前提到的四種芯片,也就是CPU、GPU、ASIC和FPGA做一個(gè)定性的比較了。
首先我們來(lái)看一下CPU。它仍然是目前數(shù)據(jù)中心里的主要的計(jì)算單元。那么為了支持各種人工智能的應(yīng)用,傳統(tǒng)的CPU的架構(gòu)和指令集也在不斷的迭代和變化。比如英特爾的XEON 至強(qiáng)處理器就引入了所謂的DL-Boost,也就是深度學(xué)習(xí)加速技術(shù),來(lái)加速卷積神經(jīng)網(wǎng)絡(luò)和深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和推理性能。但是相比其他的三種芯片,CPU的AI性能其實(shí)還是有一定的差距。CPU最大的優(yōu)勢(shì)就是它的靈活性和同構(gòu)性。對(duì)于大部分的數(shù)據(jù)中心來(lái)說(shuō),它們其實(shí)都是圍繞著CPU來(lái)進(jìn)行設(shè)計(jì)和建設(shè)的。所以CPU在數(shù)據(jù)中心的部署、運(yùn)維、擴(kuò)展和生態(tài)系統(tǒng)其實(shí)都已經(jīng)非常的成熟了,它的功耗和成本并不算太低,但其實(shí)還是在可以接受的范圍之內(nèi)。
![1668946660962885.png image.png](http://uphotos.eepw.com.cn/1663744867/pics/1668946660962885.png)
接下來(lái)來(lái)看一下GPU。GPU 有著大規(guī)模的并行架構(gòu),因此非常適合對(duì)于數(shù)據(jù)密集型的應(yīng)用來(lái)進(jìn)行計(jì)算和處理。比如深度學(xué)習(xí)的訓(xùn)練過(guò)程。和CPU相比,GPU 的性能會(huì)高幾十倍甚至上千倍。因此業(yè)界很多公司其實(shí)都在使用GPU 對(duì)各種的AI應(yīng)用來(lái)進(jìn)行加速,比如分析和處理圖片、視頻、音頻等等。GPU 的另外一個(gè)主要優(yōu)勢(shì)就是它其實(shí)有一個(gè)非常成熟的編程框架,比如CUDA,這也是GPU 在人工智能時(shí)代得到爆發(fā)的最主要原因之一。但是,GPU 最大的問(wèn)題就是它的功耗。比如英偉達(dá)的P100 、V100和A100的GPU 的功耗都在250瓦到400瓦之間。對(duì)于FPGA或者ASIC的幾十瓦甚至幾瓦的功耗而言,這個(gè)數(shù)字顯得過(guò)于的驚人了,而對(duì)于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練來(lái)說(shuō),它往往需要大量的GPU 集群來(lái)提供充足的算力。這樣一來(lái)呢一個(gè)機(jī)柜的功耗可能就會(huì)超過(guò)幾十千瓦。這就需要數(shù)據(jù)中心為它修改供電和散熱等結(jié)構(gòu)。比如傳統(tǒng)的數(shù)據(jù)中心大都依靠風(fēng)冷來(lái)散熱,但是如果要部署GPU ,就很可能要改成水冷散熱。那么對(duì)于大多數(shù)數(shù)據(jù)中心來(lái)說(shuō),這都是一筆巨大的開(kāi)銷(xiāo)。伴隨著高功耗其實(shí)更大的問(wèn)題就是高昂的電費(fèi)開(kāi)支。所以對(duì)于GPU 在數(shù)據(jù)中心里的大規(guī)模部署,我們通??紤]的是它所能帶來(lái)的算力的優(yōu)勢(shì)能否抵消它帶來(lái)的額外的電費(fèi)。
下面再來(lái)看一下ASIC,也就是所謂的人工智能專(zhuān)用芯片。這里的典型代表就是谷歌AiphaGo里使用的TPU,它在AiphaGo里替代了1000多個(gè)CPU和上百個(gè)GPU。在我們的衡量體系里,這個(gè)人工智能專(zhuān)用芯片的各項(xiàng)指標(biāo)其實(shí)都非常的極端。比如它有著極高的性能和極低的功耗,和GPU 相比,它的性能可能會(huì)高10倍。功耗會(huì)低100倍,但是研發(fā)這樣的芯片其實(shí)有著極高的成本和風(fēng)險(xiǎn)。和軟件開(kāi)發(fā)不同,芯片的開(kāi)發(fā)需要投入大量的人力和物力開(kāi)發(fā)周期往往長(zhǎng)達(dá)數(shù)年。而且失敗的風(fēng)險(xiǎn)極大。放眼全球呢,同時(shí)擁有雄厚的資金實(shí)力和技術(shù)儲(chǔ)備,來(lái)進(jìn)行人工智能芯片開(kāi)發(fā)的公司其實(shí)大概用兩只手就能數(shù)得出來(lái)。也就是說(shuō),這種方法可能對(duì)于很多公司來(lái)說(shuō)并沒(méi)有實(shí)際的借鑒意義。
此外,AI專(zhuān)用芯片的靈活度往往比較低,顧名思義包括谷歌TPU在內(nèi)的人工智能專(zhuān)用芯片。通常是針對(duì)某些具體的應(yīng)用來(lái)進(jìn)行開(kāi)發(fā)的,那么它可能不能適用于其他的應(yīng)用場(chǎng)景。從使用成本的角度來(lái)看,如果我們要使用基于ASIC的方案,就需要我們的目標(biāo)應(yīng)用,有足夠大的使用量來(lái)分?jǐn)偢甙旱难邪l(fā)成本。同時(shí)這類(lèi)應(yīng)用應(yīng)該要足夠穩(wěn)定,來(lái)避免核心的算法或者協(xié)議不斷的變化。而這對(duì)于很多的AI應(yīng)用來(lái)說(shuō)是不現(xiàn)實(shí)的。值得一提的是,我國(guó)在人工智能專(zhuān)用芯片領(lǐng)域其實(shí)涌現(xiàn)出來(lái)了很多優(yōu)秀的公司,比如寒武紀(jì)、地平線(xiàn),包括之前被賽克斯收購(gòu)的深鑒科技等等。
![1668946678144959.png image.png](http://uphotos.eepw.com.cn/1663744867/pics/1668946678144959.png)
最后我們?cè)賮?lái)說(shuō)一下FPGA。我個(gè)人認(rèn)為FPGA 能夠在這些性能指標(biāo)中達(dá)到一個(gè)比較理想的平衡。在性能方面FPGA 可以實(shí)現(xiàn)定制化的硬件流水線(xiàn),并且可以在硬件層面進(jìn)行大規(guī)模的并行運(yùn)算,而且有著很高的吞吐量。其實(shí)FPGA最主要的特點(diǎn)就是它的靈活性。它可以很好的應(yīng)對(duì),包括計(jì)算密集型和通信密集型在內(nèi)的很多種應(yīng)用。此外FPGA有著動(dòng)態(tài)可編程和部分可編程的特點(diǎn)。也就是說(shuō),F(xiàn)PGA可以在同時(shí)處理多個(gè)應(yīng)用,或者是在不同的時(shí)刻處理多個(gè)不同的應(yīng)用。這其實(shí)和CPU比較類(lèi)似但是FPGA的性能其實(shí)要遠(yuǎn)超于CPU。在數(shù)據(jù)中心里,FPGA通常是以加速卡的形式來(lái)配合現(xiàn)有的CPU來(lái)進(jìn)行大規(guī)模的部署。FPGA的功耗通常只有幾十瓦,那么對(duì)于額外的供電或者是散熱等環(huán)節(jié)沒(méi)有特殊的需求。因此可以兼容現(xiàn)有的數(shù)據(jù)中心的基礎(chǔ)設(shè)施架構(gòu)。
![](http://editerupload.eepw.com.cn/fetch/202211/a1be8dbf46cfc82d58e67463e0bcdf5d.gif)
那么在衡量AI芯片的時(shí)候,我們也經(jīng)常使用性能功耗比這個(gè)指標(biāo)。也就是說(shuō)即使你的性能非常高,但是如果你的功耗也很高,那么你的性能功耗比就很低。這也就是FPGA相比于GPU 的優(yōu)勢(shì)所在。那么在開(kāi)發(fā)成本方面,F(xiàn)PGA 的一次性成本其實(shí)要遠(yuǎn)低于ASIC,這是因?yàn)镕PGA在制造出來(lái)之后,可以通過(guò)不斷的編程來(lái)改變它上面的邏輯功能。而ASIC在流片之后,它的功能就確定了。如果你要改變它的功能,就需要再進(jìn)行流片,而這個(gè)過(guò)程會(huì)非常的昂貴。這也是為什么像包括深鑒科技在內(nèi)的很多AI芯片初創(chuàng)公司都選擇使用FPGA作為實(shí)現(xiàn)的平臺(tái)的主要原因。所以說(shuō)相比于其他的硬件加速單元來(lái)說(shuō),F(xiàn)PGA在性能、靈活度、同構(gòu)性、成本和功耗五個(gè)方面取得了比較理想的平衡。這就是為什么微軟最終選擇了FPGA,并在數(shù)據(jù)中心里進(jìn)行大規(guī)模部署的主要原因。
![1668946700523737.png image.png](http://uphotos.eepw.com.cn/1663744867/pics/1668946700523737.png)
最后我們總結(jié)一下這篇文章的主要內(nèi)容。我們討論了人工智能芯片的主要分類(lèi),比如按照使用場(chǎng)景分可以分為服務(wù)器端和終端兩大類(lèi);介紹了四種可以用來(lái)執(zhí)行人工智能應(yīng)用的芯片,也就是CPU、GPU、ASIC和FPGA;還根據(jù)一個(gè)思維框架,從性能、靈活性、同構(gòu)性、功耗和成本五個(gè)方面分別衡量了這四種芯片的優(yōu)缺點(diǎn)。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。