Hot Chips 30,黃金時代的縮影
來自專欄片上神經網路25 人贊了文章
歷史
本次Hot Chips正好是第30屆,開幕的歡迎詞中簡單回顧了會議的歷史。比較有趣的是用關鍵詞的方式對比了每十年發生的變化。
Hot Chips 1
Hot Chips 10
Hot Chips 20
Hot Chips 30
今年展示內容最多的三家是:Google(3個talk),Nvidia(3個talk)和Xilinx(4個talk,包括深鑒)。Google不僅talk多,參會的人也不少,感覺確實招募了大量IC領域的人才。Nvidia仍然很霸氣,這次Xavier和NvSwith都透露了更多的細節,Xilinx在新CEO上任後也在發力。我會在後面分別介紹他們的工作。另外,ML仍然是熱點,除了兩個專門的ML session之外,幾乎所有的talk都會涉及到ML/AI,所以我也會寫一篇文章專門介紹一下ML相關內容。在詳細討論這些話題之前,先來個流水賬吧。
Tutorial
會議正式開始之前的周末是Tutorial時間,上午的區塊鏈相關內容基本是不知所云,就不說了。下午是「Architectures for Accelerating Deep Neural Nets」,包括來自Xilinx的Overview,MIT韓松的「Accelerating Inference at the Edge」,Cerebras的「Accelerating Training in the Cloud」。Tutorial主要是基礎,不過內容還是比較豐富,大家如果感興趣可以去找來PPT看看。
Xilinx的講座裡面有如下一頁挺有意思,是在說模型準確度和運算代價(主要由模型設計和量化精度決定)之間的平衡。圖中的例子是說,使用Resnet18,8b/8b量化,實現10.68%的錯誤率;但如果使用Resnet50,雖然模型複雜了,但可以在2b weight下達到9.86%的錯誤率,而此時的計算代價從286減少到127。這種trade-off必須考慮更多的因素,意味著需要探索的設計空間會更大,而這可能成為未來神經網路設計的趨勢。
在這幾個講座里,我主要關注的是Cerebras這個比較神秘的Startup。不過他們的講座基本沒有涉及任何自己的東西。除了在最後提了一下他們眼裡未來的Training加速目標,我們也可以把這個看作是他們要實現的目標吧。
在講未來的時候他們也把值得關注的競爭對手放在了一起,還專門強調了排序完全是按字母順序的。
最後,他們還聊了幾句關於Benchmark Cheats的問題,有點意思,大家自己去看看吧。
Day 1
進入正式會議的第一天,第一個session是「Mobile/Pwr Efficient Processors」:有來自三星的「Samsung』s Exynos-M3 CPU」,Google的「 The Pixel Visual Core」,以及UCBerkeley的「BROOM: An open-source Out-of-Order processor with resilient low-voltage operation in 28nmCMOS」。
這次三星透露的M3已經有相關的文章進行了比較詳細的介紹,我就不在多說了。講演中有一頁提到「Conditionalpredictor improvements including more weights for Neural Net」,我不是很明白,了解的朋友可以留言介紹一下。
UC Berkeley的Broom是一個開源的RISC-V設計,其晶元部分我就不多分析了,比較值得討論的是所謂敏捷開發的問題。這個talk多次強調他們是兩個人4個月實現tape-out,還專門提出了Agile Hardware Development的話題,這可能和他們的導師David Patterson有一定的關係。我們之前的文章(黃金時代)中簡單談到這個問題,DavidPatterson也經常把硬體的敏捷開發和RSIC-V/Chisel聯繫在一起。
個人感覺這是有一定誤導性的,如果仔細看BROOM晶元的設計,這個項目覆蓋的內容是比較少的,基本就是BOOM核加cache再加一個簡單的到FPGA的I/O介面。因此在設計流程中,需要驗證的範圍很小。加之是研究項目,綜合後端這些任務也可以盡量簡化。在這個talk中分享的一些經驗頂多算一些技巧。在實際的商業項目是實現硬體的敏捷開發還是非常困難的問題,不是一兩個點上的改進就能解決的。最近我們也在研究這個問題,歡迎大家找我討論。這個talk中提到的DESSERT項目看起來挺有意思,可以關注一下。
第二個session是「Graphics Solutions」:有來自Intel的「Intel』s High Performance Graphics solutions inthin and light mobile form factors」和AMD的「Delivering a new level of Visual Performance inand SoC – AMD Raven Ridge APU」,這個部分沒有Nvidia參與,按照我粗淺的認識,好像也沒看到什麼亮點,就略過吧。
在這之後是大會第一個Keynote:Spectre/Meltdown。講演陣容很強大,新晉圖靈獎得主John Hennessy親自開場,分析了CPU架構漏洞爆發後,我們對安全問題新的認識。整個Keynote非常詳細的分析了這類sidechannel attack的機制和更多的潛在威脅,並從軟體和硬體的角度分析了問題的成因和可能的解決方法。總得來說,在過去幾十年間,體系結構領域追求的主要是性能和效率,而這次事件確實大大提高了大家對安全性的關注度。但現在談徹底的解決方法還為時尚早,這基本還是個沒有答案的問題。目前能做的基本還是減輕它帶來的影響,更多的是Mitigation。大家在後面的討論中甚至提到要在計算機教育中增加大家對安全性的認識等等。
在講演中有幾個點還是比較有意思,和大家分享一下。首先是對問題成因的一個分析:軟硬體割裂的問題。其實在AI系統設計中,我們已經看到更多的軟硬體聯合設計的趨勢。相信未來不僅在應對安全問題的時候,在計算系統設計的時候會更多的採用全棧垂直模型來分析和解決問題。其實也很自然,分割可以簡化問題;但優化則經常需要打破邊界。當然這也對方法學,工具和模型提出了更高的要求,我們應該會先在Domain-specific的設計中進行更多的實踐。這同樣也是我們現在在研究的問題,歡迎大家的討論。
另一個點是對解決方法的討論,比如這部分最後一個talk提出的Architecture2.0的問題。我們目前遇到的安全性問題,不能說是微結構設計的Bug,而要解決它就需要新的架構規範,雖然我們還不知道是什麼樣的規範。
對於解決方法的兩個討論:1. 通過使用更多的硬體加速,減少對Speculation的依賴(目前漏洞的主要基礎);2. 利用開源硬體的透明特點提高安全性。
當然,總得來說安全問題目前還沒有解決方案。但按照Hennessy和Patterson的說法,安全方面的挑戰也將是體系結構黃金時代的主要驅動之一。
第三個session是「IoT/Edge Computing」,首先是來自Harvard的「SMIV: A 16nm SoC with Efficient and FlexibleDNN Acceleration for Intelligent IoT Devices」。這是個研究項目,主要特點是在SoC中加入了嵌入式FPGA,和支持Cache Coherence的硬體加速器。感覺ARM給了很多支持,主要是圍繞ARM的東西在做試驗。這裡就不細講了。和之前的BROOM項目一樣這裡也提到了快速開發的問題,但基本也都是業界比較常用的方式。其中的HLS不知道具體的方法,但從SystemC開始的話應該還是描述了比較詳細的硬體特徵的,而不是從更抽象的描述開始,大概和Chisel方法類似。
這部分第二個talk來自,MIT Vivienne Sze團隊,「Navion: An Energy-Efficient Visual-InertialOdometry Accelerator for Micro Robotics and Beyond」。這是一個視覺SLAM項目,這個應用領域我不是很熟悉,不過據說他們是第一家做晶元的。Sze做的Eyeress項目和DNN hardware tutorial在AI晶元領域還是很有影響力的,我之前也不止一次做過介紹。這次見到真人,最大的感受就是說話好快。
第一天最後一個部分是「Security」,包括來自微軟的「The Hardware Security Platform Behind AzureSphere 「和來自Google的「 Titan: Google』s Root-of-Trust Security Silicon 」。前者主要是一個基於雲的IoT安全平台,而後者則主要是用專用安全晶元「Titan」解決雲端晶元的可信性問題。這個領域我不太熟悉,就不多做評論了。不過Google最後提到會開源它們的「Titan」晶元。如前所述,在安全領域,開放和開源是一種增加可信度比較好的方式。
Day 2
會議第二天的主要內容包括ML,Xilinx也貢獻了好幾個talk,這些我會在後面的文章中介紹。這裡先看看幾個相對獨立的talk。
第一個是在「Switching Fabrics and FPGA Architectures」的session中,來自Barefoot Networks的「Programmable Forwarding Planes at Terabit/s Speeds「。在現在的大規模計算環境中網路和網路晶元的作用是非常重要的。這個talk可以作為這個領域一個非常好的綜述。
另外,這個talk中提到的」get programmability without the penalty「,是個非常好的問題。
「New Technology」 session中,Nantero介紹了「Architecture for Carbon Nanotube Based Memory(NRAM) 」,即基於碳納米管的新型存儲。這個NRAM和我們之前聽到的多種新型NVM存儲還不太一樣,其目標是替換現在的DRAM。它的基本原理是通過控制碳納米管的彎曲來控制連接狀態。在一個區域里有很多這裡的碳納米管,不同的連接狀態可以改變這個區域的電阻,從而實現『0』,『1』值的存儲。目前看到的各種指標基本可以說是完美,因此在問題環節中的第一個問題就是「It sounds too good to be true. Did I miss something?」不過講演的哥們估計天天面對這個問題,應對還是非常自如的。結論是除了一點小的限制,基本就是這麼牛。所以,我們外行也不好評價了,保持關注吧。
第二天最後一個session是「Server Processors 「,這本來應該是Hot Chips的一個重頭戲。在做演講四家,IBM(The IBM POWER9 Scale Up Processor),Fujitsu(Fujitsu High Performance CPU for the Post-KComputer),NEC(Vector Engine Processor of NEC』s Brand-New supercomputer SX-AuroraTSUBASA)和Intel(Next Generation Intel Xeon(R) Scalable processor: Cascade Lake),兩家日本公司講的內容比較豐富一些,不過語言還是有點問題,聽的不是很清楚。IBM和Intel講的東西新的信息不多,而且在大家提問中也經常以無法透露來回答,總體感覺有點無聊。
其它
除了正式的演講之外,會議還有一些Demo和Poster。正好在會議期間SiFive宣布了一個RISC-V+NVDLA(NVDLA在FPGA上)的系統,好像也有展示。
其它的比如深鑒也做了很好的Demo,可能以後就是和Xilinx一起了。
Poster裡面,我本來是比較關注阿里的「Ultra Low Latency and High Performance Deep LearningProcessor 「。可惜負責的同學嘴很緊,什麼都不說,所以也只能看看作罷。
總得來說,這次Hot Chps 30確實是非常熱鬧的,註冊人數又創了新高。這應該和AI晶元的火熱以及非傳統晶元公司自研晶元的趨勢有很大關係。會上可以看到很多熟悉的面孔,也遇到一些讀者,挺有意思。但願這確實是「黃金時代「的開啟,而不是虛假繁榮的投影。
- END-
歡迎關注我的微信公眾號:StarryHeavensAbove
題圖來自網路,圖片來自Hot Chips 30,版權歸原作者所有
本文為個人興趣之作,僅代表本人觀點,與就職單位無關
推薦閱讀:
※馬化騰到訪趙偉國,互聯網+晶元的時代來了? | 半導體那些事兒
※中國集成電路設計差距淺析
※電子元件L7805CV電源晶元
※物理實現(Physical Implementation)