清華魏少軍:大部分AI晶片創業者將成為這場變革中的先烈

AI科技大本營發表於2018-03-25

2018區塊鏈技術及應用峰會(BTA)·中國倒數計時5


2018,想要follow最火的區塊鏈技術?你還差一場嚴謹純粹的技術交流會——2018區塊鏈技術及應用峰會(BTA)·中國將於2018年3月30-31日登陸北京喜來登長城飯店。追求專業性?你要的這裡全都有:當超強嘉賓陣容遇上業界同好的腦洞大聯歡,1+1=無限可能,目前門票火熱進行中。

活動詳情: http://dwz.cn/7FI1Ch


整理 | 阿司匹林、費棋


3 月 9 日,智東西、極果和 AWE 聯合舉辦的 GTIC 2018 全球 AI 晶片創新峰會在上海舉行。


在人工智慧備受關注的今天,中國的 AI 晶片產業正在迎來最好的發展時機,初創公司層出不窮,並出現了寒武紀這樣的獨角獸。


然而盛世之下,似有隱憂。


“兩到三年內,我們一定會碰到一個低潮,這是不可避免的。今天的一部分,甚至是大部分的創業者將成為這場技術變革當中的先烈。”


清華大學微納電子系主任、微電子所長魏少軍教授在大會上直言不諱。


在他看來,目前還不存在適應所有應用的通用演算法,所以應用領域的確定是 AI 晶片發展的一個重要前提,AI 的殺手級應用到目前為止還沒有出現。因此,AI 的發展還有很長的路要走。


以下是魏少軍教授演講全文,AI科技大本營整理,略有刪減:


640?wx_fmt=jpeg


我是做晶片設計,研究晶片設計及其理論的。


兩年前我們嘗試做了一下 AI 晶片,效果不錯。後來,(我們)在國際上連續發表了一些有影響力的論文,有些被 MIT Technology Review 所引用。所以突然間,我發現了自己成了 AI 晶片的專家,其實不是。


今天跟大家做一些溝通,主要希望提出一些可能跟我們在坐的大佬們不太一樣的觀點,供大家評判,我的演講題目是《人工智慧發展需要應用和架構驅動創新雙輪驅動》。


一、晶片是實現 AI 的當然載體


640?wx_fmt=jpeg


AI 不是一個新話題,早在(上世紀) 50 年代就出現過,經過 30 年的發展,從基本的概念開始轉移到機器學習,再經過 30 年發展到瞭如今的深度學習。


今天看來,深度學習是我們主攻的一個重要內容,但它只是人工智慧中非常窄的一個面。我們現在已經開始出現把一個很窄的東西來代替全面的人工智慧,這是有偏頗的。


當然,這是有原因的,前年 AlphaGo 下棋贏了李世石,後來又贏了柯潔,這些都是很重要的標誌性事件。但其實 2011 年的 IBM Waston 計算機參與的一個叫“危險邊緣”的遊戲,我覺得其實比 AlphaGo 更有代表性,當然大家可能不一定同意我的觀點。


如果我們認真去思考,分析下兩者比賽的過程,我們會發現 Waston 所具備的智慧遠遠高於 AlphaGo,只是前者不夠 fancy 而已。


640?wx_fmt=jpeg


智慧化是下一輪(科技)發展的核心驅動力,這一點毫無疑問,但智慧化到底是什麼?對這個問題,大家的意見其實並不完全一致。


人類在處理一件事情時大致要經過以下幾個過程:感知、傳輸、儲存、處理、決策、傳輸、執行。在這樣一個過程中,其實中間的一部分(也就是儲存、處理加決策),我們更多地認為,它具備了現代計算邏輯、分析思維、經驗知識判斷、決策等各方面的主要內容,所以我們稱中間這部分為智慧,前後兩端為能力。


中文有時候會比較寬泛,說智慧就包含了智慧和能力兩部分,但其實我們更多的是在處理智慧部分,而不是能力部分。


所以人工智慧這個詞有問題,這個詞是不清楚的,英文叫人工智慧而不是人工智慧,但我們把兩者結合到了一起。不過這無所謂了,因為我們可以認為它是可行的。


640?wx_fmt=jpeg


