0
本文作者: 吳京鴻 | 2019-07-26 18:10 |
【大咖Live】 人工智能與芯片專場(chǎng)第二期,我們邀請(qǐng)到了Open AI Lab的Tengine產(chǎn)品生態(tài)總監(jiān)高錦煒,帶來(lái)了關(guān)于《AIoT芯片的發(fā)展趨勢(shì)與應(yīng)用落地》的主題直播分享。目前,本期分享音頻及全文實(shí)錄已上線,「AI投研邦」會(huì)員可進(jìn)雷鋒網(wǎng)(公眾號(hào):雷鋒網(wǎng))「AI投研邦」頁(yè)面免費(fèi)查看。
本文對(duì)這期分享進(jìn)行部分要點(diǎn)總結(jié)及PPT整理,以幫助大家提前清晰地了解本場(chǎng)分享重點(diǎn)。
分享提綱
1 傳統(tǒng)芯片 VS AI芯片;
2 AI芯片的痛點(diǎn) -- 從零開(kāi)始的軟件開(kāi)發(fā)工具;
3 應(yīng)用開(kāi)發(fā)痛點(diǎn) -- 芯片碎片化;
4.Tengine開(kāi)放的AIoT軟件開(kāi)發(fā)平臺(tái)。
以下為Open AI Lab的Tengine產(chǎn)品生態(tài)總監(jiān)高錦煒的部分直播分享實(shí)錄,【AI投研邦】在不改變?cè)獾幕A(chǔ)上做了整理和精編。完整分享內(nèi)容請(qǐng)關(guān)注【AI投研邦】會(huì)員內(nèi)容。
歡迎大家來(lái)雷鋒網(wǎng)參加我的講座,我本次講座主題是AIoT芯片的發(fā)展趨勢(shì)與應(yīng)用落地。首先先自我介紹一下的,我叫高錦煒,是Open AI Lab的Tengine產(chǎn)品生態(tài)總監(jiān)。我之前是嵌入式的AI技術(shù)專家,之前曾在arm擔(dān)任技術(shù)市場(chǎng)經(jīng)理,負(fù)責(zé)arm技術(shù)的推廣,所以我之前是屬于芯片行業(yè)的,所以對(duì)AI芯片這一塊了解比較多,然后現(xiàn)在是投身于AI軟件的應(yīng)用開(kāi)發(fā)與落地,所以也比較懂應(yīng)用,因此這次給大家分享這個(gè)主題。
這次的主題是AIoT芯片和應(yīng)用落地,不知道大家看到這個(gè)標(biāo)題怎么想的,其實(shí)芯片與應(yīng)用落地這是跨度非常大的兩件事情,因?yàn)樾酒翘幱诩夹g(shù)上面產(chǎn)業(yè)鏈上非常上游的技術(shù)產(chǎn)品,而商業(yè)應(yīng)用落地則是非常下游的偏商業(yè)和工程化的一件事。所以其實(shí)兩件事情跨度非常大,我盡量深入淺出給大家解釋清楚當(dāng)前AI芯片以及落地的一個(gè)情況。
首先先給大家解釋一下,AIoT這個(gè)詞的話今年應(yīng)該算是非常熱門的一個(gè)詞了,他是AI加LoT的這么一個(gè)概念,AI是人工智能,LoT是物聯(lián)網(wǎng),那么Ai+LoT的加起來(lái)即,萬(wàn)物互聯(lián)同時(shí)的每一個(gè)物體它又有一定的AI的智慧能力,能夠進(jìn)行l(wèi)ogo的存儲(chǔ)數(shù)據(jù),那么當(dāng)AI和LoT技術(shù)結(jié)合起來(lái)的時(shí)候,看到會(huì)有一個(gè)技術(shù)的大爆發(fā)。所以首先先來(lái)給大家分享一則今天看到很有意思的新聞,就是哥倫比亞大學(xué)一個(gè)博士后斯蒂芬J cook,他在他發(fā)表1篇論文地刊登在了nature的封面上面,論文的內(nèi)容是說(shuō)他花了八年時(shí)間手繪繪制了一個(gè)現(xiàn)成的神經(jīng)的圖譜。
其實(shí)這是非常有益的一件事情。是因?yàn)槟壳叭斯ぶ悄苤皇巧窠?jīng)網(wǎng)絡(luò)這么一個(gè)科學(xué),其實(shí)它最這背后的科學(xué)原理,人們并沒(méi)有真正地參透,目前人類只是從工程學(xué)的角度發(fā)現(xiàn)通過(guò)仿生學(xué)的神經(jīng)網(wǎng)絡(luò),通過(guò)這種方式去編程,能達(dá)到非常好的效果,那么就再去使用了,背后的原理其實(shí)一直不清楚。那么這次的話線蟲它的一個(gè)特殊點(diǎn)在于就是說(shuō)它的整體的神經(jīng)結(jié)構(gòu)非常簡(jiǎn)單,它就只有一千個(gè)細(xì)胞,其中大約1/3也就300個(gè)是腦細(xì)胞,也就是神經(jīng)元,然后所有的神經(jīng)元連接只有7000個(gè),那么其實(shí)是一個(gè)對(duì)我們來(lái)說(shuō)已經(jīng)是一個(gè)比較簡(jiǎn)單的神經(jīng)網(wǎng)。
通過(guò)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),300個(gè)神經(jīng)元加7000個(gè)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),就控制線蟲它的運(yùn)動(dòng)飲食,然后屈光閉光,還有升值等等特性,整個(gè)生命的體系就這幾百個(gè)神經(jīng)來(lái)控制。那么其實(shí)如果說(shuō)我們能夠通過(guò)研究現(xiàn)成的神經(jīng)系統(tǒng)系統(tǒng),能夠發(fā)現(xiàn)整個(gè)神經(jīng)網(wǎng)絡(luò)它運(yùn)行的奧秘的話,對(duì)于整個(gè)神經(jīng)網(wǎng)絡(luò)科學(xué)的發(fā)展是非常有意義的。這個(gè)論文的鏈接就我在PPT里放出來(lái)了,大家可以直接搜一下,感興趣的話可以讀一下英文原文,我覺(jué)得還是非常有意義的。
好,我們來(lái)看一下今天的正題。首先的話我想給大家這邊先簡(jiǎn)單的科普一下,什么是AI計(jì)算?因?yàn)锳I這個(gè)詞的話,如果只是通過(guò)簡(jiǎn)單的媒體上面來(lái)看的話,這個(gè)詞應(yīng)該是一個(gè)比較高深的。但是因?yàn)槲医裉旆窒碇黝}是AI芯片的設(shè)計(jì)與落地,并且這邊的小編要求我說(shuō)能夠最好講一些比較技術(shù)化的落地接地氣的東西,所以我就只能這邊深入淺出的給大家講介紹一下AI計(jì)算原理。
接著之前線蟲的例子說(shuō)它總共有300多個(gè)神經(jīng)元,7000多個(gè)神經(jīng)鏈接,每一個(gè)神經(jīng)元的話,其實(shí)就是在看我PPT里面左上角長(zhǎng)成這樣的,大家應(yīng)該高中或初中生我都學(xué)過(guò),就是一個(gè)神經(jīng)元它有很多突觸然后突觸可以接受來(lái)自其它神經(jīng)元的一個(gè)新興奮,然后當(dāng)他接觸到興奮然后并且超過(guò)一個(gè)閾值的時(shí)候,它就會(huì)把興奮傳遞給下一個(gè)神經(jīng)元,那么這就是整個(gè)神經(jīng)網(wǎng)絡(luò)里面的最基本的一個(gè)單元神經(jīng)元。
其實(shí)這是很有意思的一件事情,就是說(shuō)就通過(guò)有成千上萬(wàn),甚至上億個(gè)這種神經(jīng)元的這么一個(gè)連接,能夠就可以讓人類完成非常復(fù)雜的,甚至是思考人生哲理這樣的問(wèn)題。那么這么好用的神經(jīng)元方式的話,那么我們這一次我們這一波的人工智能的浪潮里面究竟是如何去仿生和實(shí)現(xiàn)功能的基本原理的話,大家可以看我的PPT里面左下角這個(gè)圖左下角這個(gè)圖,這個(gè)公式就是可以看到什么?
這個(gè)其實(shí)就是一個(gè)神經(jīng)元的數(shù)學(xué)建模。其實(shí)我不太想講公式,但是我相信大家理解這個(gè)公式還是非常有必要的!這對(duì)理解后面的整體的演講都大家可以看,就是說(shuō)左下角這個(gè)圖里面,我們可以想象成a1到ak其實(shí)它都是來(lái)自其它神經(jīng)元的這么一個(gè)興奮的傳導(dǎo)。然后WE到WK則是對(duì)應(yīng)的是每個(gè)神經(jīng)元它有一個(gè)興奮的一個(gè)權(quán)重值,那么當(dāng)你興奮傳導(dǎo)的時(shí)候乘以權(quán)重值,然后把它累加起來(lái),那么就是神經(jīng)元接受到了總體的興奮,當(dāng)神經(jīng)元它接收到所有興奮的超過(guò)它本身有個(gè)閾值之后,那么它自己就會(huì)產(chǎn)生興奮,并且把這個(gè)興奮傳遞下去,那么這是可以看到這個(gè)函數(shù)最右邊的輸出A值,也就是這邊寫的Z然后通過(guò)一個(gè)Activation function的方式就是激活函數(shù),當(dāng)超過(guò)某個(gè)閾值的時(shí)候,它就會(huì)輸出A的興奮。
這就是通過(guò)以數(shù)學(xué)的方式來(lái)模擬神經(jīng)元那么那種興奮傳導(dǎo)。那么為什么要等這個(gè)公式?因?yàn)檎?qǐng)大家看一下,就是說(shuō)這邊Z的計(jì)算是通過(guò)A乘W1,然后再加上A2乘W2,有非常多的有K個(gè)成累加,就是乘法的結(jié)果,并且把它累加起來(lái)算出那個(gè)結(jié)果。所以就是說(shuō)一個(gè)神經(jīng)元它就包含了K個(gè)乘累加操作。乘累加這個(gè)概念大家一定要記住,因?yàn)楹竺娴脑挄?huì)多反復(fù)多次提到這個(gè)概念。
左下角這個(gè)方框只是解釋了說(shuō)一個(gè)神經(jīng)元,我剛才提到是說(shuō)我們線蟲它有300多個(gè)神經(jīng)元,并且是相互連接的,那么這個(gè)連接,就可以看到我PPT右上角那個(gè)圖,這個(gè)右上角圖的話是可以看到中間每一個(gè)小圓圈,無(wú)論是藍(lán)色、紅色還是綠色,其實(shí)就是一個(gè)神經(jīng)元。這個(gè)神經(jīng)元會(huì)接受來(lái)自于它左邊那一層的各個(gè)神經(jīng)元的刺激,同時(shí)它會(huì)傳導(dǎo)出興奮下給它右邊的神經(jīng)元。
可以看到在這張圖里面的話它有一層一層,每一層有多個(gè)神經(jīng)元,然后通過(guò)這種方式就可以產(chǎn)生一個(gè)神經(jīng)元的級(jí)聯(lián),它層次非常多,我們管它叫深度,那么這就是深度神經(jīng)網(wǎng)絡(luò)的一個(gè)基本的數(shù)學(xué)模型。可以看到就是說(shuō)一個(gè)神經(jīng)元它又有K個(gè)乘累加,那么有這么多神經(jīng)元它就會(huì)有非常多乘累加。所以右上角這張圖就是代表是神經(jīng)元級(jí)別的一個(gè)數(shù)學(xué)建模,在實(shí)際應(yīng)用場(chǎng)景里面,我們并優(yōu)化找著這樣的模型,簡(jiǎn)單的DNN就是深度神經(jīng)網(wǎng)絡(luò),實(shí)際使用的話,我們都會(huì)用復(fù)雜多的網(wǎng)絡(luò),那么右下角這張圖其實(shí)是從非常經(jīng)典的,就是這一波人工智能興起的開(kāi)山鼻祖的論文,里面摘出來(lái)的它的網(wǎng)絡(luò)結(jié)構(gòu)的拓?fù)鋱D。大家可以看到就是說(shuō)這里面首先它分了很多層,總共有八層三個(gè)五個(gè)卷積層,三個(gè)全列間層,然后參與層之間都是神經(jīng)元的鏈接,然后每一層都有幾百個(gè)神經(jīng)元,那么整個(gè)網(wǎng)絡(luò)它總共有60兆,也就是60個(gè)百萬(wàn)的參數(shù)。
整個(gè)進(jìn)行這么一次前向計(jì)算會(huì)有720兆的一個(gè)復(fù)檢操作。720兆附件操作計(jì)算完了之后,他可以做什么?它可以識(shí)別,對(duì)一張圖像進(jìn)行分類識(shí)別,這是不是一個(gè)貓,識(shí)別這是不是一個(gè)蘋果、一輛自行車、一個(gè)汽車等等。就是說(shuō)這其實(shí)是做一個(gè)分類操作,是神經(jīng)網(wǎng)絡(luò)里面最簡(jiǎn)單的一個(gè)操作,因?yàn)锳lexNet網(wǎng)絡(luò)有720兆個(gè)Flops的操作,這是非常多的一個(gè)計(jì)算,那么為什么要強(qiáng)調(diào)這個(gè)概念?就是因?yàn)樵谏窠?jīng)網(wǎng)絡(luò)計(jì)算中會(huì)有那么多乘累加操作,所以傳統(tǒng)的計(jì)算機(jī)形態(tài)已經(jīng)不適合去做這樣的運(yùn)算了。為什么不適合這邊再給大家就說(shuō)就是720兆,那么假設(shè)你用一個(gè)1G赫茲的,然后一個(gè)周期能做四個(gè)乘累加運(yùn)算的這么一個(gè)cpu的話,它要總共去運(yùn)行180毫秒,他才能夠進(jìn)行一次前向計(jì)算,180毫秒的話差不多如果你算下來(lái)就只有六幀的一個(gè)識(shí)別速度,那么在很多應(yīng)用場(chǎng)景其實(shí)是不滿足需求的。
我相信經(jīng)過(guò)這樣介紹的話,大家應(yīng)該對(duì)神經(jīng)網(wǎng)絡(luò)計(jì)算有一個(gè)感性的認(rèn)識(shí),就是兩點(diǎn),首先它是模仿神經(jīng)元的,其次它有非常多的乘累加運(yùn)算。所以這邊就拋出一個(gè)基本的概念,就是說(shuō)傳統(tǒng)芯片和AI芯片它是一個(gè)完全不同的計(jì)算機(jī)建模的方式,由于它的完全不同的計(jì)算方式,所以他要完全不同的一種軟硬件去支持。怎么說(shuō)完全不同,我不知道聽(tīng)眾里面有多少是計(jì)算機(jī)體系結(jié)構(gòu)背景的,我是學(xué)數(shù)字電路和邏輯學(xué)計(jì)算機(jī)體系結(jié)構(gòu),就是學(xué)cpu設(shè)計(jì)出身的,那么我從大學(xué)開(kāi)始學(xué)習(xí)的與或非門,通過(guò)那種邏輯操作去實(shí)現(xiàn)復(fù)雜邏輯。
那么大家可以看,就是說(shuō)在我的PPT里面,左半部分的話基于就是一個(gè)傳統(tǒng)的芯片,它最基本的一個(gè)計(jì)算單元就是非門與門或門,然后通過(guò)這樣的邏輯單元,我們?nèi)テ唇映黾臃ㄆ?、乘法器、除法器,或者是存?chǔ)器,然后再通過(guò)加減乘除的邏輯分支跳轉(zhuǎn)進(jìn)行程序的運(yùn)算,然后通過(guò)整個(gè)程序的控制,也是通過(guò)順序循環(huán)分支,大家如果學(xué)過(guò)C語(yǔ)言C++這種最基本的程序設(shè)計(jì)方法,從整個(gè)計(jì)算機(jī)結(jié)構(gòu),從馮諾依曼當(dāng)年提出計(jì)算機(jī)理論,也就從40多年起前起,就是一直遵循這套理論,通過(guò)順序循環(huán)分支的方式來(lái)增加復(fù)雜度完成各種各樣復(fù)雜功能。那么采用這種傳統(tǒng)計(jì)算機(jī)方式,它的優(yōu)勢(shì)在于它計(jì)算精度很高,由于它數(shù)字電路去實(shí)現(xiàn)的,所以它里面0就是0,1就是1,所以它適合邏輯運(yùn)算和算術(shù)運(yùn)算。神經(jīng)網(wǎng)絡(luò)計(jì)算剛才前面給大家介紹過(guò),他是完全另一套不同的計(jì)算方式,它的基本運(yùn)算單元是一個(gè)并行的帶權(quán)重的非線性激活的神經(jīng)元,然后它的編程模型也不是像傳統(tǒng)計(jì)算機(jī)一樣的順序循環(huán)分支,而是一個(gè)靠計(jì)算圖層的拓樸結(jié)構(gòu)設(shè)計(jì),以及里面海量的可調(diào)的參數(shù),還記不記得前面AlexNet多少層,他有60兆個(gè)參數(shù)在里面。
靠著海量參數(shù)你去調(diào)整,來(lái)設(shè)計(jì)各種神經(jīng)元進(jìn)行工作。那么整個(gè)編程復(fù)雜度也是體現(xiàn)在調(diào)參上面,其實(shí)有一個(gè)比較好笑的,就是說(shuō)現(xiàn)在做算法的人,他們都會(huì)自稱自己是練單式或訓(xùn)模式,就是在不停的調(diào)參數(shù),調(diào)參數(shù)這件事情又是一個(gè)比較玄學(xué)的,理論基礎(chǔ)不是非常強(qiáng)的,所以有點(diǎn)靠運(yùn)氣有點(diǎn)像煉丹一樣。然后神經(jīng)網(wǎng)絡(luò)算法的優(yōu)點(diǎn)是容錯(cuò)性很好,像某個(gè)審計(jì)員工作不正常了,但是由于它有一個(gè)比較好的變形機(jī)制,這樣的話,它即使一其中某個(gè)神經(jīng)元工作不正常,他仍然能夠很好的work,并且比較適合模式識(shí)別。
它有一個(gè)特點(diǎn)是說(shuō),由于其實(shí)按照正常情況來(lái)說(shuō)的話,神經(jīng)網(wǎng)絡(luò)應(yīng)該是一種非常高效計(jì)算模式,因?yàn)榇蠹铱梢韵胂笪覀內(nèi)四X其實(shí)也就總共加起來(lái),生物學(xué)上也才兩瓦的功率,但是可以進(jìn)行非常計(jì)算復(fù)雜。但是在芯片上面去做AI計(jì)算,完全不是采用生物這套模式,而是采用傳統(tǒng)計(jì)算機(jī)還是用與或非門邏輯搭出來(lái)的乘法器、乘加器,來(lái)模擬神經(jīng)網(wǎng)絡(luò)信號(hào)傳輸,這導(dǎo)致了需求算力的爆炸,因?yàn)橐粋€(gè)神經(jīng)元我們可能就要有N個(gè)乘法乘加操作。
因?yàn)橛羞@樣的算力爆炸,所以就有了開(kāi)發(fā)專門的AI芯片需求。這邊的話我給大家放三張圖,分別是CPU、 DSP 、GPU,還有現(xiàn)在在神經(jīng)網(wǎng)絡(luò)處理器里面非常常見(jiàn)的陣列。這三種分別代表了現(xiàn)在去做神經(jīng)網(wǎng)絡(luò)計(jì)算這么一個(gè)實(shí)現(xiàn)構(gòu)架。
首先先回答一個(gè)問(wèn)題,其實(shí)現(xiàn)在大家有個(gè)共識(shí),就是說(shuō)傳統(tǒng)cpu是不怎么合適拿來(lái)做AI計(jì)算的,這是為什么?其實(shí)從原理上來(lái)說(shuō)的話,從圖里面就很容易能夠看到。前面我提到就是說(shuō)神經(jīng)網(wǎng)絡(luò)計(jì)算里面就是有大量的乘加操作,乘加操作在cpu里面的話是由算術(shù)這單元去進(jìn)行運(yùn)算的,在左下角框里面右上角,由綠色部分AIU去進(jìn)行乘加操作的,那么一般cpu里面乘加的單元數(shù)量,像普通ARM cpu,像比如說(shuō)cos A72,它里面的話,它成交單元一個(gè)周期只能做四個(gè)乘與加,但是如果說(shuō)你做整形的話可能會(huì)多一些,你有八位整形的話能做八個(gè)。
因?yàn)镃PU它主要目的是做通用控制,所以你看它花很多的硬件邏輯在控制上面,所以就看到芯片面左邊有藍(lán)色,這部分有它很大一部分的控制單元在里面。其實(shí)就是說(shuō)在CPU里面由于有它有大量的邏輯在進(jìn)行做控制運(yùn)算,而真正做乘加運(yùn)算的邏輯部分的綠色部分就很少,導(dǎo)致用CPU去做乘加運(yùn)算效率不高。所以大家都說(shuō)坐用CPU去做AI計(jì)算不合適,其實(shí)大量的服務(wù)器PC都是在用GPU做AI計(jì)算的,那么看就是中間這張圖。、
GPU的設(shè)計(jì)特點(diǎn)是有大量的小的單元,簡(jiǎn)單的ALU就是綠色部分,有大量的小的單元去做計(jì)算。但同時(shí)它的控制邏輯會(huì)非常小,可以看到左側(cè)藍(lán)色和黃色部分,所以用GPU做AI計(jì)算比CPU高很多,不過(guò)大家認(rèn)為GPU算力很高,其實(shí)是只有是桌面級(jí)的NV的GPU,它的算率會(huì)非常高。
它的算率高是因?yàn)镹V的gpu里面做了通用設(shè)計(jì)的進(jìn)行優(yōu)化,所以它是可以做通用計(jì)算的。那么而如果在嵌入式側(cè)的arm的gpu里面,由于它在一個(gè)在電源非常緊的一個(gè)環(huán)境里面,因?yàn)槭謾C(jī)里面用電池的,所以它的主要功能還是做圖形渲染玩游戲用的,里面有大量邏輯是做圖形的,真正可以用作通用計(jì)算的部分的單元其實(shí)也沒(méi)有非常多。
然后同時(shí)由于整體的功耗限制,在arm芯片里面的arm的gpu合同,和同一塊芯片里面另一個(gè)CPU,它的算力其實(shí)是差不多是一個(gè)level的,最多高一倍,但還是一個(gè)數(shù)量級(jí)的這么一個(gè)概念。那么其實(shí)這邊也剛剛就提到說(shuō)gpu里面的話它其實(shí)有兩個(gè)功能,一部分功能可以做通計(jì)算,一部分是做圖形處理,那么如果我們拿GPU做通用計(jì)算的話,圖形處理這部分的邏輯其實(shí)就是浪費(fèi)了,所以gpu的效率其實(shí)也不是最高的。
那么其實(shí)現(xiàn)在有一些NPU的設(shè)計(jì),專門做神經(jīng)網(wǎng)站去設(shè)計(jì)的話,它的一個(gè)很簡(jiǎn)單出發(fā)點(diǎn)邏輯,就是把gpu里面與圖形相關(guān)的部分去掉,那么通過(guò)這種方式直接把一個(gè)GPU改造成一個(gè)做AI計(jì)算的NPU。用GPU去做AI計(jì)算,其實(shí)仍然效率不是最高的,因?yàn)橐驗(yàn)間pu是一個(gè)大規(guī)??删幊痰囊粋€(gè)通用計(jì)算的單元,并沒(méi)有針對(duì)AI的這種大規(guī)模乘加運(yùn)算再去做進(jìn)一步優(yōu)化。
這邊的話就得要提示說(shuō),如果針對(duì)AI這種計(jì)算剛剛提到大規(guī)模的乘加運(yùn)算,其實(shí)最后都可以把它轉(zhuǎn)化為二維矩陣相乘。矩陣相乘的話,計(jì)算方式是采用脈動(dòng)陣列,即dataflow數(shù)據(jù)流這種方式,通過(guò)設(shè)計(jì)一堆乘加器來(lái)進(jìn)行計(jì)算。好處是它把控制邏輯簡(jiǎn)化到了最低,充分利用了矩陣相乘的每個(gè)去乘加這么一個(gè)特性,那么大幅度簡(jiǎn)化了他的控制邏輯,這樣可以導(dǎo)致整個(gè)乘加器的效率非常高,你可以看到整個(gè)芯片里面幾乎全都是乘加器,控制邏輯就很少。
右邊脈動(dòng)陣列,假設(shè)每一個(gè)小方框可以理解成一個(gè)乘加器,假設(shè)是一個(gè)100×100的size的話,它就有1萬(wàn)個(gè)乘加器了。我們?cè)倩叵胍幌?,剛才我們就八個(gè)乘加器.八和一萬(wàn)就是好幾個(gè)數(shù)量級(jí)的差距。剛剛只是從理論上解釋,現(xiàn)在說(shuō)一下實(shí)際產(chǎn)業(yè)里面,AI加速器芯片的話,它是采用哪種方案多?最早AI加速器有些是采用專用電路設(shè)計(jì)的,可以看到最右上角的數(shù)據(jù)脈動(dòng)陣列,像谷歌的GPU一代是采用這種構(gòu)架的。
由于AI產(chǎn)業(yè)一直在變化更新中,所以只解決了卷積并不夠。實(shí)際應(yīng)用行業(yè)里面往往會(huì)有各種各樣的其他算子,其他算子又會(huì)不斷有更新出來(lái),最后要求硬件一定是一個(gè)可編程的。所以結(jié)合了脈動(dòng)陣列做卷積這種高效和可編程的需求,那么目前基本上所有的AI加速器的設(shè)計(jì)已經(jīng)基本上殊途同歸了,采用兩者結(jié)合,一塊芯片里面的既有可編程部分,可以是一個(gè)前面提到了把GPU把圖形部分裁剪掉來(lái)實(shí)現(xiàn),也可以通過(guò)是另一種就是通過(guò)DSP的方式來(lái)實(shí)現(xiàn)。
本文為部分內(nèi)容和PPT,完整內(nèi)容和PPT查看可進(jìn)入雷鋒網(wǎng)「AI投研邦」查看;(AI芯片研究報(bào)告即將出爐,會(huì)員可免費(fèi)觀看)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。