深度學習進入晶元領域,揭秘寒武紀神經網路處理器

2021-07-11 13:24:21 字數 3554 閱讀 9341

2016-03-16

19:34

原創鐵流

(寒武紀處理器)

陳天石和**霽研究員在2023年5月刊發的《中國計算機學會通訊》(第10卷第5期)寫道:

「從2023年到現在,我們已經在體系結構和人工智慧的交叉研究方向上工作了6年。作為國際上為數不多的幾個長期開展此方向研究的團隊之一,我們在不被認可中堅持了下來,並嘗試通過自己的努力來改善這個領域的環境(當然近年來環境的改善也得益於深度學習的興起),最終得到了學術界一定程度的肯定。

回想起來,如果我們緊緊跟隨國際學術圈的熱點走,我們是很難拿到asplos最佳**獎的。原因有兩個方面:第一,當我們看到別人的「熱點」**發表後再去跟著做,可能已經比別人晚了若干年。尤其是體系結構領域,**的工作週期非常長(asplos2014上發表的**,我們在2023年就啟動相關工作了),要跟上熱點很困難。第二,當跟隨熱點時,我們的工作不可避免地會被視為對某個過往**的改進。這種改進效果必須非常顯著,機理必須非常清晰,才能打動頂級會議挑剔的審稿人。這對於**寫作提出了很高的要求,而中國大陸研究者往往在英文**寫作上不佔優勢。但這裡存在乙個矛盾:緊跟多變的國際學術圈熱點,**不容易在頂級會議上發表;而**的問題若不是國際學術圈熱點,**同樣很難在頂級會議上發表。

面對這個矛盾,我們的看法是:研究者應該堅持自己的學術理想,重視**但不為**發表所左右;同時盡力宣傳自己的研究方向,推動這個方向被國際學術圈的主流認可。經過長期的等待和努力,也許有一天,自己的研究方向就會成為熱點。到那時,過去的一切坎坷都會被證明是值得的。」

截至目前,陳天石博士和**霽研究員就光寒武紀系列的技術成果,已經斬獲兩篇asplos,兩篇isca,一篇micro,一篇hpca,這些是計算機體系結構方面國際四大頂級會議,只不過只有科研圈子裡關注,普通人還不明白其中的意義。

因此,寒武紀處理器並非藉著藉著阿法狗對決李世石的熱點橫空出世,而是長期技術積累的結果,並在數年前就於高階國際會議中榮獲殊榮。事實上,中國在智慧型晶元上是引領世界的——以寒武紀晶元為例,美國的哈佛、斯坦福、mit、哥倫比亞等高校都跟在我們後面做。鐵流認為,寒武紀之所以過去一直不見於主流**,僅僅是國內很多**人缺乏專業知識和辨識能力,而導致了更願意鼓吹國外所謂「高科技」,卻對真正非常具有含金量的自主技術選擇性失明。

**霽(左)和陳天石(右)兄弟

目前,寒武紀系列已包含三種原型處理器結構:

寒武紀1號(英文名diannao,面向神經網路的原型處理器結構);

寒武紀2號(英文名dadiannao,面向大規模神經網路);

寒武紀3號(英文名pudiannao,面向多種機器學習演算法)。

diannao是寒武紀系列的第乙個原型處理器結構,包含乙個處理器核,主頻為0.98ghz,峰值效能達每秒4520億次神經網路基本運算,65nm工藝下功耗為0.485w,面積3.02mm2。在若干代表性神經網路上的實驗結果表明,diannao的平均效能超過主流cpu核的100倍,但是面積和功耗僅為1/10,效能提公升可達三個數量級;diannao的平均效能與主流gpgpu相當,但面積和功耗僅為主流gpgpu百分之一量級。

diannao的核心問題是如何讓有限的記憶體頻寬餵飽運算功能部件,使得運算和訪存平衡,從而達到高效能比。難點在於選取運算功能部件的數量、組織策略以及片上ram的結構引數。由於整個結構引數空間有上千萬種選擇,模擬器執行速度不及真實晶元的十萬分之一,不可能蠻力嘗試各種可能的設計引數。為解決此問題,使用了一套基於機器學習的處理器效能建模方法,並基於該效能模型最終為diannao選定了各項設計引數,在運算和訪存間取得了平衡,顯著提公升了執行神經網路演算法時的效能。

即便資料已經從記憶體取到了片上,搬運的能耗依然非常高。nvidia首席科學家steve keckler曾經指出,在40nm工藝下,將64位資料搬運20公釐所花的能耗是做64位浮點乘法的數倍。

因此,要降低處理器功耗,僅僅降低運算功耗是不夠的,必須優化片上資料搬運。中科院計算所提出對神經網路進行分塊處理,將不同型別的資料塊存放在不同的片上ram中,並建立理論模型來刻畫ram與ram、ram與運算部件、ram與記憶體之間搬運次數,進而優化神經網路運算所需的資料搬運次數。相對於cpu/gpu上基於cache層次的資料搬運,diannao可將資料搬運減少10~30倍。