毫無疑問,晶片是實現 AI 的當然載體,包括 CPU、GPU、FPGA 等等,目前已經出現了 CPU+GPU、CPU+FPGA、CPU+ASIC 等晶片平臺,所有這些都離不開晶片。


所以剛才講了,無晶片,不 AI。


如果你要做 AI 的話,你一定要晶片。在發展 AI 的過程中,晶片是不可或缺的基礎內容。


二、人工智慧晶片的若干關鍵要素


640?wx_fmt=jpeg


人工智慧晶片既然如此重要,那麼我們應該如何去實現它?我可能和在場嘉賓的觀點不太一樣。


我們先說 AI 面臨著兩個現實的問題:


  • AI 演算法非常多,而且在不斷演進,現在的演算法並沒有固定下來;

  • 一個演算法對應一個應用,我們目前還沒有一個統一演算法可以覆蓋所有應用,這是讓做晶片的人最為痛苦的事情。


我們希望找到一個適應所有演算法的晶片架構,而不是每一個應用做一種晶片,這個做起來非常困難。


640?wx_fmt=jpeg


神經網路有很多種,深度不一樣,大小不一樣,複雜程度不一樣,但是無一例外,這些都是專用神經網路。面對這樣一種情況,我們需要在晶片中實現一個具備深度學習的引擎,它是一個必備特性。


今天的深度學習所需要的計算量和引數量非常巨大。從 1997 年到 2007 年,那個時候只需要很少很少的運算量就可以完成一點點小工作,那時候整個計算量也上不去,而且一到十萬個引數就很多了。


但是到了今天,比如 2014 年的時候,我們做到 19 層需要 196 億次/秒的計算能力,加上 1.38 億個引數;2015 年,引數已經增加到了 1.5 億個。


這些東西需要這麼大的運算量,所以也需要一個好的計算引擎。如果沒有一個好的計算引擎,我們是完成不了這些運算工作的。


另一方面,從雲端向終端遷移的過程中,我們必須有極高的能量效率,也就是所謂的每瓦多少個 TFLOPs。如果我們仍然效率不高,那麼手機電池可能很快就耗完電了。


我們需要真實地去看待這件事情的發展,一個是計算量,一個是能量效率。


在這樣的情況下,AI 晶片需要具備怎樣的基本要素?


  1. 可程式設計性:它要適應演算法演進和應用多樣性

  2. 架構的動態可變性:適應不同演算法,實現高效計算

  3. 高效的架構變換能力:< 10 Clock cycle,低開銷、低延遲

  4. 高計算效率:避免使用指令這類低效架構;

  5. 高能量效率:~ 10 TOPS/W(某些應用:功耗 < 1mW;某些應用:識別速度 > 25 F/s);

  6. 低成本:能夠進入家電和消費電子類

  7. 體積小:能夠裝載在移動裝置上

  8. 應用開發簡便:不需要晶片設計方面的知識


如果讓一個人去開發晶片設計,那恐怕難度就很大了,所以目前的 CPU+SW、CPU+GPU、CPU+FPGA 或者 CPU+ASIC 可能都不是很理想的架構,未來我們需要探索架構創新。


既然談到架構,我們就談談什麼樣的架構是合適的?應用和架構創新是人工智慧晶片發展的必由之路。


640?wx_fmt=jpeg


首先來看應用。今天應用涵蓋了幾乎所有方面,無行業,不 AI。無論是人臉識別、語音識別、機器翻譯、監控、交通規劃、無人駕駛、智慧陪伴、能源、輿情監控、智慧農業、智慧生產等等,AI 似乎涵蓋了我們生產生活的方方面面。


但在這裡我想問幾個問題:哪些應用真的需要 AI?當我們用 AI 的時候,我們希望它能幫我們解決什麼問題?我們做晶片的人特別想知道,什麼是 AI 的殺手級應用?什麼樣的 AI 是我們每天都需要的?


這些問題直到今天都沒有答案,有些貌似是 AI 的東西,但實際上不是 AI。


給大家說個笑話,今年是我的本命年,所以今年春節我要買一條紅圍巾,我就在網上搜了一下,但我沒買,結果我就發現在我的手機上就不斷出現紅圍巾的廣告,這讓我感到非常的煩,它是 AI 嗎?它具備一種 AI 的性質,但它又不是 AI。它是給我幫助嗎?是給我幫助,但不是我需要的幫助,我只不過看了一眼而已。回想幾年以前,我想買一座檯燈,結果在兩個月當中,我的手機上就不斷出現檯燈廣告。


