我從2017年的ISSCC開始寫AI硬件相關(guān)的文章,到現(xiàn)在剛好兩年了。在剛剛過去的ISSCC2019上,AI芯片仍然是一個(gè)熱點(diǎn),有幾個(gè)session都和AI硬件相關(guān)。同時(shí),CGO19會(huì)議的Compilers for Machine Learning Workshop,各種ML編譯器紛紛出場。從大環(huán)境來看,第一代AI芯片軟硬件技術(shù)基本成熟,產(chǎn)業(yè)格局逐漸穩(wěn)定,已經(jīng)為規(guī)模應(yīng)用做好了準(zhǔn)備,可稱之為AI芯片0.5版本。而在ISSCC會(huì)議上,大神Yann LeCun在講演中提出了對(duì)未來AI芯片的需求[1],開啟了我們對(duì)新的架構(gòu)(AI芯片2.0)的思考。
ISSCC2019
兩年前,我在公眾號(hào)發(fā)文分析了ISSCC2017Deep-Learning Processors Session中的7篇文章。到今天,不僅AI芯片技術(shù)取得了長足的進(jìn)步,大家寫文章的熱情也越來越高,相信后面會(huì)看到各種對(duì)ISSCC2019論文進(jìn)行分析的文章。所以,我就不再單獨(dú)討論具體的論文了,只談一些綜合的感受。
這次我看到論文摘要的時(shí)候,首先是還是看Session 7和14的Machine Learning部分。而我最關(guān)注的是三星的論文“An11.5TOPS/W 1024-MAC Butterfly Structure Dual-Core Sparsity-Aware Neural Processing Unit in 8nm Flagship Mobile SoC”。大家知道,三星在手機(jī)芯片中加入NPU是相對(duì)較晚的,應(yīng)該說在設(shè)計(jì)中吸收了學(xué)界和業(yè)界這幾年AI芯片研發(fā)的經(jīng)驗(yàn)。另外,這也是業(yè)界首次公開在規(guī)模量產(chǎn)芯片(旗艦手機(jī)芯片)中的NPU細(xì)節(jié),一方面反映了“真實(shí)”和“實(shí)用”(不追求指標(biāo)驚人,而是有更明確的優(yōu)化目標(biāo))的結(jié)果,另一方面也標(biāo)志著整個(gè)產(chǎn)業(yè)對(duì)NPU設(shè)計(jì)的認(rèn)識(shí)已經(jīng)比較成熟。
另外一個(gè)重要看點(diǎn)當(dāng)然是Yann LeCun教授的演講。ISSCC本來是半導(dǎo)體產(chǎn)業(yè)中的“電路(circuit)”會(huì)議,這幾年越來越多的加入架構(gòu)層面的內(nèi)容。這次請(qǐng)AI大神做Keynote就更有意思了。大神在ISSCC講演的幾天之內(nèi)還做了一波PR,也有宣傳Facebook自研芯片的意思。當(dāng)然,大神的演講還是非常棒的,特別是對(duì)新架構(gòu)的分析。這幾天已經(jīng)有很多文章介紹這個(gè)研究,我這里只貼一下他分享的的AI硬件相關(guān)的經(jīng)驗(yàn)教訓(xùn)以及對(duì)未來的展望。
source:ISSCC2019
前兩個(gè)部分反映了上世紀(jì)90年底開始到今天的AI熱潮中AI硬件的嘗試以及整個(gè)AI發(fā)展中我們學(xué)習(xí)到的經(jīng)驗(yàn)和教訓(xùn)。第三部分是對(duì)新架構(gòu)的預(yù)測,這個(gè)我將在本文第三部分重點(diǎn)討論。第四部分主要講一些算法的趨勢,特別是Self-Supervised Learning(蛋糕上的櫻桃)。
最后,他還分享了一下自己的一些其它思考,特別是對(duì)于SNN的質(zhì)疑。這部分內(nèi)容這兩天也引起很大爭議。SNN現(xiàn)在確實(shí)面臨實(shí)用性的問題,Neuromorphic的初衷是模仿人腦,但由于我們現(xiàn)在使用的模型太簡單,這種模型和算法是否是正確路徑確實(shí)還有疑問。第二部分,他對(duì)模擬計(jì)算也有一些疑問,看起來也都是老問題。我自己沒有參會(huì),所以不太清楚他具體的講法是什么。不過我個(gè)人覺得模擬計(jì)算還是很有前途的(或者說是不得不走的路)。
source:ISSCC2019
如果說Yann LeCun教授對(duì)AI芯片的新架構(gòu)提出了需求,那么另外一個(gè)推動(dòng)AI芯片技術(shù)進(jìn)步的要素將是底層半導(dǎo)體技術(shù)的進(jìn)步,這也正是ISSCC的重點(diǎn)。從這次會(huì)議來看,存儲(chǔ)技術(shù)(包括存內(nèi)計(jì)算),模擬計(jì)算,硅光技術(shù)等等,在AI,5G等需求的驅(qū)動(dòng)下都非常活躍。這些技術(shù)和AI芯片的關(guān)系之前都有介紹,本文就不贅述了。
Compilers for Machine Learning
就在ISSCC的同時(shí),“The International Symposium on Code Generation and Optimization (CGO)”上的“Compilers for Machine Learning” workshop[2]也相當(dāng)熱鬧。我們不妨先看看討論的內(nèi)容:
會(huì)議除了目前三大AI/ML編譯器XLA(Tensorflow),TVM,Glow(Pytorch)之外;還有Intel的nGraph,PlaidML;Nvidia的TensorRT;Xilinx用于ACAP的編譯器。另外還有大神Chris的talk和其它來自學(xué)界的講演。會(huì)議大部分Slides在網(wǎng)上都可以看到,這里就不具體介紹了。我在一年前寫過一篇文章“Deep Learning的IR“之爭””,主要討論IR的問題,和編譯器也是密切相關(guān)的。到今天,這個(gè)領(lǐng)域確實(shí)也是現(xiàn)在大家競爭的一個(gè)焦點(diǎn)。
XLA是比較早提編譯器概念的,但到現(xiàn)在主要還是針對(duì)Google的TPU進(jìn)行優(yōu)化。TVM相當(dāng)活躍,前一段時(shí)間還搞了TVM conference,除了東家Amazon之外,華為,Intel,Xilinx,甚至“競爭對(duì)手” Facebook都有參加。TVM的“野心”也很大,從最早的編譯器已經(jīng)發(fā)展到了TVM Stack(如下圖,和我之前文章里貼的圖已經(jīng)有了很大的變化),從新的IR(Relay),到自動(dòng)編譯優(yōu)化的AutoTVM,到開源AI硬件加速器(VTA),開了很多有意思的話題。
source:tvm.ai
Glow是Pytorch的一部分,在AI編譯器里算后起之秀,吸收了XLA和TVM的經(jīng)驗(yàn),有自己的特色,目前已經(jīng)有一些廠商站臺(tái),也比較活躍。
XLA和Glow背后是Google和Facebook以及相應(yīng)Learning Framework的生態(tài),應(yīng)該是未來AI編譯器的主要玩家。而這些開源的編譯器項(xiàng)目,也為各個(gè)做AI芯片的廠商提供了編譯器框架的基礎(chǔ),大大降低了大家自研編譯器的門檻。另一類編譯器是針對(duì)專門硬件的,主要是芯片大廠的自研編譯器,比如Nvidia的TensorRT,以及Intel,Xilinx的編譯器。雖然,目前手工優(yōu)化庫也還是重要的優(yōu)化方式,在一些架構(gòu)上還是比編譯器的結(jié)果好很多,但總的來說,編譯器項(xiàng)目的繁榮,也是AI芯片產(chǎn)業(yè)逐漸成熟的表現(xiàn)。
AI芯片2.0
最后,我們?cè)敿?xì)看看Yann LeCun教授對(duì)未來AI硬件的預(yù)測。他的思考主要是從算法演進(jìn)的需求出發(fā),幾個(gè)重點(diǎn)包括:
Dynamic Networks,簡單來說就是神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和數(shù)據(jù)相關(guān),會(huì)根據(jù)輸入數(shù)據(jù)(或者中間結(jié)果)選擇不同的分支和操作。而目前AI加速,特別是對(duì)于Inference的加速,其高效執(zhí)行的一個(gè)前提就是網(wǎng)絡(luò)的確定性(靜態(tài)性),其控制流和數(shù)據(jù)流是可以預(yù)先安排和優(yōu)化好的。動(dòng)態(tài)網(wǎng)絡(luò)相當(dāng)于把這個(gè)前提打破了,對(duì)架構(gòu)的靈活性有更高的要求,需要在靈活性和高效性之間得找到新的平衡點(diǎn)。
Neural Network on Graphs。目前的神經(jīng)網(wǎng)絡(luò)處理的基本數(shù)據(jù)主要是張量tensor,相應(yīng)的,目前的AI硬件的基本要求是對(duì)tensor運(yùn)算的加速。而對(duì)于圖網(wǎng)絡(luò)來說,數(shù)據(jù)變成了以tensor為節(jié)點(diǎn)和邊的圖。如果圖網(wǎng)絡(luò)成為主流,則又改變了AI硬件設(shè)計(jì)的一個(gè)前提。專門用于圖計(jì)算的芯片已經(jīng)是一個(gè)重要的研究方向,落地的速度估計(jì)還得看算法演講的速度有多快。
Memory-Augmented Networks。這個(gè)主要是對(duì)存儲(chǔ)架構(gòu)的新需求,特別是對(duì)長期記憶的模擬(在大量存儲(chǔ)中實(shí)現(xiàn)Attention機(jī)制,我在之前的文章里也討論過)。未來我們可能需要在大量memory中快速找到關(guān)注的內(nèi)容,這要求存儲(chǔ)器不只像目前一樣實(shí)現(xiàn)簡單的存取功能,還需要具備查詢和運(yùn)算能力,比如根據(jù)輸入向量找到一組值;或者一次讀取多個(gè)值,然后和一個(gè)輸入向量做運(yùn)算并輸出結(jié)果。
Complex Inference and Search。這個(gè)問題簡單來說就是在做inference的時(shí)候可能也需要支持反向傳播計(jì)算,這當(dāng)然會(huì)影響目前的單向inference運(yùn)算加速的架構(gòu)。
Sparse Activations。這個(gè)預(yù)測是說未來的神經(jīng)網(wǎng)絡(luò)可能是一個(gè)功能非常強(qiáng)大的巨型網(wǎng)絡(luò),但針對(duì)一個(gè)任務(wù)只需要激活極少一部分(之前Jeff Dean也做過類似預(yù)測)。這個(gè)問題涉及兩個(gè)方面,一是如何利用稀疏性(比如像大腦一樣只有2%激活);另一個(gè)問題在于這個(gè)巨型網(wǎng)絡(luò)的存儲(chǔ)和運(yùn)算。目前我們還不知道在這個(gè)方向上未來會(huì)發(fā)展到什么程度,不過這個(gè)趨勢可能導(dǎo)致我們必須應(yīng)對(duì)整個(gè)神經(jīng)網(wǎng)絡(luò)的存儲(chǔ)和運(yùn)算架構(gòu)中出現(xiàn)的新的瓶頸問題。
當(dāng)然,上述一些算法發(fā)展的趨勢是Yann LeCun教授的看法,未來我們還可能看到其它算法上的演進(jìn)甚至變革。芯片設(shè)計(jì),特別是Domain-specific架構(gòu)的芯片是由該領(lǐng)域的算法驅(qū)動(dòng)的。算法的改變會(huì)影響我們的優(yōu)化策略和trade off的sweet spot。正如Yann LeCun教授所說“New architectural concepts such as dynamic networks, graph data, associative-memory structures, and inference-through-minimization procedures are likely to affect the type of hardware architectures that will be required in the future.”。
第一代AI芯片從2016年開始爆發(fā),到目前在架構(gòu)設(shè)計(jì)上已經(jīng)比較穩(wěn)定,相關(guān)的編譯器的技術(shù)越來越成熟,整個(gè)產(chǎn)業(yè)格局基本成型。可以說,目前的AI芯片軟硬件技術(shù)已經(jīng)為規(guī)模商用做好了準(zhǔn)備(AI芯片0.5)。未來的一到三年中,我們應(yīng)該可以看到“無芯片不AI”的景象(AI芯片1.0)。再看更遠(yuǎn)的未來,隨著算法演進(jìn),應(yīng)用落地,會(huì)不斷給芯片提出新的要求,加上底層半導(dǎo)體技術(shù)的進(jìn)步,我們可以期待在3到5年內(nèi)看到第二次AI芯片技術(shù)創(chuàng)新的高潮(AI芯片2.0)。
-
AI
+關(guān)注
關(guān)注
87文章
30979瀏覽量
269250 -
人工智能
+關(guān)注
關(guān)注
1791文章
47336瀏覽量
238696
原文標(biāo)題:【科普】AI芯片0.5與2.0
文章出處:【微信號(hào):TechSugar,微信公眾號(hào):TechSugar】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論