(diannao結構)

dadiannao在diannao的基礎上進一步擴大了處理器的規模,包含16個處理器核和更大的片上儲存,並支援多處理器晶元間直接高速互連,避免了高昂的記憶體訪問開銷。在28nm 工藝下,dadiannao的主頻為606mhz,面積67.7 mm2,功耗約16w。單晶元效能超過了主流gpu的21倍,而能耗僅為主流gpu的1/330。64晶元組成的高效能計算系統較主流gpu的效能提公升甚至可達450倍,但總能耗僅為1/150。

雖然神經網路已成為模式識別等領域的主流演算法,但使用者很多時候可能傾向於使用其他一些經典的機器學習演算法。

例如程式化交易中經常使用線性回歸這類可解釋性好、複雜度低的演算法。在此背景下,寒武紀3號多用途機器學習處理器pudiannao應運而生,當前已可支援k-最近鄰、k-均值、樸素貝葉斯、線性回歸、支援向量機、決策樹、神經網路等近十種代表性機器學習演算法。pudiannao的主頻為1ghz,峰值效能達每秒10560億次基本操作,面積3.51mm2,功耗為0.596w(65nm工藝下)。pudiannao執行上述機器學習演算法時的平均效能與主流gpgpu相當,但面積和功耗僅為主流gpgpu百分之一量級。

(pudiannao版圖)

在上世紀80年代,因人工智慧無法達到公眾/投資人的預期,導致整個行業陷入低谷。

近年來,隨著演算法、應用和工藝三個方面都發生了劇烈的變化,神經網路處理器涅磐重生。

2023年, hinton、lecun和bengio等人提出了深度學習方法,在深層人工神經網路的訓練上取得了巨大的突破。

為什麼深度學習會有效,暫時還沒有傳統的統計學習理論方面的完美證明。目前一種比較直觀的的解釋是:分層預訓練相當於對輸入資料進行逐級抽象,這暗合生物大腦的認知過程比較(例如人腦就是一種深層的神經網路,在認知過程中會逐層將看到的原始影象或聽到的原始聲波最終抽象成語義符號)。

既然人工神經網路已經重新成為最有效的認知任務處理演算法(至少是之一),只要人工智慧健康發展,專門的神經網路處理器自然能隨著產業發展而茁壯成長。

另外,隨著日常生活顯然需要進行大量的認知活動,自然而然地,計算機體系結構研究者的目光必須要從傳統的科學計算轉到認知任務上。事實上,很多大公司已經認識到這一點。intel和ibm等傳統的硬體廠商都已經成立了專門的部門進行認知任務處理的研究。而現在體系結構研究中最常見的測試集parsec中近半數都是認知類的應用(如bodytrack、facesim、freqmine、streamcluster、vips等)。在認知任務已經成了當前計算機最主要的任務之一的情況下,使用者和市場自然會有加速人工神經網路的需求。

因此,筆者認為只要不發生社會和**過分炒作人工智慧,最終導致整個行業陷入低谷的情況正如80年代已經發生過的情況,寒武紀的市場前景是非常值得期待的——寒武紀處理器失敗的風險就是社會和**過分炒作人工智慧,如果最後人工智慧的發展速度達不到公眾(投資人)預期(這必然會發生,例如現在很多**,甚至谷歌自己都發話天網就要造出來),那麼整個領域都會陷入大低谷,覆巢之下焉有完卵。

至於將來寒武紀產業化成果幾何,還請由時間去檢驗。

AI晶元 寒武紀DaDianNao結構分析

dadiannao 寒武紀的dadiannao的誕生稍晚於diannao,同樣也是在2014年。這裡僅僅指 發表時間 如果把diannao看作是嵌入式終端使用的處理器,那麼dadiannao就是伺服器上用的大規模高效能處理器。dadiannao其實就是採用的diannao的nfu作為核心,然後在一塊...

AI晶元 寒武紀PuDianNao結構分析

pudiannao 之前介紹了寒武紀的diannao和dadiannao,其實內部處理邏輯可以說是一樣的。這種架構,只能適用特定的演算法型別,比如深度學習 cnn,dnn,rnn 等。但是,深度學習只是機器學習中的某一類,整個機器學習,有很多其他種類的演算法,和深度學習的不太一樣,甚至經常用到除法等...

AI晶元 寒武紀ShiDianNao結構分析

shidiannao shidiannao的出現是寒武紀在深度學習處理器上細分領域的更加深入。前面介紹的diannao針對的是大部分的深度學習神經網路演算法,包括cnn和rnn等。目前比較火而且應用面非常廣的領域是計算機視覺,若在這個領域的演算法精度實現巨大突破,那麼,就將開啟廣闊的應用領域,能夠真...