我想,這都是對 AI 發展過程中的一種偏見,或者還沒有達到 AI 真正需要的能力。


三、應用和架構創新是發展人工智慧晶片的必由之路


640?wx_fmt=jpeg


我們說,應用確實很難,但是現在顧不了那麼多,我們做晶片的人一定要先想到架構是什麼,因此架構創新很重要。從感知、傳輸到中間的處理,一直到後面的傳輸和執行,這是發展過程中大概躲避不了的基本架構。


感知通過感測器,執行通過執行器,中間的傳輸有很複雜的網路,不管你處理多複雜的問題,大概的基本邏輯都在這,關鍵是中間這一塊,所謂智慧處理的根本架構是什麼?我們不知道,因為我們不知道人是怎麼想問題的,所以我們只能用今天計算機的方式來想,大概是什麼樣的結構。有系統軟體,有處理器,有儲存,我們只能這樣積極地模仿它而已。


不可避免地,我們要碰到這樣一個基本定義,多輸入多輸出的系統,高度複雜、靈活的互聯結構,多工且高度並行化的執行系統,多處理單元系統,並行分散式儲存,並行分散式軟體,分散式處理與集中控制系統等等。


通過一個平時處理事情的簡單流程來看看,我們是否真的能夠按照自己能夠接受的邏輯來思考一下整個流程?


當我們看到一個人,先看他長得什麼樣子,然後查查我的記憶,看我到底認不認識他。如果我沒見過他,我要去認識一下,交換一下名片,先問下“您是什麼單位的”,然後握握手,交換一下名片,然後就算是認識了,加深一下印象,再回到最開始。


在這個過程當中,大量的內容需要計算,計算無處不在。所以我覺得計算本身是我們架構創新的基本前提。為什麼 GPU 在今天能夠大行其道?就是因為它有很好的計算量,別人趕不上它。


但是,由於計算量如此豐富,我們又不知道人腦是怎樣完成計算的,我們有的只有現在的晶片和軟體,因此我們只好通過我們熟知的方式來構建一個所謂的能夠具備智慧處理能力的晶片。這就一定會包含兩個部分:智慧軟體和智慧硬體。


智慧軟體應該包含這樣幾個方面的內容:自己學習的能力;形成知識和經驗的能力;持續改進和優化的能力;再生和組織的能力;思維邏輯推理的能力;以及作出正確判斷和決策的能力。


這些都不是晶片做的事情,而是軟體做的事情,所以軟體的作用在所謂的智慧晶片中起的作用一點也不比晶片差。


相反,晶片更多的是提供高效能運算平臺,多工平行計算能力,足夠的頻寬和吞吐量,極高的能量效率,靈活高效的儲存,定址功能,以及實時動態的功能變換能力。


我們經常說,實現智慧的核心其實是軟體,不是晶片,晶片不過是支撐智慧的技術而已。因此,我們要改變下思路:做晶片的人,特別是做 AI 晶片的人,要把軟體放在足夠高的位置,因為它才是真正實現人工智慧的根本點。


640?wx_fmt=jpeg


在這種情況下,我們希望硬體能夠跟著軟體不斷變化,所以這裡提出了“軟體定義晶片”的概念,也就是 Software defines Chip(SdC)。晶片如果不能被軟體定義,那你是做不好的。


我們早在 10 年前就提出了這個概念,但是陽春白雪,和者蓋寡,知道的人並不多。但去年有一個很有趣的現象,DARPA 在電子振興計劃(ERI)中提出了三個支柱:材料、架構、設計,用於支撐美國 2025 - 2030 年之間的國家電子設計能力。這其中每一個方向都設定了一個課題,其中一個課題在架構中提出了軟體定義硬體的概念,也就是 Software defines Hardware。


我摘錄了中間的一段話:所謂要建立執行時可以實時重新配置的硬體和軟體,他們具備像 ASIC 一樣的效能,而沒有犧牲資料密集型計算的可程式設計性。


