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