11月初,2020年度國家科學技術獎勵名單釋出,陳雲霽主持的「深度學習處理器體系結構新正規化」專案獲得國家自然科學獎二等獎。
該獲獎專案的參與人均來自中國科學院計算技術研究所,除了陳雲霽研究員,還有陳天石研究員、杜子東博士、孫凝暉院士與郭崎研究員,可以說集結了人工智慧與高效能計算雙領域的兩派高手。
計算機領域無人不知:陳雲霽與陳天石等人開發出國際首個深度學習處理器晶片寒武紀1號,引起全球範圍內的廣泛關注,陳雲霽與陳天石也因此被國際科學頂刊Science刊文評為AI晶片的「先驅者」。
傳統上認為,處理器晶片的研究創新偏向「從無到有」的發明系列。而這次計算所團隊的工作獲得的是處理器晶片領域歷史上首個國家自然科學二等獎。國家自然科學獎是中國五個國家科學技術獎之一,授予在基礎研究和應用基礎研究中闡明自然現象、特徵和規律、做出重大科學發現的公民。
因此,AI科技評論第一時間聯絡了陳雲霽本人,就本次獲獎專案與深度學習處理器的相關研究內容與陳雲霽教授進行了較為深入的交流。
據陳雲霽介紹,他們本次獲得國家自然科學獎二等獎的專案主要是從理論上闡明瞭深度學習演算法在硬體上執行的共性基本規律,從而形成了深度學習處理器這樣一種體系結構新正規化。
例如,他們發現深度學習在計算上的五個最基本運算元:向量、矩陣、距離、非線性函式與排序。如同樂高拼外掛,基於這五個運算元設計出的深度學習處理器,可以處理成千上萬、不斷演進的深度學習演算法。這為後來者在深度學習處理器方向發力做出了重要的指導作用。
此外,陳雲霽介紹,這十多年來,他們主要在做兩件事:一是開發深度學習處理器助力人工智慧計算,二是反過來,用人工智慧方法指導晶片的設計,該方向也日益受到學者們的關注。
1、獲獎專案詳情
AI科技評論:能否介紹一下這次獲獎專案(「深度學習處理器體系結構新正規化」)的研究背景?
陳雲霽:人類社會開始逐漸進入智慧時代,其中最核心的技術之一就是深度學習。深度學習對計算量的需求非常大,因為裡面的模型往往是一個大規模的多層人工神經網路。一般來說,模型的規模越大,層數越多,潛在的表達能力就越強。某種意義上來說,計算量與智慧水平之間的關係是正相關的。那麼,這就帶來一個問題:傳統的晶片不一定適合深度學習的計算模式。所以我們提出了深度學習處理器這樣的新體系結構正規化,用來應對深度學習的任務。
所謂「正規化」(paradigm),就是「受到廣泛認可的模式」。比如說,CPU(中央處理器)就是一種正規化,有很多企業參照 CPU 這個正規化做出了各種各樣的 CPU 來。GPU(圖形處理器)也是一種正規化,AMD、英偉達也是根據 GPU 這種正規化去設計GPU晶片。我們提出來的深度學習處理器,也是一種正規化,大家可以參照這種正規化去設計各種各樣的處理器晶片。
AI科技評論:深度學習處理器是您與陳天石教授共同提出來的,大概在2014年前後。這個專案也是沿襲了當時的研究嗎?
陳雲霽:對,是一脈相承的。最開始我們是設計了一個具體的深度學習處理器結構,比如2014年的DianNao,是我們跟法國INRIA(法國國立計算機及自動化研究院)合作的。但一個架構背後的基本規律與正規化是什麼?就是我們這個專案的貢獻。雷鋒網
AI科技評論:您是說理論上的研究突破嗎?
陳雲霽:對。所謂的「正規化」,就好比一個模板。具體的深度學習處理器架構,是可以根據這個模板去衍生出來的。過去我們設計一個具體的深度學習處理器,當然也很有意義,但可能會更偏向發明。而我們這次的工作,最主要是找到了深度學習處理器架構背後的共性正規化,有了這個正規化後,其他高校與企業都可以參照這個正規化去設計自己的晶片。雷鋒網
AI科技評論:能否具體講講正規化的內涵?
陳雲霽:我們最主要是找到了深度學習演算法在硬體上執行的共性基本規律,包括計算、訪存和通訊。
以計算為例。我們發現,你要設計一個深度學習處理器,可以設計成各種各樣,但必須至少支援五種最基本的運算元:向量、矩陣、距離、非線性函式與排序。只要你支援好這五種運算元,就可以支撐成千上萬種深度學習演算法。雷鋒網
就好像樂高積木。樂高積木就是透過基本的接外掛去拼出各種各樣的城堡、飛機等等,我們相當於找到了最基本的樂高接外掛。深度學習可能會不斷演進或產生新的深度運算,但沒有關係,我只要用這五個小樂高就可以把它給搭出來。所以這是我們在自然科學規律上的一個發現。
AI科技評論:這個專案大概是從什麼時候開始的?
陳雲霽:最早是2008年。當時我們開始探索人工智慧和晶片設計的交叉研究。我從2002年開始做晶片設計,我弟弟陳天石從2005年讀研開始研究人工智慧演算法。所以我們就一起探討人工智慧與晶片設計的交叉結合。雷鋒網
AI科技評論:我們看到這個專案中還有杜子東博士、孫凝暉院士與郭崎研究員,他們是從什麼時候開始加進來的?
陳雲霽:最早是我和陳天石,後來孫凝暉院士、杜子東博士與郭崎研究員陸續加進來。深度學習處理器是一系列的工作,我們每個人都在其中做出了自己的貢獻。
我跟陳天石可能參與得多一點,方方面面都參與了。杜子東也是比較早參與到這個工作中的,從他讀研時開始,在運算元之間的融合運算模式中起到了非常關鍵的作用。郭崎也是從2008年就開始參與,那時候他還是一個博士生,主要是在訪存方面做了一些工作。
孫凝暉院士既是我們研究所(中國科學院計算技術研究所)的學術所長,也是我們計算機體系結構國家重點實驗室的主任。我們這個工作是一個體繫結構的工作,孫院士在計算和通訊的體系結構規律的探索上都作出了很重要的貢獻。雷鋒網
AI科技評論:深度學習處理器是不是高效能計算與人工智慧的結合?
陳雲霽:我覺得它在很多思想與方法上將這兩個方面結合到了一起。如果時間倒退到十多年前,大家可能會覺得高效能計算與人工智慧之間沒有什麼直接關係,因為那時候深度學習方法還不是那麼流行。當時人工智慧的主流是支援向量機之類的方法,需要的計算量比較小,模型也比較小。
但現在不是這樣的。有一個非常有名的例子:2012年,谷歌大腦用1.6萬個CPU核去做深度學習訓練,教系統如何識別人臉、貓臉等。
這是一個明顯的、高效能計算與人工智慧匯聚在一起的例子,而晶片又是高效能計算中最關鍵的部分。
這也與我們計算所的長期淵源有關。上世紀80年代末,李國傑院士從國外回來,成立了國家智慧計算機研究開發中心。李院士是第一任主任,後來孫院士是第二任主任。我們這些研究實際上也是沿著這個脈絡流傳下來的。這使得我們的成員對人工智慧的發展脈絡有比較清晰的理解,其次是啟發我們去思考人工智慧演算法共有的計算模式是什麼樣的。
AI科技評論:與寒武紀相比,這個專案更多是一個學術研究專案,還是一個工業研究專案?
陳雲霽:這完全是一個基礎理論研究專案。國家自然科學獎都是面向基礎科學研究。基礎研究的一個特點是要促進整個人類的進步,尤其是對於計算所這樣一個國立科研院所來說,它應該是透過技術研究,能夠讓國內同行、國外的同行乃至整個社會從中受益。當然,寒武紀1號晶片也受到了這個專案論文的影響。
理論上的指導非常重要。舉個例子,如果沒有愛因斯坦的質能方程(E=MC^2),所有的核電站都是不存在的。所以,需要有一個基本的理論,然後大家根據這個理論去設計各種各樣的具體晶片。所以,它的目標還是推動整個社會的進步。
2、深度學習處理器研究觀察
AI科技評論:根據您的觀察,應用於深度學習的處理器在體系結構上有什麼特點?與用於通用計算的處理器有什麼相同或不同之處?
陳雲霽:從計算和訪存兩個維度上來說吧。
從計算維度上看,通用計算最主要是做加減乘除,但對於深度學習處理器來說,最基本的是我剛剛講的五個運算元。
從訪存的角度來看,通用 CPU 在訪問記憶體時是一個通道,而深度學習演算法有一個共性,是裡面的資料可以分為三個流,就像小朋友放學回家、會自動排成三個路隊,比如說輸入神經元、輸出神經元與連線權重。
基於這些客觀規律,我們在設計深度學習處理器的部件時,就會針對性地去設計。在計算層面,我們也可以把它拆解成五種共性的基本演算法。在訪存層面,它可以抽象成一個訪存資料流,最後自動聚成三個流。
從實踐的角度,具體的晶片你想怎麼設計都是可以的。原先你可以把大家強行按在一個通道里。但我們把理論上的客觀規律告訴學術界和工業界之後,大家一般就會設計三個獨立的通道,兵分三路,那麼效率肯定會提高。
AI科技評論:據您瞭解,您的團隊所提出的理論影響的設計晶片的公司有哪些?
陳雲霽:引用我們的發現的單位非常多。我們這裡有一個大概的統計,說現在全球有5大洲、30個國家/地區、200個機構在引用或跟蹤我們的工作,其中接近一半是美國的機構,引用者包括15位中美院士和120餘位ACM/IEEE Fellow。全球前一百的大學(QS排名)一大半在引用我們的工作,包括哈佛、斯坦福、麻省理工、普林斯頓等等。很多業界頂尖的晶片公司,包括英偉達、谷歌、華為、聯發科、英特爾、三星、IBM、高通、微軟、臺積電、蘋果、AMD等,都在引用我們專案的成果,開展相關研究。
所以深度學習領域最權威的教科書《Deep Learning》(又稱「花書」),由圖靈獎獲得者Yoshua Bengio所著,也引用了我們的工作。
我記得有位院士說過,做科研就兩個目標,一個是進教科書,一個是進貨架。能實現哪一個都是很好的。對我們計算所來說,我們最期望的事情是進教科書裡。過去我們基礎理論的工作能夠進教科書的還是不多的。
AI科技評論:所以您是更關注它在學術上的突破對嗎?
陳雲霽:對。學術的突破也會受到我們國際同行企業的關注。舉個例子,光英偉達就引用了我們的工作超過50次,英偉達的首席科學家 Bill Dally 在他的一些核心研究中也多次引用我們的工作,而且明確地指出他們的方法跟我們之前的工作類似。包括谷歌做的第一篇深度學習處理器論文,裡面的作者有一點陣圖靈獎得主和三位美國工程院院士,也引用了我們這個專案裡的多個成果。
AI科技評論:您在深度學習處理器上的研究是否主要分為體系架構設計階段與理論完善階段?還是有其他分法?
陳雲霽:應該不是這樣劃分。我們從2007年、2008年開始,就是將理論與實踐緊密結合。中科大的校訓就是「理實交融」。一方面, 我要設計一個具體的晶片,但另一方面,我們也要找出晶片背後的規律是什麼。
就拿馮諾依曼體系結構來說。它是怎麼出來的呢?是美國造了第一臺通用計算機,叫「伊尼亞克」(ENIAC)。設計ENIAC的兩個工程師,一個叫John Mauchly,一個叫Presper Eckert。造ENIAC的人當然有很多寶貴的經驗,但也有很多地方沒想清楚,所以在初步建成ENIAC後,他們就請了馮·諾依曼來當顧問。
馮·諾依曼仔細分析了這臺機器的優劣之處,然後提出了馮諾依曼架構,在此之後,我們造計算機都按照馮諾依曼機構來。所以從某種意義上說,沒有ENIAC,就沒有馮諾依曼架構。但如果沒有馮諾依曼架構,不做理論突破,只照著當年的ENIAC,就沒有現在的計算機,因為當時的ENIAC有很多問題。
我舉個例子。如果你想聽歌,聽完歌后看電影,換個App就行,不需要將手機拆開、電路板拆開重組。但那個時候的ENIAC不是這樣的。你想讓它幹別的事,得把機器裡面的電線管子拔來插去,弄半天才能換個任務。然後馮·諾依曼總結了ENIAC的得失,進行了科學探索,形成了馮·諾依曼架構,才形成了我們現在計算機的最基本正規化。
AI科技評論:所以從2008年開始,你們就是理論與實踐雙管齊下。
陳雲霽:對,我們一直都是這樣。理論與實踐要相互印證。我記得毛主席的實踐論裡面就談到,認識的第一次飛躍是從感性認識到理性認識,然後第二次飛躍再從理性回到實踐中,如此螺旋交替上升。理論與實踐是密不可分的。
AI科技評論:您會怎樣劃分您在深度學習處理器上的研究內容?
陳雲霽:這十多年來,我們其實就幹了兩件事,一個是開發深度學習處理器來幫助人工智慧處理,另一個是用人工智慧來幫助晶片設計。
現在這個問題(用人工智慧幫助晶片設計)也很熱門。比如,我們在設計一個具體的晶片時,裡面有很多引數,我們不知道哪一個選擇是最好的,就可以用人工智慧方法幫我們挑出來。還有佈局、佈線問題。現在谷歌也在用人工智慧去做晶片的佈局與佈線(Placement & Routing)。一個晶片裡有幾十億甚至上百億個電晶體,要用線將它們連線起來,那麼某個電晶體應該放在什麼地方?它們之間怎麼連線?這是一個非常複雜的問題,全靠人工去做不太現實。
AI科技評論:你們的一個標誌性工作在2014年拿了ASPLOS最佳論文獎,所以從2008年到2014年間主要是做了這兩件事對嗎?
陳雲霽:是的。這個過程其實非常痛苦,挑戰性也比較大。在當時,我們做人工智慧和晶片設計的交叉研究,就像在一個迷霧森林裡,不知道東西南北,甚至不知道有沒有出口,很茫然。當我們告訴大家我們做了一個深度學習處理器的時候,其實最艱難的地方已經過去了。最難的時候,我們甚至不知道自己在幹什麼,只知道想把人工智慧與晶片設計結合起來,那結合起來到底會產生什麼?我們不知道。
AI科技評論:那是在哪一個節點稍微感覺有頭緒了呢?
陳雲霽:可能是2012年左右開始有一點感覺了。
AI科技評論:當時是取得了哪些突破、讓你們感覺沒那麼茫然嗎?
陳雲霽:這個沒有。我們不是坐在那突然靈光一現,都是慢慢摸索,有很多小的成功,最後匯成了一個大的突破。
在2014年以前,我們最大的挑戰可能是,我們在做的這個研究在當時的學術界是不認可的,工業界是不關心的,然後做這個(深度學習處理器)也發不了論文、申不了專案。但是,我們相信自己的學術理想,所以最後能夠堅持做下來。
其實世界上聰明的人很多,只要你看準了一個方向,能夠堅持做起來,我覺得基本上都能夠看到成果。
AI科技評論:2014年獲得ASPLOS最佳論文後,你們的研究內容有變化嗎?
陳雲霽:2014年之後,我們還是在這方面繼續做了一系列工作。比如,我們開發了國際上第一個深度學習處理器的指令集 Cambricon,發表在了ISCA 2016上(獲得最高分)。我們獲得國家自然科學獎的成果,有很多是從那篇文章(如下)體現出來的,因為它歸納了一些最基本的計算與訪存知識。
論文連結:https://max.book118.com/html/2019/0610/8003056114002027.shtm
AI科技評論:您在剛剛工作的時候就去做這種交叉研究,還是非常有勇氣的。
陳雲霽:是的,我現在想想也是挺無知無畏的。
我覺得當時最主要是有一個比較好的環境。坦率來說,現在國內學術界的青年科研人員的壓力其實非常大,一會要評副高,一會要評正高,一會要評博導,在這麼大的生存壓力下,他們還有沒有勇氣去做一些國際主流學術界不認可的方向?反過來說,你想做一個國際上原創性的工作,那麼在這個工作做出來之前,它一定是不被認可的。
去做一個全世界不認可的工作,然後透過自己的努力讓這個工作被國際學術界認可,而且成為國際學術界的主流,這是最理想的情況。這條路的風險非常大,所以現在大部分青年科研人員只能屈從生存壓力,在國際主流學術界已經認可的方向上做一些添磚加瓦的工作,比較容易發文章,評職稱的風險會小一點。
但真正具有原創性的創新工作,往往是一個年輕博士在剛畢業時做出來的。比如,愛因斯坦提出狹義相對論的時候只有25歲。那現在我們25歲的人敢不敢去做這樣的大問題?這是個問題。
不過人非聖賢,肯定都要考慮自己的實際生活。我覺得還有一種選擇,就是青年科研人員能有一半的時間做國際主流的研究,再拿出一半的時間去做一些非共識的研究,能夠平衡一下風險與收益。當時我們也是這樣做的。
AI科技評論:您當時除了做深度學習處理器,還有做其他研究嗎?
陳雲霽:對。我從剛畢業到2012年評上研究員、博導之前,主要的工作是做龍芯的通用CPU。當時胡偉武老師讓我擔任龍芯3號的主架構師,做的是傳統的晶片。所以我相當於大部分精力是花在了這上面。
陳雲霽:對。我一個剛剛畢業的博士生,一篇論文發不了,就算計算所不會把我怎麼樣,我自己也會感覺不踏實。但是你不能說一個人等已經評上了教授,再去做真正原創性的創新。雷鋒網
AI科技評論:您剛剛談到馮諾依曼體系架構。上世紀90年代,國際上也曾經有過一陣研製神經網路計算機的熱潮,現在的深度學習與神經網路處理器研究與當年相比有什麼突破?解決了哪些當年無法解決的問題?
陳雲霽:在上世紀90年代,不說國外,國內像李國傑院士、陳國良院士都做過這方面的工作。但當時最主要的問題是,他們那個時候能處理的神經網路規模很小,一般來說幾層神經網路,1000個神經元。
在深度學習時代,我們要處理的神經網路是沒有上限的,理論上可以達到幾百層,幾十億個神經元,這就帶來了一個質變:你怎麼樣用一個有限規模的硬體去處理一個無限規模的演算法?這是上世紀90年代那些工作不一定能解決的。
AI科技評論:你們提出來的深度學習處理器可以解決多大的神經網路?
陳雲霽:不受規模限制。雷鋒網
AI科技評論:現在大模型預訓練已經成為一種潮流,但由於對計算資源要求高、執行時間長、成本高,中小企業難以接受。您如何看這種趨勢,您的研究是否可以補上中小企業AI研究的短板?
陳雲霽:我覺得隨著計算技術的不斷髮展,大模型會逐漸進入到每個企業、每個人所能達到的範疇裡。就像影片編解碼。在上個世紀,影片編碼也是隻有很大的機器才能做的事情,也就是隻有大的企業去做。但現在我們的手機就可以影片編碼,你隨便拍一個影片,然後它在手機上給你編碼好。所以我對大模型是很樂觀的,只是需要時間,遵循「摩爾定律」。摩爾定律還是很強的。雷鋒網
圖注:英特爾聯合創始人戈登·摩爾(Gordon Moore)在1965年提出摩爾定律,認為「積體電路晶片上所整合的電晶體數量每隔18個月翻一番」,帶來晶片算力的指數增長,也促進了通用計算機的飛速發展
AI科技評論:不是說摩爾定律已經失效了嗎?
陳雲霽:我上大學的時候就說摩爾定律要失效了,現在還沒有失效。還有很多電晶體結構、封裝、器件材料上的創新,有可能再延續摩爾定律更長的時間。我上大學的時候還聽過一個說法,說地球上的石油還有XX年就用完了,但現在大家說還有很多(石油)。雷鋒網
AI科技評論:在您所設想的通用智慧處理器體系結構中,深度學習處理器、CPU與GPU等分別扮演什麼角色?
陳雲霽:它們的目標領域不一樣。GPU是面向圖形處理,DSP是面向訊號處理,深度學習處理器是面向智慧處理,CPU是什麼都幹。在現代計算機體系結構裡,CPU就像一個司令官,它不再以計算為主要職責,更多是扮演一個管理排程的角色。
3、AI晶片的人才培養
AI科技評論:據您觀察,近幾年AI晶片的人才缺口方面有沒有改善?
陳雲霽:我們國家現在有很多高校成立了人工智慧專業,或人工智慧學院。但據我過去觀察,人才培養上還是有很大的缺失。不光是數量上的缺失,還有培養方法上的缺失。大家都是培養學生怎麼寫人工智慧演算法,或寫人工智慧APP。雷鋒網
我們的一個長期問題是「頭重腳輕」,應用層做得非常好,但軟硬體根基層上一般,基本不培養做核心軟硬體的人才。這是一個很大的趨勢。有一年,斯坦福大學邀請我去開一個關於智慧計算系統基礎軟硬體的短期課程,我在網上查了一下才發現,斯坦福也沒有這樣的課程,所以它才會找我去(講課)。然後國內也沒有這樣的課程。雷鋒網
我當時就在想,我們是不是應該做點什麼事?所以,2019年,我們就在中國科學院大學開設了國內第一門《智慧計算系統》課程,希望培養一批對人工智慧的基礎軟硬體有融會貫通的理解的人才。
AI科技評論:目前課程還在開設嗎?有取得成效嗎?
陳雲霽:這門課程現在還在進行中,近年來還是取得了比較好的成效。現在全國已經有 80 所高校都開設了這門課。我們把教材寫好了,教案寫好了,PPT也寫好了,MOOC也做好了,而且全部放到了網上。我們還搭了一個大的雲平臺,供大家做實驗。雷峰網
從資料觀察,我們現在已經培養了大約1.3萬名學生。這門課程已經被國科大、中科大、北大、清華、北航、復旦、上交等學校列入了他們的本科生或研究生培養計劃裡。我們還舉辦了多次導教班/助教班,培養了180餘所學校約1200位老師和約200位助教。雷鋒網
AI科技評論:在人才培養上,您的建議與看法是什麼?我們還需要加大哪些方面的投入?
陳雲霽:還是要理論與實踐相結合。不能光教理論,一定要讓學生動手做實驗。我們程式設計師行業裡面有一句著名的話:Talk is cheap. Show me the code.(話語是廉價的,給我看你的程式碼。)如果你沒有真正動手去寫程式碼,你就不能理解一個真正的智慧計算系統如何運轉。雷峰網