那什麼叫 runtime(實時執行時)呢?它可以讓你的硬體結構可以跟著軟體在變化的時候是 300~1000 納秒,也就是硬體跟著軟體變化,硬體功能和架構隨軟體變化而變化,這是一個重要特點。我只能笑一笑說,這個工作我們 10 年前已經完成了,遠遠走在了美國同行前面。


大家可能覺得 FPGA 早就可以這樣做了,但我認為 FPGA 不行,為什麼呢?我這裡要指出 FPGA 的十大缺陷,希望使用 FPGA 的人不要在意:


  1. 細粒度:由於要實現位元級運算,運算顆粒度必須為細粒度;

  2. 配置資訊量大:通常為幾兆到十幾兆位元組;

  3. 配置時間長:通常需要十幾毫秒到幾十毫秒;

  4. 靜態程式設計:一旦配置完成,不可更改。如果要改變 FPGA 的功能,只能下電或線上重新載入配置資訊;

  5. 邏輯不可複用:所有電路必須全部裝入 FPGA ,複用性為零;

  6. 面積效率低:每個 LUT 只能實現一位運算,面積效率只有 5%。一個千萬級的 FPGA 只能實現幾十萬門的邏輯電路;

  7. 能量效率低:由於邏輯利用率低,引發無效功耗巨大;

  8. 需要特種工藝:FPGA 往往需要最先進的製造工藝,且需對工藝進行特別調整;

  9. 電路設計技術:應用者必須具備電路設計知識和經驗;

  10. 成本高昂:目前的 FPGA 價格為幾千到幾萬美元一片。


我只列出了 10 個缺陷,從這些缺陷裡大家可以看到,你可以用 FPGA 做一個簡單的驗證系統,但用 FPGA 做一個實用系統,對不起,恐怕很難。


所以我們說 FPGA 無法承擔 SdC 的重任,想要做到軟體定義晶片非常困難。


那什麼樣的系統可以完成我們所說的 SdC 呢?


640?wx_fmt=jpeg


我們應該從最理想的計算硬體架構上去考慮。上圖左邊給出了一個軟體,右邊是一個與其拓撲結構完全一致的硬體結構。當然,我們沒有考慮硬體本身的開銷,這樣的計算效率一定是最高的,我想這一點不用懷疑。


640?wx_fmt=jpeg


可惜的是,軟體可以無窮大,硬體總是有邊界的。因此我們只好把軟體分成若干塊,一塊一塊地搬過去,比如第一個模組搬過去,執行完後,趕快改變它,然後執行第二個模組,然後按照它的任務依賴性把第三個、第四個、第五個模組.....依次搬過去,直到完成。


顯然,這樣一個邏輯發展就要求我們的硬體結構和它的功能必須是動態的,隨時可以改變,這就是軟體定義晶片的基本概念。


問題是怎樣才能很快去實現它呢?這是工作難點,我想我們在過去的 10 年當中,就是為了解決這個問題。


這樣的一種計算架構,實際上是專用積體電路當中非常經典的一種架構:資料通道+控制單元。


我們可以看到,控制單元根據軟體的要求,將劃分後的任務逐塊地送到資料通道中去執行,同時資料通道根據要求來配置計算單元並完成執行。道理很簡單,問題是要建立完全可重構的資料通道和完全可程式設計的控制單元,如果能夠做到這兩點,那這就是軟體可變化的。


640?wx_fmt=jpeg


這個與經典計算架構是有差別的,我把經典計算模式與我們現在的可重構計算模式做了一個比較。大家可以看到,傳統架構是馮諾依曼等效架構,它是剛性的;而可重構計算是柔性的,它是一個函式化的應用結構。


經典計算模式當中,它是應用適應計算,而我們恰好倒過來,計算架構適應應用。經典模式當中,一個任務有一個處理軟體,而在我們新架構當中,一個任務有多個等效處理軟體。


在經典架構的處理過程當中,軟體不變,而在現在的架構當中,硬體和軟體都在動態地、選擇性地改變。經典架構採取的是高度複用的方式,原因是需要降低成本,而我們這邊採用的是冗餘應用。


這樣一種創新是不是改變了傳統的計算模式,比如馮諾依曼體系結構?很遺憾,告訴大家,我們還是在馮諾依曼體系結構當中,沒有改變,但是它卻有很大不同。


