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