2
本文作者: no name | 2016-10-22 19:29 | 專題:2016中國計算機大會(CNCC 2016) |
雷鋒網(wǎng)按:本文根據(jù)陳云霽研究員今天上午在 CNCC 2016 上所做的大會特邀報告《 神經(jīng)網(wǎng)絡(luò)處理器 》編輯整理而來,在未改變其原意的基礎(chǔ)上略作了刪減。
陳云霽,男,1983 年生,江西南昌人,中國科學(xué)院計算技術(shù)研究所研究員,博士生導(dǎo)師,CCF 會員,曾獲 2014 年度“CCF 青年科學(xué)家獎”。同時,他擔(dān)任了中國科學(xué)院腦科學(xué)卓越中心特聘研究員,以及中國科學(xué)院大學(xué)崗位教授。目前他帶領(lǐng)其實驗室,研制寒武紀(jì)系列深度學(xué)習(xí)處理器。
他在包括 ISCA、HPCA、MICRO、ASPLOS、ICSE、ISSCC、Hot Chips、IJCAI、FPGA、SPAA、IEEE Micro 以及 8 種IEEE/ACM Trans. 在內(nèi)的學(xué)術(shù)會議及期刊上發(fā)表論文 60 余篇,其中包括 ASPLOS'14 和 MICRO'14 的最佳論文獎(亞洲迄今僅有的兩次獲計算機體系結(jié)構(gòu)頂級國際會議最佳論文),相關(guān)工作入選了 CACM 評選的研究亮點,
陳云霽獲得了中國青年科技獎、首屆國家自然科學(xué)基金“優(yōu)秀青年基金”、首屆國家萬人計劃“青年拔尖人才”和中國計算機學(xué)會青年科學(xué)家獎,入選 2015 年度《麻省理工科技評論》35 歲以下的全球最佳 35 名創(chuàng)新人士。他還作為負(fù)責(zé)人帶領(lǐng)科研團隊獲得了全國“青年文明號”和中央國家機關(guān)“青年文明號”的稱號。
以深度學(xué)習(xí)為代表的人工神經(jīng)網(wǎng)絡(luò)是最重要的人工智能方法之一,在云端和終端都有非常廣泛的應(yīng)用(例如廣告推薦、自動翻譯、語音識別、圖像識別等)。然而傳統(tǒng)的 CPU 和 GPU 芯片在進行神經(jīng)網(wǎng)絡(luò)處理時遇到了嚴(yán)重的性能和能耗瓶頸。
“我們報告的題目是《神經(jīng)網(wǎng)絡(luò)處理器》,說白了,就是要做智能處理?!?/p>
智能是一個非常廣闊的范疇,包括知覺、記憶、學(xué)習(xí)、語言、思維和問題解決等,是人類最主要的日常腦力活動。近年來,智能已經(jīng)變得越來越重要,這主要是因為計算機的使命有了很大變化。
在二三十年前,計算機的主要使命主要是科學(xué)家和工程師等少數(shù)人計算用的工具,但現(xiàn)在的情況就不同了,它通過手機這樣的終端載體進入了每個普通人的日常生活中。在這種情況下,它就有義務(wù)幫人們?nèi)ソ鉀Q每個普通人日常生活中最經(jīng)常碰到的問題。
現(xiàn)在大部分人已經(jīng)不再從事體力勞動了,更多時候碰到的都是相對比較簡單的腦力活動,所以說我們看到計算機的任務(wù)就已經(jīng)發(fā)生了變化,它需要把我們從日常簡單的腦力活動中解放出來。
所以我們現(xiàn)在看到,各種平臺上已經(jīng)有各種各樣的智能處理任務(wù)。比如說在超級計算機上面做商業(yè)分析或者藥物研制,比如說在數(shù)據(jù)中心上面去做廣告推薦或自動翻譯,還有包括智能手機或者各種智能安防攝像頭上去做圖像識別、語音識別等等,以及現(xiàn)在非常熱門的自動輔助駕駛和更高的消費類電子。這些背后的核心的技術(shù)都是在做智能的處理。
| 人工神經(jīng)網(wǎng)絡(luò)
提到智能處理,可能我們就不得不提下這個神經(jīng)網(wǎng)絡(luò)。相對來說,這是目前在人工智能領(lǐng)域用途最廣泛、可能也是最重要的技術(shù),或者至少是之一。人工神經(jīng)網(wǎng)絡(luò)的提出其實非常早,兩位提出者甚至都不能稱為計算機科學(xué)家,而應(yīng)該是心理學(xué)家或者邏輯學(xué)家,他們在 1943 年就提出了這個思想。
其實當(dāng)時最初的思想就是希望從大腦得到一些借鑒,因為大腦是我們迄今為止所知的最智能的物體。大腦中存在千億個神經(jīng)元細(xì)胞,如果把神經(jīng)元連接認(rèn)為是突觸的話,那么存在百萬億個突觸。因此,最早就是希望能把大腦中神經(jīng)元和突觸數(shù)字化抽象出來,這樣的數(shù)字化網(wǎng)絡(luò)某種程度上可能就繼承了人腦對信息的處理能力。
上圖顯示了一個最簡單的人工神經(jīng)網(wǎng)絡(luò),只有一個神經(jīng)元,但是已經(jīng)可以做一些比較有意思的處理了,比如說分類器,可以判斷這究竟是我方的飛機還是敵方的飛機。
這是一個神經(jīng)元能做的,那么很多個神經(jīng)元在一起能做什么呢?其實就是我們現(xiàn)在所說的深度學(xué)習(xí),說白了就是一種多層、大規(guī)模的人工神經(jīng)網(wǎng)絡(luò)。
下面這個圖可能是一個卷積神經(jīng)網(wǎng)絡(luò)的示意圖,這是現(xiàn)在用途比較廣的一種深度學(xué)習(xí)的技術(shù),里面有很多層。比如,微軟亞洲研究院去年做的已經(jīng)有上百層,甚至數(shù)百層了。但是里面各層之間卻是有共性的,比如說卷積、Pooling 、全連接的分類器等等。
如果上面說的比較抽象的話,那么這邊給大家一個具體的例子。
第一層(Layer 1)對局部特征進行抽象;
第二層(Layer 2)對比較復(fù)雜、比較大的特征進行抽象;
第三層(Layer 3)對比較大范圍的特征進行抽象;
……
那么一層層抽象后,我們就能得到比較復(fù)雜的信息。
深度學(xué)習(xí)在圖像識別方面有非常廣泛的應(yīng)用,比如 MNIST 圖像識別,就像大家寄快遞時,只要掃一掃郵政編碼就能知道需要寄到哪里;那么在人臉識別領(lǐng)域也有非常多的課題組取得了很多成績,包括中科院計算所、香港中文大學(xué)等等;在語音識別方面,科大訊飛也有非常深入的研究和非常好用的產(chǎn)品。
除了上面提到的和自然語言理解,重點說說策略分析。
大家都很關(guān)注 AlphaGo,其實就下圍棋本身而言并沒有什么值得驚訝的。大家都有一個共識,任何有規(guī)則的游戲,最后人工智能都會比人類做得好。Deepmind 團隊其實在 2013、2014 年的時候,就已經(jīng)有很多雛形的技術(shù),所以才被谷歌收購。2014 年的時候 Deepmind 引起大家關(guān)注,是因為它提出了“深度學(xué)習(xí) + 增強學(xué)習(xí)”的框架,可以學(xué)會打很多種小游戲(小霸王游戲機上那些)。那是一共學(xué)會了四十多種小游戲,其中二十多種超過了人類的紀(jì)錄。
所以當(dāng)它把這個技術(shù)運用到圍棋上,并以 4 : 1 戰(zhàn)勝人類大師李世石,應(yīng)該說是“出乎意料,情理之中”。最近聽說一個消息,Deepmind 團隊正在嘗試把這個框架放到星際爭霸上,這是一款著名的策略類游戲,如果可以打敗人類玩家,說明未來在決策方面也可以給人提供很多幫助,類似充當(dāng)部隊中參謀長的角色。
| 為什么需要神經(jīng)網(wǎng)絡(luò)處理器
之所以需要神經(jīng)網(wǎng)絡(luò)處理器,主要有兩點原因:
神經(jīng)網(wǎng)絡(luò)是處理智能處理迄今最好的方法;
但是,通用 CPU/GPU 處理神經(jīng)網(wǎng)絡(luò)效率低下。
所以如果要用 CPU/GPU 搭建一個擁有人腦規(guī)模突觸的神經(jīng)網(wǎng)絡(luò)可能需要用一個電站來給它供電了。所以從高性能計算機方面來看,這也是不可行的。
那么從其他領(lǐng)域也可以得到一些借鑒。
比如說 GPU,上個世紀(jì)九十年代,可能大家都自己攢過電腦,那時候我們一般都是用通用 CPU,但隨著視頻、游戲等對圖形處理的要求越來越高,才逐漸出現(xiàn)專門的 GPU,并形成了一個巨大的市場。這并不是說 CPU 無法處理這個問題,而是會很麻煩、特別耗電、特別慢。
再比如說 DSP,也是類似的情況,信號處理應(yīng)用非常廣闊,每個手機中都會使用到,CPU 不是不能處理,但是也不太合適,所以出現(xiàn)了專用的 DSP。
那么未來進入智能時代是大家的共識,用于智能處理的專用芯片的市場不會亞于 GPU 和 DSP。自然而然的結(jié)果意味著也許未來每臺計算機都可能需要一個專門的芯片,比如深度學(xué)習(xí)處理器。
| “寒武紀(jì)”系列的誕生和發(fā)展
計算所是這個領(lǐng)域的先行者,在智能計算機領(lǐng)域積累了豐碩的成果,因此寒武紀(jì)的學(xué)術(shù)淵源非常深厚:
中科院計算所陳云霽研究員:寒武紀(jì)首席科學(xué)家,師從國產(chǎn)芯片“龍芯”之父胡偉武研究員。
中科院計算所陳天石副研究員:寒武紀(jì)創(chuàng)始人兼 CEO,師從人工智能專家陳國良、姚新教授。
另外還聯(lián)合了法國的 Oliver Temam 教授,他也是神經(jīng)網(wǎng)絡(luò)處理器領(lǐng)域的專家。
可以說,寒武紀(jì)系列開創(chuàng)了深度學(xué)習(xí)處理器的方向,并在過去幾年取得了一些列豐碩成果:
| DianNao —— 電腦
為什么取名叫做“DianNao”(電腦)呢?這里還有一個有趣的故事。
原本也是準(zhǔn)備按照慣例取個英文名,但是法國的合作伙伴,也就是之前提到的 Oliver 教授提出不如取個中文名,因為這在外國看來是外文,顯得比較特別,于是這樣命名了世界上首個深度學(xué)習(xí)處理器。
用于神經(jīng)網(wǎng)絡(luò)的芯片其實在上世紀(jì)八十年代,包括英特爾、摩托羅拉等科技巨頭就開始了相關(guān)工作。那時的神經(jīng)網(wǎng)絡(luò)規(guī)模比較小,算法上有個神經(jīng)元就在芯片上加個神經(jīng)元,算法上有個突觸就在芯片上加個突觸。然后用電腦一連,就可以工作了。
但是,當(dāng)我們面對深度學(xué)習(xí)時,傳統(tǒng)的方法無法應(yīng)對如此大規(guī)模的神經(jīng)網(wǎng)絡(luò),可能有幾十億、上百億的神經(jīng)元。如果每個神經(jīng)元要做一次乘法的話,沒有哪個芯片可能放下那么多的乘法器。即使我們能夠放下這么多的硬件突觸,訪存帶寬也無法供應(yīng)數(shù)據(jù),這是一直以來的瓶頸。
而且另一個觀察發(fā)現(xiàn):把數(shù)據(jù)從內(nèi)存搬到硬件運算單元甚至比運算本事更耗費能量。
那么我們應(yīng)該如何做呢?
根據(jù)我們的策略,需要解決兩個矛盾:
算法是多變的,而芯片則是不變的;
算法的規(guī)模是無限的,而硬件運算單元則是有限的。
所以,要用有限的、固定的硬件處理無限、多變的算法,就提出了硬件運算單元的分時復(fù)用方法。
| DaDianNao —— 大電腦
“DaDianNao”與“DianNao”的思路正好相反,“DianNao”是通過硬件的時分復(fù)用解決大規(guī)模神經(jīng)網(wǎng)絡(luò)的計算問題,而“DaDianNao”是從超級計算機的角度來想的,一個超級計算機中可能有很多芯片,每個芯片又可以放下很多核。那么一個芯片可能無法放下一個大的神經(jīng)網(wǎng)絡(luò),很多個芯片也許就能放下了,那么整個模型就能放在芯片上,好處在于就不需要內(nèi)存了,這就繞過了一直以來的訪存的瓶頸,性能由此可以大幅提升。
| PuDianNao —— 普電腦
機器學(xué)習(xí)的算法很多,根本原因是數(shù)據(jù)和問題的多樣性。不可能通過一種算法解決所有問題,如果沒有通用性,芯片未來的應(yīng)用。
因此,“PuDianNao”的設(shè)計思路就是實現(xiàn)足夠的通用性,支持主流機器學(xué)習(xí)算法的高效運算。
主要干兩件事情:
尋找各種機器學(xué)習(xí)算法中最耗時/最普遍的運算操作集合;
研究各種機器學(xué)習(xí)算法的局部性,降低各算法的訪存需求。
那么通過研究上面五種主要的算法行為,最后的結(jié)論就是:
需要支持 5 種主要的運算,包括向量內(nèi)積、向量距離、計數(shù)、非線性函數(shù)、排序。
歸納總結(jié)了數(shù)據(jù)的局部特征
| ShiDianNao —— 視電腦
“ShiDianNao”是去年的最新成果,我們希望把處理器集成在攝像頭中,好處在于在 Sensor(傳感器)采集的時候可以直接對圖像進行流式的識別處理,消除了對圖像的讀寫操作。另外用比較小的卷積神經(jīng)網(wǎng)絡(luò)在芯片上處理,這就消除了對模型的讀寫操作。因此可以提升性能,降低能耗。
| 總結(jié)與展望
寒武紀(jì)迄今取得了三大技術(shù)突破:
突破了內(nèi)存帶寬的主要性能瓶頸,通過 EDRAM 技術(shù)及多芯片互聯(lián),保證神經(jīng)網(wǎng)絡(luò)模型完整放于片上,完全無需訪問內(nèi)存;
突破了片上通訊導(dǎo)致的延遲和功耗,分成的每塊內(nèi)部包含運算部件、神經(jīng)元數(shù)據(jù)、突觸數(shù)據(jù),可以減少 90% 以上片上通訊時間;
突破了機器學(xué)習(xí)算法、變種眾多的困難,采用可編程 VLIM 處理其結(jié)構(gòu)以及靈活的運算部件,支持幾乎所有現(xiàn)有的主流機器學(xué)習(xí)算法。
陳云霽研究員為代表的寒武紀(jì)團隊未來的夢想就是將代表性智能算法的處理速度和性能功耗比提高一萬倍。這里代表性的智能算法不僅僅是深度學(xué)習(xí),還包括其他機器學(xué)習(xí)的方法。
我們知道谷歌大腦用了 1.6 萬個 CPU,如果可以實現(xiàn)提升一萬倍的水平,那么相當(dāng)于可以把谷歌大腦裝進我們每個人的手機里。這樣的手機可以幫助我們在本地實時地完成各種圖像、語音和文本的理解識別。
更重要的是,具備實施訓(xùn)練的能力以后,就可以不斷通過觀察人、社會和自然界的行為提升能力,成為生活中人們離不開的助理。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。