梳理一下我關於AI/ML/DL硬體的文章
從年初開始,寫了不少關於AI/Machine Learning/Deep Learning硬體的文章,這裡梳理一下,方便大家參考。
首先,AI/ML/DL Hardware大體上可以按照下面的方式進行分類。
從功能來看,可以分成Training和Inference;而從應用場景則可以分成「Cloud/Data Center」和「Edge/Embedded」兩大類。其中在Edge端做training目前還不是很明確的需求,暫時不去考慮。其它幾個象限都有自身實現的需求和約束。
對於雲端的應用,今年3到5月Nvidia和Google都發布了一些自己的設計,也有一點較勁的意思。如果關注這個故事,可以參考這一系列文章(按照時間順序):
Google TPU 揭密:對Google TPU論文的初步分析
Google TPU(Tensor Processing Unit)問世之後,大家一直在猜測它的架構和性能。Google的論文「In-Datacenter Performance Analysis of a Tensor Processing Unit」讓我們有機會一探究竟。
脈動陣列 - 因Google TPU獲得新生:進一步詳細分析Google TPU的核心
Google TPU讓「脈動陣列」(systolic array)這項「古老」的技術又回到大家的視野當中。短短几天,各種爭論不絕於耳。其中有一個評論我比較喜歡,「這次google tpu讓像我這樣的年輕後輩又有機會能重新認識systolic,也很有意思」。是啊,還是讓我們靜下心來,重新認識一下「脈動陣列」這位老朋友吧。
Nvidia Volta - 架構看點:分析GTC2017上發布的新GPU Volta架構
Nvidia CEO黃仁勛的GTC主旨演講凌晨結束,股票大漲,媒體炸鍋。同時,http://devblogs.nvidia.com上刊出一篇文章「Inside Volta: The World』s Most Advanced Data Center GPU」,比較詳細的介紹了Nvidia最新的Volta架構。這篇文章非常值得一讀,推薦大家點擊原文鏈接好好看看。當然你也可以等一等,估計明天就會出現很多對這篇文章的翻譯。這裡我就不做翻譯了,而是想快速和大家分享一下在架構層面我覺得比較重要的地方,供大家參考。
從Nvidia開源深度學習加速器說起:補充分析Nvidia開源Xavier DLA的情況
GTC2017大會,充斥著各種新聞,以至於「XAVIER DLA NOW OPEN SOURCE」這條消息似乎並沒有得到太大關注。但在我看來,對於整個晶元產業來說,這個開源事件將會產生深遠影響。我先和大家看看這個DLA的架構,然後一起討論一下硬體開源的問題。
當然,關注硬體加速的玩家還有很多
解密又一個xPU:Graphcore的IPU
幾個月前注意到Graphcore這個公司,是因為他們的IPU處理器:Intelligence Processing Unit。但除了看到他們一系列非常漂亮的DNN Graph(比如上面這個對於ResNet Conv1的可視化處理)之外,一直沒有更詳細的信息。在最近的RAAIS會議上,Graphcore的CTO,Simon Knowles做了一個介紹,讓我們可以一窺IPU設計背後的一些思考
為了能比較方便的對比,我在Github上整理了一個AI處理器的列表:
Deep-Learning-Processor-List
而在雲端另一個有意思的應用是FPGA加速,下面這篇文章可一給大家一個基本的參考。
智慧雲中的FPGA:通過Microsoft和Amazon的例子看看Cloud FPGA
由於我的晶元設計背景,我之前關注更多的是Deep Learning專用處理器/加速器的內容,這些專用晶元和IP主要應用於Edge/Embedded inference這個象限。
首先,我關注的是今年的ISSCC會議上的Deep Learning Processor這個專題,對相關的論文做了一些導讀。這些論文對於希望在Edge端應用里追求更高的效率的讀者,應該有一些借鑒意義:
14.1 G. Desoli, STMicroelectronics, Cornaredo, Italy, "A 2.9TOPS/W Deep Convolutional Neural Network SoC in FD-SOI 28nm for Intelligent Embedded Systems"ISSCC2017 Deep-Learning Processors文章學習 (一)14.2 D. Shin, et al., "DNPU: An 8.1TOPS/W Reconfigurable CNN-RNN Processor for General-Purpose Deep Neural Networks"ISSCC2017 Deep-Learning Processors文章學習 (二)14.3 P. N. Whatmough, et al., "A 28nm SoC with a 1.2GHz 568nJ/Prediction Sparse Deep-Neural-Network Engine with >0.1 Timing Error Rate Tolerance for IoT Applications"ISSCC2017 Deep-Learning Processors文章學習 (四)14.4 M. Price, et al., "A Scalable Speech Recognizer with Deep-Neural-Network Acoustic Models and Voice-Activated Power Gating"分析一下MIT的智能語音識別晶元14.5 B. Moons, et al., "ENVISION: A 0.26-to-10TOPS/W Subword-Parallel Dynamic-Voltage-Accuracy-Frequency-Scalable Convolutional Neural Network Processor in 28nm FDSOI"
ISSCC2017 Deep-Learning Processors文章學習 (三)14.6 K. Bong, et al., "A 0.62mW Ultra-Low-Power Convolutional-Neural-Network Face-Recognition Processor and a CIS Integrated with Always-On Haar-Like Face Detector"ISSCC2017 Deep-Learning Processors文章學習 (七)14.7 S. Bang, et al., "A 288μW Programmable Deep-Learning Processor with 270KB On-Chip Weight Storage Using Non-Uniform Memory Hierarchy for Mobile IntelligenceISSCC2017 Deep-Learning Processors文章學習 (五)除了專用的DL加速器,DSP也是Edge/Embedded側SoC中重要的IP選項。所以,我也介紹了一系列DSP IP的方案。現在回頭看看,不得不感嘆這個領域現在發展的太快。
處理器IP廠商的機器學習方案 - 背景
之前談了不少機器學習處理器的技術內容,也分析過初創公司在這方面的機會,下面換個角度,看看處理器IP廠商的動作:ARM,CEVA,Synopsys,Cadence。這幾家公司不像人工智慧初創公司那麼搶風頭,但技術積累和市場能力都很強,看看它們對機器學習的理解和相關方案很有意義。
處理器IP廠商的機器學習方案 - CEVA
CEVA作為傳統的DSP IP廠商,人工智慧是他們重點關注的方向之一。CEVA的方案主要針對視覺應用,是在XM6圖像視頻處理器的基礎上,通過CDNN工具包(包括軟體工具和硬體加速器)實現嵌入式的神經網路。XM6基本還是傳統的向量處理器架構,兼顧通用的computer vision應用。針對神經網路的設計主要體現在CDNN工具包上。當然,網站的宣傳是一回事,最終還是要看它是不是「架構有效,工具好用,價格合理,支持到位」。
處理器IP廠商的機器學習方案 - Synopsys
Synopsys在對神經網路的支持方面是起步比較早的。它的EV(Embedded Vision)處理器採用了Vision CPU + CNN加速器的方案,架構上和CEVA的XM6的方案類似。所以,大家比拼的重點還是實現細節。另一個看點是處理器IP和Synopsys其它工具/IP配合是否能給出一個更好的方案,包括SoC架構層面和EDA的層面。
Cadence(Tensilica)的可定製處理器
Cadence(Tensilica)的Vision P6 DSP是和CEVA,Synopsys機器學習方案競爭的處理器。不過本文更多的討論Tensilica的可定製處理器(Customizable Processor)的概念,以及指令擴展的方法在實際應用中的問題。
高通的Hexagon DSP
前面分別討論了一下CEVA,Synopsys,Cadence的DSP,原本沒打算聊高通的Hexagon DSP。一方面高通這個DSP是內部使用,並不算是個公開的IP;另外公開資料也比較少,不太好討論。不過Hexagon DSP雖是高通自用,但按照高通晶元的出貨量,這個DSP的市場佔有率是很高的,相當重要。同時,這個DSP經過的幾代演進,它的設計和trade-off有很多值得思考的地方。
神經網路DSP核的一桌麻將終於湊齊了
隨著VeriSilicon和Cadence相繼發布支持AI(神經網路)的DSP IP,加上CEVA和Synopsys,幾家主流DSP IP廠商全部粉墨登場。之前的系列文章「處理器IP廠商的機器學習方案」中已經介紹了CEVA和Synopsys的方案。今天看看VeriSilicon和Cadence的方案吧。
自動駕駛,智能汽車,智慧交通也是AI應用的一個重要領域。對這方面的內容,我也做過一點討論,希望以後能有更多的機會。
AI + 5G = 高通的未來汽車之道
之前有文章對比過Nvidia和Qualcomm的自動駕駛方案。和Nvidia主要依賴Deep Learning的自動駕駛方案不同,高通更強調通信的作用,特別是5G在未來自動駕駛中的作用,這也反映了兩家公司技術基因的差異。最近高通推出了Snapdragon? Neural Processing Engine (NPE),加強對on-device deep learning的支持,看起來其汽車平台的拼圖更加完整了。
你會信任駕駛座上的AI嗎?
一輛越野車正在崎嶇的山路上飛馳,坐在副駕駛座上的你愜意的欣賞著窗外秀美的景色。突然一個急彎,汽車優雅的畫了一個弧線,你也感到一股強烈的外力。於是,你轉過頭想提醒一下司機別開的太快。但駕駛座上並沒有人,這是一輛自動駕駛汽車。此時,你的心裡稍稍有些不安......
從TI「新」的自動駕駛戰略說起
最近看到一篇文章「TIs Shrewd Robo-Car Strategy | EE Times」(一個翻譯的版本:一直低調的德州儀器,這一次帶來了什麼樣的自動駕駛戰略?),介紹TI在自動駕駛方面的戰略。雖然這幾年TI很少搶鏡,但想當年TI可是DSP的代名詞。所以,在看到這個消息之後,我還是立刻跑到TI的網站,想看看他們的新東西。結果這次他們並沒有推出新的硬體,而是基於13/14年就推出的TDA2/3(SoC Processor for Advanced Driver Assist Systems (ADAS))。雖然略感失望的,我們還是仔細看看TI對這個平台的「新包裝」吧。
當然,除了這些針對性比較強的文章。我也嘗試做了一些綜述性的討論。比如:
AI晶元架構的爭論真有意義嗎?:探討生態對於AI晶元的重要性
做了這麼多年晶元,像AI晶元這樣備受關注的情況還是第一次看到。這段時間隨著Volta和TPU2的發布,「GPU好還是TPU好」的爭論又熱了起來,也有很多斷言性的結論。這樣的爭論真的有意義嗎?
深度神經網路的模型·硬體聯合優化:列舉了神經網路硬體實現的各種優化思路
最近,設計「Eyeriss」 DCNN加速器的團隊發表了一篇綜述性文章「Efficient Processing of Deep Neural Networks: A Tutorial and Survey」[1],涉及神經網路很多內容,對神經網路感興趣的同學可以好好看看。這個團隊對各種Inference加速的思路做了深入分析,我想和大家重點看看DNN模型和硬體的聯合優化。
AI會給晶元設計帶來什麼?:討論在AI需求的牽引下,哪些晶元設計技術會受到影響
前段時間和朋友交流,我說從現在開始AI會是晶元技術進步的主要推動力。他問具體體現在什麼方面,我說「方法,架構,實現和工具都會有吧」。後來我一直也在考慮這個問題,似乎可以更全面的回答一下。不過,討論這麼大的話題我也沒什麼把握,說的不對的,講的不清的,或者說漏了的,請大家多指教。
中國初創公司在AI晶元(IP)領域的機會:一家之言,主要是對市場的討論
去年11月的時候第一次思考這個題目,今年3月做過一次更新。短短几個月,AI晶元領域變化不斷,新聞不斷,有必要再更新一下這個討論。希望這次能把一個更為完整的分析呈現給大家。
通過DARPA項目看看晶元世界的「遠方」- 自動化工具和開源硬體
上篇文章討論了一下DARPA的ERI電子復興計劃最近新增的兩個架構方面的項目(通過DARPA項目看看晶元世界的「遠方」- Architectures)。而新增的項目中還有兩個設計領域的項目,IDEAS(Intelligent Design of Electronic Assets)和POSH(Posh Open Source Hardware)。和架構項目的大背景類似,這兩個項目也是為了在摩爾定律難以繼續的情況下,通過提高設計效率的方法降低整體成本,進而支持半導體產業的持續增長。恰逢Nvidia的NVDLA正式開源,我們正好也可以借這個熱點討論一下開源硬體的問題。
通過DARPA項目看看晶元世界的「遠方」- Architectures
DARPA的ERI(Electronics Resurgence Initiative)電子復興計劃,目標是應對微電子技術領域即將要面對的來自工程技術和經濟成本方面的挑戰。最近,ERI又增加了6個新的項目,覆蓋材料、架構和設計幾大方面。材料方面我不懂,所以還是和大家一起看看架構和設計這兩個方向吧。雖然這些項目的實施還需要很長時間,但我們至少可以先看看「問題」是什麼,大體的解題思路又是什麼。
本文先討論兩個架構方向的項目SDH(Software Defined Hardware)和DSSoC(Domain-Specific System on Chip)。
HIVE - DARPA資助的新型處理器
原文鏈接:DARPA Funds Development of New Type of Processor | EE Times
LAKE WALES,Fla。 - 一種全新的非馮 - 諾伊曼處理器,稱為HIVE - Hierarchical Identify Verify Exploit - 正在由DARPA資助,價值8000萬美元, 四年半時間。晶元製造商英特爾和高通正在與國家實驗室,大學和國防承包商North Grumman一道參與該項目。
Hot (AI) Chips 2017
今年的Hot Chips會議,AI相關內容佔了很大比例(似乎可以考慮把Logo改改了)。微軟的BrainWave,百度的XPU,Jeff Dean的Keynote都是這兩天媒體上的熱點話題。其實,除了這些熱點之外,Hot Chips還有不少和AI/ML/DL相關的看點。
Deep Learning的IR「之爭」
熟悉編譯器的同學應該對上圖並不陌生。它就是大名鼎鼎的LLVM的logo。Google Tensorflow XLA (Accelerated Linear Algebra)就使用了LLVM IR(Intermediate Representation)。而它的「競爭對手」,剛剛發布的TVM/NNVM,則是「Tensor IR Stack for Deep Learning Systems」。IR是什麼?為什麼重要?我們一起來看看。
最後,是兩個基礎技術系列文章
「專用處理器系列」:
當我們設計一個專用處理器的時候我們在幹什麼?(上)
當我們設計一個專用處理器的時候我們在幹什麼?(指令集)
當我們設計一個專用處理器的時候我們在幹什麼?(微結構)
專用處理器設計方法&工具
當我們設計一個專用處理器的時候我們在幹什麼?(風險)
自己動手設計專用處理器!
給DNN處理器跑個分 - 指標篇
給DNN處理器跑個分 - 設計篇
面對越來越多的DNN專用處理器設計(晶元和IP),我們很自然的需要解決一個問題「怎樣對不同的DNN處理器設計做出公平的比較和評價?」能不能像手機跑分一樣也讓它們跑個分呢?這實際是個基準測試(Benchmarking)問題。正好最近看到兩個在這方面的嘗試,一個是MIT Eyeriss團隊給出的DNN Processor Benchmarking Metrics;另一個是百度DeepBench項目的更新。我們可以結合這兩個項目討論一下如何給DNN處理器「跑分」。
給DNN處理器跑個分 - BenchIP
「2017年10月23日,中國人工智慧產業發展聯盟(AIIA)總體組組織了人工智慧晶元Benchmark研討會,正式啟動人工智慧晶元Benchmark項目。」可以看到,隨著越來越多的AI晶元走上舞台,如何對它們進行評測和對比越來越受到關注。我之前就通過兩篇「給DNN處理器跑個分」的文章對這個問題進行了一些初步的討論。「BenchIP:Benchmarking Intelligence Processor」這篇論文非常系統和深入的討論了這個問題,並提出相應的Benchmark Suite和Benchmarking Methodololgy。這裡我們就結合這篇論文再談談這個話題。
以及吳博士的「追求極限性能的晶元設計方法系列」:
當今,晶元競爭的核心是性能。尤其在專用處理器和加速器設計領域,性能的互比拼非常激烈,甚至成為國際級別的刷分大賽。通常,國際高水平發物(如ISSCC)會公布出最新的「刷分結果」, 例如圖1所示的一個有關CNN加速晶元的性能比拼結果。刷分結果並不代表絕對優勢,但也成為設計是否能夠被公認為好的設計的一個尺度。但從參考文獻中獲取的benchmark並不具有完全的可比性,因為每個設計都有自己的特殊之處。本文希望讀者能夠跳出「互刷分」的思維模式,從極限設計的角度出發,得出理論上儘可能好的設計。
本文首先給出目前性能的評估尺度及關係,之後講述在這些關係的權衡中,如何採用歸一化的尺度將眾多指標歸結為一個或幾個重要的指標,再對這些指標進行極限突破,得到儘可能好的設計。本文僅考慮時序驅動的數字電路,尤其是高性能加速器和專用處理器的設計。而本文的目的就是闡述一個操作性較強的極限量化晶元設計方法。
追求極限性能的晶元設計方法(一)
追求極限性能的晶元設計方法(二)
追求極限性能的晶元設計方法(三)
追求極限性能的晶元設計方法(四)
T.S.
歡迎關注我的微信公眾號:StarryHeavensAbove題圖來自網路,版權歸原作者所有
推薦閱讀:
※來點乾貨——射頻
※5G關鍵技術之毫米波
※射頻晶元設計有哪些難題?
※進軍最高水平精密製造——中國的集成電路製造產業 | 寧南山
※深度學習Paper:An Analog VLSI Deep Machine Learning Implementation(博士學位論文)