要改變馮諾依曼體系結構不是鬧著玩的事情,有人說,“我已經改變了這個模式,我做出了非馮計算結構”,我基本會跟他說,“你沒弄明白什麼叫非馮結構”。


我們利用這樣一個結構,也就是軟體定義晶片、可重構硬體這樣一種結構,來實現 AI 晶片的時候,我發現它有獨特的優勢,我可以把硬體按照 AI 演算法來不停地變換,以達到最佳計算效率。


從 AI 的應用著手,定義我們所要採用的深度神經網路,然後再決定硬體功能,這樣的一種結構,我們認為是最佳的一種方式。當然,最開始我們並不知道這一點,我們只是在無意當中嘗試了這裡面的基本計算單元。


640?wx_fmt=jpeg


上圖左邊有一個陣列,每個方框裡面都有 PE,基礎計算單元的架構是什麼?我們這裡面分成兩種,一種叫通用的,一種叫超級的,這兩種方式代表了不同的計算內容,包括卷積計算、全連線計算、池化等等。我們可以通過定義的方式,把每個 PE 的功能隨時進行定義,來完成我們需要的網路運算。


不僅如此,我們還可以把一個陣列上眾多的 PE 通過定義方式不斷改變,來適應不同層面的計算內容。通過這種方式,也可以大大提升我們系統能效。


640?wx_fmt=jpeg


在過去的兩三年中,我們做了這樣幾款晶片:Thinker - Ⅰ ,Thinker - Ⅱ,Thinker - S。Thinker - Ⅰ 在去年的國際會議上獲得了大獎,在今年的 ISCC 上我們對 Thinker - Ⅱ 做了相應的介紹,Thinker - S 被 MIT Technology Review 報導了。


Thinker - Ⅱ 在做人臉識別的時候,只需要 6 ms,而且功耗極低;Thinker - S 在用於語音應用的時候,只需要 0.3 mW 的功耗,在 MIT Technology Review 的介紹當中,一顆 3A 的電池可以用一年的時間。


四、總結


640?wx_fmt=jpeg


最後總結一下。雖然我們做了 AI 晶片,但是從我內心來說,我從來不承認我是做 AI 晶片的。上圖是 Gartner 的 Hyper Cycle,我把跟 AI 相關的內容都用紅線標了出來。可以看到,AI 基本還在第一個峰波上,也就是說,它還處在第一輪的發展過程當中。AI 現在太熱了,甚至我們的媒體在推波助瀾的過程當中起了一些不太好的作用,我認為現在 AI 是過熱的。


640?wx_fmt=jpeg


最後我想提幾個問題。


因為還不存在適應所有應用的通用演算法,所以應用領域的確定成為 AI 晶片發展的一個重要前提,但非常遺憾,AI 的殺手級應用到目前為止還沒有出現。因此,AI 的發展還有很長的路要走。


但這不是主要的,最重要的問題是,能否出現像通用 CPU 那樣獨立存在的通用 AI 處理器?如果存在,它的架構會是什麼樣子?如果不存在,那我們今天以滿足特定應用為主要目標的 AI 晶片恐怕就只能做 IP 核了,早晚有一天會被人家吸收到 SoC 當中去,那 AI 晶片公司將何去何從?


最後,兩到三年內,我們一定會碰到一個低潮,這是不可避免的,今天的一部分,甚至是大部分的創業者將成為這場技術變革當中的先烈,但我很欽佩大家。


毫無疑問,這將是 AI 晶片發展過程中,最令人欽佩也最令人動容的偉大事件。


精彩推薦

2018年3月30-31日,第二屆中國區塊鏈技術暨應用大會將於北京喜來登長城飯店盛大開場,50+區塊鏈技術領導人物,100+區塊鏈投資商業大咖,100+技術&財經媒體,1000+區塊鏈技術愛好者,強強聯合,共同探討最in區塊鏈技術,豪華乾貨禮包享不停。八折門票火熱搶購中!2018,未來已來,帶你玩轉區塊鏈。


640?wx_fmt=jpeg


AI科技大本營使用者群(計算機視覺、機器學習、深度學習、NLP、Python、AI硬體、AI+金融、AI+PM方向)正在招募中,後臺回覆:讀者群,聯絡營長,新增營長請備註姓名,研究方向。

☟☟☟點選 | 閱讀原文 | 檢視大會詳情

相關文章