就在全世界媒體的焦點鎖定于谷歌AlphaGo連續(xù)3盤戰(zhàn)勝李世石的同時,中國科學院計算技術研究所陳云霽、陳天石課題組提出的深度學習處理器指令集DianNaoYu被計算機體系結構領域頂級國際會議ISCA2016(InternationalSymposiumonComputerArchitecture)所接收,其評分排名所有近300篇投稿的第一名。模擬實驗表明,采用DianNaoYu指令集的寒武紀深度學習處理器相對于x86指令集的CPU有兩個數(shù)量級的性能提升。
(寒武紀處理器)
寒武紀處理器是長期技術積累的成果
陳天石和陳云霽研究員在2014年5月刊發(fā)的《中國計算機學會通訊》(第10卷第5期)寫道:
“從2008年到現(xiàn)在,我們已經(jīng)在體系結構和人工智能的交叉研究方向上工作了6年。作為國際上為數(shù)不多的幾個長期開展此方向研究的團隊之一,我們在不被認可中堅持了下來,并嘗試通過自己的努力來改善這個領域的環(huán)境(當然近年來環(huán)境的改善也得益于深度學習的興起),最終得到了學術界一定程度的肯定。
回想起來,如果我們緊緊跟隨國際學術圈的熱點走,我們是很難拿到ASPLOS最佳論文獎的。原因有兩個方面:第一,當我們看到別人的“熱點”論文發(fā)表后再去跟著做,可能已經(jīng)比別人晚了若干年。尤其是體系結構領域,論文的工作周期非常長(ASPLOS2014上發(fā)表的論文,我們在2012年就啟動相關工作了),要跟上熱點很困難。第二,當跟隨熱點時,我們的工作不可避免地會被視為對某個過往論文的改進。這種改進效果必須非常顯著,機理必須非常清晰,才能打動頂級會議挑剔的審稿人。這對于論文寫作提出了很高的要求,而中國大陸研究者往往在英文論文寫作上不占優(yōu)勢。但這里存在一個矛盾:緊跟多變的國際學術圈熱點,論文不容易在頂級會議上發(fā)表;而探討的問題若不是國際學術圈熱點,論文同樣很難在頂級會議上發(fā)表。
面對這個矛盾,我們的看法是:研究者應該堅持自己的學術理想,重視論文但不為論文發(fā)表所左右;同時盡力宣傳自己的研究方向,推動這個方向被國際學術圈的主流認可。經(jīng)過長期的等待和努力,也許有一天,自己的研究方向就會成為熱點。到那時,過去的一切坎坷都會被證明是值得的。”
截至目前,陳天石博士和陳云霽研究員就光寒武紀系列的技術成果,已經(jīng)斬獲兩篇ASPLOS,兩篇ISCA,一篇MICRO,一篇HPCA,這些是計算機體系結構方面國際四大頂級會議,只不過只有科研圈子里關注,普通人還不明白其中的意義。
因此,寒武紀處理器并非借著借著阿法狗對決李世石的熱點橫空出世,而是長期技術積累的結果,并在數(shù)年前就于高端國際會議中榮獲殊榮。事實上,中國在智能芯片上是引領世界的——以寒武紀芯片為例,美國的哈佛、斯坦福、MIT、哥倫比亞等高校都跟在我們后面做。鐵流認為,寒武紀之所以過去一直不見于主流媒體,僅僅是國內很多媒體人缺乏專業(yè)知識和辨識能力,而導致了更愿意鼓吹國外所謂“高科技”,卻對真正非常具有含金量的自主技術選擇性失明。
陳云霽(左)和陳天石(右)兄弟
寒武紀神經(jīng)網(wǎng)絡處理器廬山真面目
目前,寒武紀系列已包含三種原型處理器結構:
寒武紀1號(英文名DianNao,面向神經(jīng)網(wǎng)絡的原型處理器結構);
寒武紀2號(英文名DaDianNao,面向大規(guī)模神經(jīng)網(wǎng)絡);
寒武紀3號(英文名PuDianNao,面向多種機器學習算法)。
DianNao是寒武紀系列的第一個原型處理器結構,包含一個處理器核,主頻為0.98GHz,峰值性能達每秒4520億次神經(jīng)網(wǎng)絡基本運算,65nm工藝下功耗為0.485W,面積3.02mm2。在若干代表性神經(jīng)網(wǎng)絡上的實驗結果表明,DianNao的平均性能超過主流CPU核的100倍,但是面積和功耗僅為1/10,效能提升可達三個數(shù)量級;DianNao的平均性能與主流GPGPU相當,但面積和功耗僅為主流GPGPU百分之一量級。
DianNao的核心問題是如何讓有限的內存帶寬喂飽運算功能部件,使得運算和訪存平衡,從而達到高效能比。難點在于選取運算功能部件的數(shù)量、組織策略以及片上RAM的結構參數(shù)。由于整個結構參數(shù)空間有上千萬種選擇,模擬器運行速度不及真實芯片的十萬分之一,不可能蠻力嘗試各種可能的設計參數(shù)。為解決此問題,使用了一套基于機器學習的處理器性能建模方法,并基于該性能模型最終為DianNao選定了各項設計參數(shù),在運算和訪存間取得了平衡,顯著提升了執(zhí)行神經(jīng)網(wǎng)絡算法時的效能。
即便數(shù)據(jù)已經(jīng)從內存取到了片上,搬運的能耗依然非常高。NVidia首席科學家Steve Keckler曾經(jīng)指出,在40nm工藝下,將64位數(shù)據(jù)搬運20毫米所花的能耗是做64位浮點乘法的數(shù)倍。
因此,要降低處理器功耗,僅僅降低運算功耗是不夠的,必須優(yōu)化片上數(shù)據(jù)搬運。中科院計算所提出對神經(jīng)網(wǎng)絡進行分塊處理,將不同類型的數(shù)據(jù)塊存放在不同的片上RAM中,并建立理論模型來刻畫RAM與RAM、RAM與運算部件、RAM與內存之間搬運次數(shù),進而優(yōu)化神經(jīng)網(wǎng)絡運算所需的數(shù)據(jù)搬運次數(shù)。相對于CPU/GPU上基于cache層次的數(shù)據(jù)搬運,DianNao可將數(shù)據(jù)搬運減少10~30倍。
(DianNao結構)
DaDianNao在DianNao的基礎上進一步擴大了處理器的規(guī)模,包含16個處理器核和更大的片上存儲,并支持多處理器芯片間直接高速互連,避免了高昂的內存訪問開銷。在28nm 工藝下,DaDianNao的主頻為606MHz,面積67.7 mm2,功耗約16W。單芯片性能超過了主流GPU的21倍,而能耗僅為主流GPU的1/330。64芯片組成的高效能計算系統(tǒng)較主流GPU的性能提升甚至可達450倍,但總能耗僅為1/150。
雖然神經(jīng)網(wǎng)絡已成為模式識別等領域的主流算法,但用戶很多時候可能傾向于使用其他一些經(jīng)典的機器學習算法。
例如程序化交易中經(jīng)常使用線性回歸這類可解釋性好、復雜度低的算法。在此背景下,寒武紀3號多用途機器學習處理器PuDianNao應運而生,當前已可支持k-最近鄰、k-均值、樸素貝葉斯、線性回歸、支持向量機、決策樹、神經(jīng)網(wǎng)絡等近十種代表性機器學習算法。PuDianNao的主頻為1GHz,峰值性能達每秒10560億次基本操作,面積3.51mm2,功耗為0.596W(65nm工藝下)。PuDianNao運行上述機器學習算法時的平均性能與主流GPGPU相當,但面積和功耗僅為主流GPGPU百分之一量級。
(PuDianNao版圖)
神經(jīng)網(wǎng)絡處理器的市場前景
在上世紀80年代,因人工智能無法達到公眾/投資人的預期,導致整個行業(yè)陷入低谷。
近年來,隨著算法、應用和工藝三個方面都發(fā)生了劇烈的變化,神經(jīng)網(wǎng)絡處理器涅磐重生。
2006年, Hinton、LeCun和Bengio等人提出了深度學習方法,在深層人工神經(jīng)網(wǎng)絡的訓練上取得了巨大的突破。
簡單地說,深度學習方法在傳統(tǒng)的人工神經(jīng)網(wǎng)絡訓練中增加了一個預訓練階段,即用無監(jiān)督學習對每一層網(wǎng)絡進行一次專門的訓練,然后才用有監(jiān)督學習對整個網(wǎng)絡進行總體訓練。通過深度學習方法,人工神經(jīng)網(wǎng)絡的效果一舉趕上甚至顯著超過了支持向量機等其他機器學習方法,在IBM、谷歌、微軟、科大訊飛、百度等公司很多工業(yè)級圖像和語音處理應用上取得了非常好的效果。
為什么深度學習會有效,暫時還沒有傳統(tǒng)的統(tǒng)計學習理論方面的完美證明。目前一種比較直觀的的解釋是:分層預訓練相當于對輸入數(shù)據(jù)進行逐級抽象,這暗合生物大腦的認知過程比較(例如人腦就是一種深層的神經(jīng)網(wǎng)絡,在認知過程中會逐層將看到的原始圖像或聽到的原始聲波最終抽象成語義符號)。
既然人工神經(jīng)網(wǎng)絡已經(jīng)重新成為最有效的認知任務處理算法(至少是之一),只要人工智能健康發(fā)展,專門的神經(jīng)網(wǎng)絡處理器自然能隨著產業(yè)發(fā)展而茁壯成長。
另外,隨著日常生活顯然需要進行大量的認知活動,自然而然地,計算機體系結構研究者的目光必須要從傳統(tǒng)的科學計算轉到認知任務上。事實上,很多大公司已經(jīng)認識到這一點。Intel和IBM等傳統(tǒng)的硬件廠商都已經(jīng)成立了專門的部門進行認知任務處理的研究。而現(xiàn)在體系結構研究中最常見的測試集Parsec中近半數(shù)都是認知類的應用(如bodytrack、facesim、freqmine、streamcluster、vips等)。在認知任務已經(jīng)成了當前計算機最主要的任務之一的情況下,用戶和市場自然會有加速人工神經(jīng)網(wǎng)絡的需求。
因此,筆者認為只要不發(fā)生社會和媒體過分炒作人工智能,最終導致整個行業(yè)陷入低谷的情況正如80年代已經(jīng)發(fā)生過的情況,寒武紀的市場前景是非常值得期待的——寒武紀處理器失敗的風險就是社會和媒體過分炒作人工智能,如果最后人工智能的發(fā)展速度達不到公眾(投資人)預期(這必然會發(fā)生,例如現(xiàn)在很多媒體,甚至谷歌自己都發(fā)話天網(wǎng)就要造出來),那么整個領域都會陷入大低谷,覆巢之下焉有完卵。