
智東西(公眾號:zhidxcom)
文 | Lina
3月9日,由智(zhi)東(dong)西(xi)主辦,極果和(he)AWE聯合(he)舉辦的(de)中國首場(chang)(chang)AI芯(xin)片(pian)峰會(hui)在(zai)上海浦東(dong)成功舉辦。本次大(da)會(hui)共吸引(yin)近萬名觀眾參加,到場(chang)(chang)人數(shu)比預計翻了3倍。即使是下午場(chang)(chang),依(yi)然爆滿,有的(de)觀眾寧愿站著也要聽完(wan)全場(chang)(chang)。在(zai)大(da)會(hui)現場(chang)(chang),近40位人工智(zhi)能(neng)及AI芯(xin)片(pian)業(ye)界翹楚共聚一堂(tang),系統地探討了AI芯(xin)片(pian)在(zai)2018年的(de)技術前景和(he)產業(ye)趨勢。
作為(wei)GTIC 2018大會(hui)的(de)開場主(zhu)旨演講嘉賓、AI芯(xin)(xin)片學(xue)術圈的(de)代(dai)表人物,清華大學(xue)微納電子系主(zhu)任、微電子所所長魏少軍(jun)教授發表了主(zhu)題為(wei)《AI芯(xin)(xin)片發展需(xu)要應用和(he)架構(gou)創新雙輪驅動》的(de)演講,從四大角(jiao)度(du)剖析了當(dang)今AI芯(xin)(xin)片所面臨的(de)挑戰、可能的(de)解法、對AI應用與芯(xin)(xin)片架構(gou)的(de)思考等,并分享了清華微電子所打造的(de)Thinker系列AI芯(xin)(xin)片的(de)歷程。
以下為魏少軍(jun)教授演講的要點精析,文(wen)后將附上魏少軍(jun)教授演講全文(wen)速記+PPT。
一、應用和架構創新是AI芯片的必經之路
目前,AI芯(xin)片發展面臨著(zhu)兩個現實的(de)(de)問(wen)題(ti):一(yi)(yi)(yi)是(shi)人工智(zhi)能(neng)新算法層出(chu)(chu)不窮、尚未固定;二(er)是(shi)現在一(yi)(yi)(yi)個算法對應(ying)(ying)(ying)一(yi)(yi)(yi)個應(ying)(ying)(ying)用(yong),沒(mei)有(you)一(yi)(yi)(yi)個算法能(neng)夠(gou)覆蓋所有(you)應(ying)(ying)(ying)用(yong),也沒(mei)有(you)出(chu)(chu)現一(yi)(yi)(yi)個殺手(shou)級的(de)(de)AI應(ying)(ying)(ying)用(yong)。因此相(xiang)對應(ying)(ying)(ying)的(de)(de),我(wo)們現在打造AI芯(xin)片也需要解決(jue)兩大要素,第一(yi)(yi)(yi)要這款(kuan)芯(xin)片要適應(ying)(ying)(ying)算法的(de)(de)演進,第二(er)要做(zuo)一(yi)(yi)(yi)個創新的(de)(de)芯(xin)片架構,使其能(neng)夠(gou)適應(ying)(ying)(ying)所有(you)的(de)(de)應(ying)(ying)(ying)用(yong)。
沿(yan)循著打(da)造AI芯(xin)片(pian)的兩大要素思考下來,一種新型的芯(xin)片(pian)技術被推到(dao)了聚光燈下——“軟(ruan)件(jian)定義芯(xin)片(pian)”,也稱(cheng)可重構計算。魏少軍老師帶領(ling)的清華微電子所團隊(dui)在10年前就(jiu)已(yi)經開(kai)展了這方(fang)面的研(yan)究。
“軟(ruan)件(jian)(jian)定義芯片(pian)”顧名思義就(jiu)是讓芯片(pian)根據軟(ruan)件(jian)(jian)進(jin)行適(shi)應(ying)與調(diao)整,這是一項專用芯片(pian)架構設計上的(de)創(chuang)新,簡單來說就(jiu)是將軟(ruan)件(jian)(jian)通過(guo)不(bu)(bu)同的(de)管道輸送到硬件(jian)(jian)中(zhong)來執(zhi)行功(gong)能(neng),使得芯片(pian)能(neng)夠實(shi)時地根據軟(ruan)件(jian)(jian)/產品的(de)需求改變(bian)功(gong)能(neng),實(shi)現(xian)更加靈活的(de)芯片(pian)設計。硬件(jian)(jian)跟著軟(ruan)件(jian)(jian)不(bu)(bu)斷變(bian)化,既能(neng)適(shi)應(ying)算法的(de)演進(jin),又能(neng)適(shi)應(ying)多個不(bu)(bu)同應(ying)用。
去年(nian)的(de)(de)時候,由美國國防部(bu)先進計劃署(DARPA)推動的(de)(de)電子產業振(zhen)興計劃(ERI)針對后摩爾(er)定律(post-Moore’s-law)時代的(de)(de)新材料、架(jia)構與設計流程(cheng),其中一個(ge)課題(ti)就是軟件(jian)定義硬件(jian)(software define hardware)。
二、打造超低功耗AI芯片Thinker系列
前年,一個偶(ou)然(ran)的(de)機(ji)會,依照可重構(gou)計算芯(xin)片(pian)(pian)的(de)框架,魏少軍(jun)教授團隊(dui)中的(de)尹首一副教授帶隊(dui)設計研發了一款(kuan)代號為Thinker 1的(de)可重構(gou)混合神經網絡計算芯(xin)片(pian)(pian)。這款(kuan)芯(xin)片(pian)(pian)不僅可以動態地調整(zheng)計算和(he)內存(cun)需求,使得(de)芯(xin)片(pian)(pian)能夠支持(chi)人(ren)臉識別和(he)語音識別的(de)神經網絡應用,而且芯(xin)片(pian)(pian)的(de)功耗非常小。
▲清(qing)華(hua)大學微(wei)電子所提(ti)供的Thinker芯片(pian)的顯微(wei)照片(pian)
Thinker 1不僅在AI性(xing)能與算法(fa)通(tong)用(yong)性(xing)上取(qu)得(de)了(le)突破性(xing)的進展,還獲得(de)了(le)學術界(jie)的重要認可,在2017 ACM/IEEE ISLPED國際低功耗電子(zi)學與設計(ji)會議(yi)上,Thinker1獲得(de)了(le)設計(ji)競賽獎(jiang),這(zhe)是中國大陸單位首(shou)次以第(di)一完成單位獲得(de)此獎(jiang)項。
Thinker 1是一(yi)塊(kuai)實(shi)驗(yan)性質的(de)驗(yan)證芯(xin)(xin)(xin)(xin)(xin)片,隨后,可(ke)重構計算團隊(dui)又(you)打(da)造了(le)兩款Thinker系(xi)(xi)列芯(xin)(xin)(xin)(xin)(xin)片,分別為Thinker 2人臉識別芯(xin)(xin)(xin)(xin)(xin)片,能夠做到超(chao)低功(gong)耗(hao)的(de)6ms人臉識別;以及Thinker S語音識別芯(xin)(xin)(xin)(xin)(xin)片功(gong)耗(hao)則更低,只有0.3毫瓦(wa)。這系(xi)(xi)列芯(xin)(xin)(xin)(xin)(xin)片在(zai)國際上(shang)廣受好評(ping),獲(huo)得了(le)眾多(duo)獎項(xiang)。
三、AI芯片2-3年內出現先烈
在演(yan)講的最后,魏少軍教(jiao)授分享(xiang)了幾項總結與思(si)考:
1、應用領(ling)(ling)域的(de)確立是(shi)AI領(ling)(ling)域的(de)確立前(qian)提(ti),但是(shi)AI的(de)殺手級應用還沒有(you)出現,因此AI發展有(you)很長的(de)路要走。
2、未(wei)來能否出現像通(tong)用CPU這樣(yang)(yang)獨立存在的(de)通(tong)用AI處理器?如果存在的(de)話,它的(de)架構(gou)是什么樣(yang)(yang),如果不(bu)存在,如今的(de)AI芯(xin)片公司又該何去何從?
3、2到3年內(nei),AI芯片行(xing)業將會碰到一個低(di)潮,今天的(de)一部分、甚至(zhi)大部分的(de)創業者成為(wei)技術變革的(de)先烈。
附:以下為魏少軍教授演講《AI芯片發展需要應用和架構創新雙輪驅動》全文速記
魏少軍:大家(jia)上午好,感謝主辦方給(gei)我(wo)(wo)個(ge)機會介紹我(wo)(wo)們(men)(men)的(de)(de)(de)(de)工(gong)作(zuo)。主持人說我(wo)(wo)們(men)(men)是做(zuo)人工(gong)智(zhi)能芯(xin)(xin)片(pian),錯了(le),我(wo)(wo)是做(zuo)芯(xin)(xin)片(pian)設計(ji)的(de)(de)(de)(de),研究芯(xin)(xin)片(pian)的(de)(de)(de)(de)設計(ji)和理論。兩年(nian)前我(wo)(wo)們(men)(men)用前些(xie)年(nian)的(de)(de)(de)(de)研究成果(guo)嘗(chang)試做(zuo)了(le)一(yi)些(xie)AI芯(xin)(xin)片(pian),結(jie)果(guo)效果(guo)不(bu)錯。后來我(wo)(wo)們(men)(men)在國際上連續發(fa)表了(le)一(yi)些(xie)有(you)(you)影響力的(de)(de)(de)(de)論文,有(you)(you)些(xie)結(jie)果(guo)被一(yi)些(xie)引用,突然(ran)發(fa)現我(wo)(wo)自己成了(le)AI芯(xin)(xin)片(pian)的(de)(de)(de)(de)專家(jia),其實(shi)不(bu)是。今天(tian)我(wo)(wo)跟(gen)(gen)大家(jia)做(zuo)一(yi)些(xie)溝通,主要希望提出(chu)一(yi)些(xie)可能跟(gen)(gen)在座的(de)(de)(de)(de)大佬們(men)(men)不(bu)太一(yi)樣(yang)的(de)(de)(de)(de)觀(guan)點,供(gong)大家(jia)批判和產(chan)生共(gong)鳴。我(wo)(wo)觀(guan)點中(zhong)如果(guo)有(you)(you)冒(mao)犯(fan)在座各(ge)位,請(qing)大家(jia)務必(bi)原諒(liang)。既(ji)然(ran)是雙輪驅(qu)動,那就不(bu)是一(yi)個(ge)事情,我(wo)(wo)們(men)(men)今天(tian)談(tan)四個(ge)方面的(de)(de)(de)(de)內容。
一、集成電路(lu)芯片是(shi)(shi)實(shi)(shi)現人工(gong)智能(neng)(neng)(neng)的(de)當然載體(ti)。AI其(qi)實(shi)(shi)在50年(nian)代出現過,經過30年(nian)的(de)發展(zhan)后轉移到機(ji)(ji)器學習(xi)、再經過30年(nian)發展(zhan)到了(le)(le)深(shen)(shen)度學習(xi)。現在看深(shen)(shen)度學習(xi)是(shi)(shi)人工(gong)智能(neng)(neng)(neng)的(de)主(zhu)要內容,但其(qi)實(shi)(shi)深(shen)(shen)度學習(xi)只是(shi)(shi)人工(gong)智能(neng)(neng)(neng)一個(ge)窄面,之(zhi)所以深(shen)(shen)度學習(xi)作為了(le)(le)主(zhu)要內容,一個(ge)原因就(jiu)是(shi)(shi)前(qian)(qian)年(nian)和去年(nian)AlphaGo下棋贏了(le)(le)人類高(gao)手。而(er)(er)在這(zhe)個(ge)標(biao)志事(shi)件之(zhi)前(qian)(qian),早在2011年(nian)就(jiu)進行過一個(ge)游戲比賽(sai)(sai),其(qi)實(shi)(shi)比AlphaGo更有代表性,當然可能(neng)(neng)(neng)不一定大家同意我(wo)的(de)觀點。(2011年(nian),IBM公(gong)司的(de)Watson計算(suan)機(ji)(ji)參加綜藝節目危險邊緣(yuan)Jeopardy,前(qian)(qian)兩輪與對手打平,而(er)(er)在最(zui)(zui)后一輪中(zhong),Watson打敗了(le)(le)最(zui)(zui)高(gao)獎金得(de)主(zhu)布拉(la)德·魯特爾和連勝紀錄保(bao)持者(zhe)肯·詹寧斯(si)。)我(wo)們仔細(xi)分析兩者(zhe)的(de)比賽(sai)(sai)的(de)過程,大家會發現,(這(zhe)場比賽(sai)(sai))高(gao)于AlphaGo,只是(shi)(shi)它不夠時尚而(er)(er)已。
中文(wen)有時候(hou)比較寬泛一些,“智(zhi)(zhi)(zhi)能(neng)”包含“智(zhi)(zhi)(zhi)慧(hui)(hui)”和(he)“能(neng)力”,我們多數智(zhi)(zhi)(zhi)慧(hui)(hui)的東西(xi)不(bu)是(shi)能(neng)力。人(ren)工智(zhi)(zhi)(zhi)能(neng)這個詞有問題,不(bu)清楚,英文(wen)叫(jiao)人(ren)工智(zhi)(zhi)(zhi)慧(hui)(hui)(Artificial Intelligence),不(bu)講(jiang)人(ren)工智(zhi)(zhi)(zhi)能(neng)兩者結合在一起(qi)。
芯(xin)(xin)片(pian)是(shi)實現AI的當然載(zai)體(ti),無(wu)(wu)論(lun)是(shi)CPU、GPU、還是(shi)CPU加(jia)FPGA,或(huo)者其它出現的多個芯(xin)(xin)片(pian)平臺,所有這些東西都離不(bu)開芯(xin)(xin)片(pian)。所以講一句話,無(wu)(wu)芯(xin)(xin)片(pian)不(bu)AI,做AI一定(ding)要(yao)有芯(xin)(xin)片(pian),芯(xin)(xin)片(pian)是(shi)不(bu)可或(huo)缺的基本內(nei)容。
既然人工智能芯片如此重要(yao),那么(me)怎么(me)實(shi)現它(ta)?這里面(mian)我可能跟(gen)在(zai)場的(de)嘉(jia)賓觀(guan)點不(bu)太一(yi)(yi)(yi)樣。我們先說(shuo)AI面(mian)臨兩個(ge)現實(shi)的(de)問(wen)題:第一(yi)(yi)(yi)、算法(fa)仍在(zai)不(bu)斷演(yan)進,新(xin)算法(fa)層(ceng)出不(bu)窮;第二、一(yi)(yi)(yi)種(zhong)算法(fa)對(dui)應一(yi)(yi)(yi)種(zhong)應用(yong),沒有統一(yi)(yi)(yi)的(de)算法(fa)。(對(dui)于芯片來(lai)說(shuo))你希望找到一(yi)(yi)(yi)個(ge)架構(gou)能夠適應所有算法(fa),而不(bu)是(shi)一(yi)(yi)(yi)個(ge)應用(yong)做一(yi)(yi)(yi)個(ge)芯片。
現(xian)在(zai)的(de)(de)(de)應用復雜程度(du)不一樣,但無一例外都使用的(de)(de)(de)是(shi)一個專用的(de)(de)(de)神(shen)經網(wang)絡,在(zai)這樣的(de)(de)(de)情況,我(wo)們(men)需要在(zai)芯片當中實(shi)現(xian)一個具備(bei)深度(du)學(xue)(xue)習能(neng)力的(de)(de)(de)引(yin)(yin)擎(qing)。我(wo)們(men)今(jin)天的(de)(de)(de)深度(du)學(xue)(xue)習需要的(de)(de)(de)計算(suan)(suan)量和(he)參數(shu)量是(shi)非常大的(de)(de)(de)數(shu)字。以(yi)前我(wo)們(men)很少(shao)的(de)(de)(de)運(yun)算(suan)(suan)量就(jiu)可以(yi)完成一些小工作,參數(shu)有(you)10萬個就(jiu)很多了;但是(shi)到了2017年,我(wo)們(men)做(zuo)到17層(ceng)的(de)(de)(de)神(shen)經網(wang)絡做(zuo)每秒(miao)196億(yi)次的(de)(de)(de)運(yun)算(suan)(suan),有(you)1.38億(yi)個參數(shu)。我(wo)們(men)需要一個好的(de)(de)(de)計算(suan)(suan)引(yin)(yin)擎(qing),沒(mei)有(you)好的(de)(de)(de)計算(suan)(suan)引(yin)(yin)擎(qing)我(wo)們(men)完成不了這些運(yun)算(suan)(suan)工作。
二、在這個(ge)情(qing)況下,我(wo)(wo)們看看AI芯片(pian)(pian)需(xu)(xu)要(yao)(yao)(yao)(yao)什(shen)么樣的(de)計算(suan)要(yao)(yao)(yao)(yao)素?它第一要(yao)(yao)(yao)(yao)適應算(suan)法的(de)演進,第二我(wo)(wo)們要(yao)(yao)(yao)(yao)做一個(ge)架構適應所有(you)的(de)應用(yong),就(jiu)是架構的(de)可變(bian)性,高效的(de)架構變(bian)換能(neng)力。此外我(wo)(wo)們還要(yao)(yao)(yao)(yao)關注(zhu)計算(suan)量和(he)計算(suan)能(neng)效。計算(suan)能(neng)效要(yao)(yao)(yao)(yao)求(qiu)是多(duo)少?大(da)概每瓦10 Tflops,即每秒完成10萬億(yi)次的(de)運(yun)算(suan)。并且某些應用(yong)功耗需(xu)(xu)要(yao)(yao)(yao)(yao)低于(yu)1mW,有(you)些應用(yong)需(xu)(xu)要(yao)(yao)(yao)(yao)識別(bie)速(su)度大(da)于(yu)25fps、而且芯片(pian)(pian)體積(ji)小,達到低成本進入家電(dian)和(he)消費電(dian)子,配在裝備上(shang),同時(shi)開發需(xu)(xu)要(yao)(yao)(yao)(yao)簡易,一個(ge)人(ren)開發芯片(pian)(pian)設(she)計難(nan)度很大(da)。因此,我(wo)(wo)們需(xu)(xu)要(yao)(yao)(yao)(yao)探索架構上(shang)的(de)創(chuang)新(xin)。
接著我們談到,應用和架構(gou)創新(xin)是發展應用創新(xin)的必由之(zhi)路。
今天(tian)(tian)(tian)的(de)(de)AI應(ying)用(yong)(yong)涵蓋了(le)所有方面(mian),無行(xing)業不AI,包括人臉識別、語音識別、機器翻譯等等。我(wo)(wo)們看到(dao)屏幕上已經做到(dao)了(le)即時的(de)(de)傳(chuan)譯、無人駕駛、智能陪伴(ban)、能源、農業、或者生產,似(si)乎AI涵蓋了(le)我(wo)(wo)們生活各(ge)個(ge)(ge)方面(mian),這是(shi)(shi)(shi)給(gei)我(wo)(wo)們一個(ge)(ge)很(hen)重要的(de)(de)印象。但是(shi)(shi)(shi)我(wo)(wo)想(xiang)問幾個(ge)(ge)問題(ti):哪些應(ying)用(yong)(yong)需要 AI?我(wo)(wo)們希望AI幫忙解(jie)決什(shen)么(me)(me)問題(ti)?什(shen)么(me)(me)是(shi)(shi)(shi)AI的(de)(de)“殺(sha)手級”應(ying)用(yong)(yong)?什(shen)么(me)(me)樣的(de)(de)AI應(ying)用(yong)(yong)是(shi)(shi)(shi)我(wo)(wo)們每天(tian)(tian)(tian)都(dou)需要的(de)(de)?……我(wo)(wo)覺(jue)得(de)這些問題(ti)到(dao)今天(tian)(tian)(tian)為(wei)止都(dou)沒有答(da)案,有些東西好像是(shi)(shi)(shi)AI,但是(shi)(shi)(shi)實際上并不是(shi)(shi)(shi)AI。
我(wo)給大家說一(yi)個笑話,今年(nian)是我(wo)本命年(nian),我(wo)想買(mai)(mai)一(yi)條紅圍巾。我(wo)在網上(shang)(shang)搜了一(yi)下(xia)沒買(mai)(mai),然后在我(wo)的手機上(shang)(shang)的各種文件中不斷(duan)出(chu)現(xian)紅圍巾的廣告(gao),讓(rang)我(wo)感覺非常煩。它具備(bei)AI的性能,但是這個AI不是我(wo)需要的幫助。回想幾年(nian)以前(qian),(你在)買(mai)(mai)一(yi)個臺燈之后,網頁上(shang)(shang)就不斷(duan)出(chu)現(xian)臺燈的廣告(gao),今天的AI還沒有達(da)到(dao)我(wo)們所需要的程度。
三(san)、應(ying)用和(he)架構創新是發展人工智能芯(xin)片(pian)(pian)的必由之路。做(zuo)應(ying)用確(que)實很難。我們做(zuo)芯(xin)片(pian)(pian)的人一(yi)直想(xiang)架構是什么,架構創新很重要,從感知、傳(chuan)輸(shu)到中間(jian)的處理,一(yi)直到后面的傳(chuan)輸(shu)和(he)執行,都不開的基(ji)本架構。反之大家知道這(zhe)是一(yi)個(ge)傳(chuan)感器,通過執行器,傳(chuan)輸(shu)中間(jian)有很發散(san)的網絡,基(ji)本的邏輯在這(zhe)里。
智(zhi)慧(hui)處(chu)理的(de)(de)根(gen)本架(jia)構(gou)是什么(me)?我(wo)們不知道(dao)。因為(wei)我(wo)們不知道(dao)人怎么(me)想問(wen)題(ti),大概是什么(me)樣(yang)的(de)(de)結構(gou),只(zhi)能按照(zhao)系統、軟(ruan)件(jian)、處(chu)理器、存儲這么(me)來模仿。毫無疑問(wen)我(wo)們碰到的(de)(de)都是多(duo)輸入、多(duo)輸出的(de)(de)系統、多(duo)任務、高度并行(xing)化的(de)(de)運行(xing)系統,
聽著很有(you)道(dao)理(li),但是我(wo)通過一個(ge)(ge)簡單人類處(chu)理(li)事(shi)(shi)情的流程(cheng)舉例,我(wo)們碰到(dao)一個(ge)(ge)事(shi)(shi)情,這個(ge)(ge)事(shi)(shi)情很多特(te)征,比如我(wo)第一個(ge)(ge)看到(dao)這個(ge)(ge)人,我(wo)看看他(ta)(ta)長什(shen)么樣子,我(wo)認識(shi)(shi)不(bu)認識(shi)(shi)他(ta)(ta)?我(wo)不(bu)認識(shi)(shi)他(ta)(ta)、沒見過他(ta)(ta)怎么辦(ban),我(wo)要認識(shi)(shi)一下(xia)(xia)。我(wo)們握手(shou)交換一下(xia)(xia)名片,看你是在哪個(ge)(ge)單位、什(shen)么地方、加(jia)深一下(xia)(xia)印象。
也(ye)有可能我(wo)(wo)們(men)第一次見過(guo),沒有交換名片,我(wo)(wo)們(men)認識(shi)的時候就知道又見面了。在(zai)這(zhe)個(ge)(ge)過(guo)程(cheng)我(wo)(wo)們(men)不(bu)斷重(zhong)(zhong)復這(zhe)個(ge)(ge)內(nei)(nei)容,有可能在(zai)中間(jian)出現偏差我(wo)(wo)不(bu)認識(shi)他,我(wo)(wo)要認識(shi)這(zhe)個(ge)(ge)人,就需(xu)要把(ba)我(wo)(wo)的知識(shi)重(zhong)(zhong)新(xin)提升一下,這(zhe)個(ge)(ge)不(bu)斷重(zhong)(zhong)復的過(guo)程(cheng)涉及大量內(nei)(nei)容,需(xu)要大量計(ji)算。
計算(suan)無(wu)處不(bu)在(zai),計算(suan)本身是(shi)我(wo)(wo)們(men)架構基本前提,沒有好(hao)的(de)計算(suan)量不(bu)要提,GPU因為(wei)有很好(hao)的(de)計算(suan)量,別人趕(gan)不(bu)上它。但是(shi)由于計算(suan)非常豐(feng)富,我(wo)(wo)們(men)不(bu)知道人腦怎么完全計算(suan),因此我(wo)(wo)們(men)只好(hao)通過這種(zhong)我(wo)(wo)們(men)知道的(de)方式,構建一(yi)個所謂能夠具備(bei)智(zhi)慧處理(li)能力(li)的(de)芯片(pian),一(yi)個是(shi)智(zhi)能的(de)軟(ruan)件和硬(ying)件。
智(zhi)能(neng)(neng)(neng)軟(ruan)件(jian)(jian)包含這(zhe)幾(ji)方面的(de)(de)內容(rong):形(xing)成知識(shi)能(neng)(neng)(neng)力、組織能(neng)(neng)(neng)力、思維推理能(neng)(neng)(neng)力。這(zhe)些東西不(bu)(bu)是(shi)芯(xin)(xin)片做(zuo)的(de)(de),是(shi)軟(ruan)件(jian)(jian)做(zuo)的(de)(de)。我(wo)們可以看到(dao)芯(xin)(xin)片更多(duo)地是(shi)提供計算的(de)(de)平(ping)臺、多(duo)任務并行的(de)(de)能(neng)(neng)(neng)力、極高的(de)(de)能(neng)(neng)(neng)效(xiao)、和靈活高效(xiao)的(de)(de)存儲與實(shi)(shi)時動態(tai)能(neng)(neng)(neng)力。因(yin)此我(wo)們經(jing)常說,實(shi)(shi)現智(zhi)能(neng)(neng)(neng)的(de)(de)核心其實(shi)(shi)是(shi)軟(ruan)件(jian)(jian)不(bu)(bu)是(shi)芯(xin)(xin)片,芯(xin)(xin)片不(bu)(bu)過是(shi)支撐智(zhi)能(neng)(neng)(neng)的(de)(de)基(ji)礎而已(yi)。我(wo)們要(yao)改變一些思路,就是(shi)我(wo)們做(zuo)芯(xin)(xin)片的(de)(de)人、特別是(shi)做(zuo)AI芯(xin)(xin)片的(de)(de)人,要(yao)把軟(ruan)件(jian)(jian)放在足夠(gou)高的(de)(de)位置來看。
因此我(wo)(wo)(wo)們希望(wang)在(zai)這(zhe)種(zhong)情況下,硬(ying)件(jian)(jian)(jian)(jian)(jian)可(ke)以(yi)跟著軟件(jian)(jian)(jian)(jian)(jian)不斷(duan)變化,也就是(shi)(shi)所(suo)謂“軟件(jian)(jian)(jian)(jian)(jian)定(ding)義芯片”的(de)(de)(de)(de)(de)概念(nian)。(如果你(ni)說(shuo)(shuo))芯片不能(neng)(neng)被(bei)軟件(jian)(jian)(jian)(jian)(jian)定(ding)義,那你(ni)是(shi)(shi)做不好。這(zhe)個(ge)概念(nian)我(wo)(wo)(wo)們在(zai)10年提(ti)出(chu)來了,但是(shi)(shi)陽春白雪(xue),知道的(de)(de)(de)(de)(de)人不多。由美國(guo)國(guo)防部先(xian)進(jin)計劃(hua)署(shu)(DARPA)推動的(de)(de)(de)(de)(de)電子產業振(zhen)興計劃(hua)(ERI)針對后摩爾(er)定(ding)律(post-Moore’s-law)時(shi)(shi)(shi)代(dai)的(de)(de)(de)(de)(de)新材料、架(jia)構(gou)與(yu)設(she)計流程(cheng)(cheng),在(zai)科技(ji)領域(yu)尋(xun)求突(tu)破,每一(yi)個(ge)方(fang)向(xiang)上設(she)置(zhi)2個(ge)課題(ti),去(qu)年其中一(yi)個(ge)課題(ti)就是(shi)(shi)軟件(jian)(jian)(jian)(jian)(jian)定(ding)義硬(ying)件(jian)(jian)(jian)(jian)(jian)(software define hardware)的(de)(de)(de)(de)(de)概念(nian),我(wo)(wo)(wo)把(ba)它中間一(yi)段話摘(zhai)出(chu)來:打造(zao)可(ke)實時(shi)(shi)(shi)重新配置(zhi)的(de)(de)(de)(de)(de)軟件(jian)(jian)(jian)(jian)(jian)和硬(ying)件(jian)(jian)(jian)(jian)(jian),使(shi)其具備ASIC的(de)(de)(de)(de)(de)性能(neng)(neng)表(biao)現,但不必在(zai)數(shu)據(ju)密集計算中犧牲可(ke)編(bian)程(cheng)(cheng)性。也就是(shi)(shi)說(shuo)(shuo)讓硬(ying)件(jian)(jian)(jian)(jian)(jian)的(de)(de)(de)(de)(de)功(gong)能(neng)(neng)和架(jia)構(gou)跟著軟件(jian)(jian)(jian)(jian)(jian)實時(shi)(shi)(shi)變化,而所(suo)謂的(de)(de)(de)(de)(de)實時(shi)(shi)(shi)所(suo)謂的(de)(de)(de)(de)(de)即時(shi)(shi)(shi)指的(de)(de)(de)(de)(de)是(shi)(shi)運(yun)行(xing)300~1000納秒內。我(wo)(wo)(wo)只能(neng)(neng)笑一(yi)笑,這(zhe)個(ge)工作(zuo)我(wo)(wo)(wo)們10年前(qian)就已經(jing)在(zai)做,走在(zai)美國(guo)同行(xing)的(de)(de)(de)(de)(de)前(qian)面。
大(da)家說,軟(ruan)件定義芯(xin)片也(ye)沒(mei)有(you)很(hen)(hen)奇怪,FPGA早(zao)就可(ke)以(yi)做了。其實(shi)FPGA也(ye)不行。第一(yi)就是(shi)細粒度(du)(du),由(you)于要(yao)實(shi)現比特(te)級的(de)運算(suan),運算(suan)顆(ke)粒度(du)(du)必須為細粒度(du)(du)。FPGA顆(ke)粒度(du)(du)是(shi)細力度(du)(du),所以(yi)配(pei)置信(xin)息(xi)量(liang)非(fei)常大(da),需(xu)要(yao)幾兆(zhao)到(dao)十幾兆(zhao)字節,需(xu)要(yao)十幾毫秒甚至更(geng)(geng)長時(shi)間。同(tong)時(shi)一(yi)旦配(pei)置完畢,不可(ke)更(geng)(geng)改(gai)。如果要(yao)改(gai)變(bian)FPGA的(de)功能,只(zhi)能下(xia)電或(huo)在線重新載入配(pei)置信(xin)息(xi)。FPGA的(de)芯(xin)片面積效率很(hen)(hen)低,只(zhi)有(you)5%,千萬面積的(de)FPGA實(shi)現幾十萬,能量(liang)效率很(hen)(hen)低,而且功耗(hao)很(hen)(hen)大(da)。同(tong)時(shi)FPGA需(xu)要(yao)非(fei)常先(xian)進的(de)工(gong)藝,且需(xu)對工(gong)藝進行特(te)別(bie)調整,應用(yong)者(zhe)還必須具備電路設計(ji)知識(shi)和(he)經(jing)驗(yan)。最后就是(shi)FPGA成本非(fei)常高。
FPGA可(ke)以(yi)(yi)用來做一(yi)個簡單(dan)的(de)驗證系(xi)(xi)統(tong)(tong),但是實用系(xi)(xi)統(tong)(tong)?對(dui)不(bu)起恐怕很難,所(suo)以(yi)(yi)我們(men)說FPGA無法承擔軟件定義(yi)芯片(Software defines Chip,SdC)的(de)任務。那么什(shen)么樣的(de)系(xi)(xi)統(tong)(tong)可(ke)以(yi)(yi)完成SdC?
我們從架構上(shang)去考(kao)慮,如果(guo)我們像右邊(bian)這樣(yang)(yang),給出一(yi)個和軟(ruan)件(jian)(jian)完(wan)全一(yi)致的硬件(jian)(jian)結構,沒有考(kao)慮硬件(jian)(jian)本身的開(kai)銷,這樣(yang)(yang)的計算效率一(yi)定是最高,毋庸(yong)置疑。可軟(ruan)件(jian)(jian)可以無窮大,硬件(jian)(jian)總是有邊(bian)界的。
但如(ru)果我們把(ba)軟(ruan)件(jian)(jian)分成若(ruo)干塊(kuai)(kuai),一(yi)塊(kuai)(kuai)一(yi)塊(kuai)(kuai)搬過去,第(di)一(yi)塊(kuai)(kuai)運行(xing)完了以后,執行(xing)第(di)二個(ge)模(mo)(mo)塊(kuai)(kuai),然(ran)后第(di)三個(ge)模(mo)(mo)塊(kuai)(kuai)搬過去,回(hui)來計算第(di)四個(ge)、第(di)五個(ge)、第(di)六完成這樣。這要求我們的硬(ying)件(jian)(jian)結構和功能必須是(shi)動態的,隨(sui)時可以改變(bian)的。這就是(shi)軟(ruan)件(jian)(jian)定義芯(xin)片的基本概念。
至(zhi)于工(gong)作難點則是怎么(me)很快(kuai)的實(shi)現它?我們(men)過(guo)去(qu)10年當中的努(nu)力就是解(jie)決這個(ge)問題(ti),圖(tu)里(li)的計(ji)算(suan)(suan)架(jia)構是非常經典(dian)的架(jia)構,我們(men)可(ke)以看(kan)到這兩者一個(ge)是所謂(wei)控制單(dan)元(yuan)劃分(fen)的內容,逐步(bu)送進去(qu)執行,要(yao)求根據要(yao)求配置計(ji)算(suan)(suan)單(dan)位并且完成(cheng)執行。
問題是,要(yao)出(chu)現完全可重構(gou)(gou)的(de)(de)數據通道和可完成變(bian)(bian)(bian)成的(de)(de)控制單位,這(zhe)樣做(zuo)到可變(bian)(bian)(bian)化的(de)(de)。這(zhe)與(yu)傳統(tong)結構(gou)(gou)是有(you)差別,我們(men)拿(na)經典(dian)的(de)(de)計(ji)算(suan)模式(shi)做(zuo)了一(yi)個比較(jiao),它是弓形的(de)(de),可傳播(bo)計(ji)算(suan)是函性的(de)(de)。經典(dian)架構(gou)(gou)當(dang)中,軟件硬件不變(bian)(bian)(bian),而(er)在(zai)(zai)我們(men)現在(zai)(zai)的(de)(de)架構(gou)(gou)當(dang)中,硬件和軟件都在(zai)(zai)做(zuo)動態的(de)(de)選擇性的(de)(de)改變(bian)(bian)(bian),經典(dian)架構(gou)(gou)用高(gao)度復用的(de)(de)方式(shi),降低它的(de)(de)成本,而(er)在(zai)(zai)我們(men)這(zhe)邊(bian)是冗余應用。
至于(yu)我們是(shi)不是(shi)改變的計算模式(shi),很遺憾(han)告訴(su)大家(jia),我們還是(shi)在(zai)馮諾伊曼架構當中。有些人我說我們改變了模式(shi),我做出了新(xin)型(xing)的計算架構,其(qi)實我說,你沒(mei)有弄明白。
在這樣的(de)架構之下(xia),我(wo)們實現AI芯片的(de)時候,可(ke)以(yi)把硬(ying)件按照AI的(de)算(suan)法來(lai)不停(ting)的(de)變換,以(yi)達到(dao)最(zui)佳的(de)計(ji)算(suan)效率(lv),大家可(ke)以(yi)看到(dao)最(zui)下(xia)面這塊,我(wo)們從(cong)AI的(de)應用定(ding)義采用深度神(shen)經網絡,再(zai)來(lai)決定(ding)硬(ying)件的(de)功(gong)能,這樣的(de)結構我(wo)們認為是(shi)一個最(zui)佳的(de)方式。(兩(liang)年前(qian))我(wo)們在無意當中決定(ding)嘗試一下(xia),構建(jian)一個AI芯片叫做“思考者(Thinker)”。
大(da)(da)家(jia)可(ke)以(yi)看到左邊有(you)一個(ge)陣列,有(you)兩種PE,一種是(shi)通(tong)用的(de)(de)(de),一個(ge)是(shi)超(chao)級的(de)(de)(de),代表不(bu)同(tong)(tong)的(de)(de)(de)計算(suan)(suan)內容(rong),包(bao)括(kuo)卷積的(de)(de)(de)計算(suan)(suan),還(huan)有(you)全理解的(de)(de)(de)計算(suan)(suan),還(huan)有(you)池化等等。通(tong)過定義的(de)(de)(de)方式,這塊(kuai)芯(xin)片把每個(ge)PE方式進(jin)行隨時定義,再傳(chuan)輸到往(wang)來(lai)網絡(luo)運算(suan)(suan)/我們還(huan)可(ke)以(yi)把陣列上的(de)(de)(de)眾多的(de)(de)(de)PE,通(tong)過定義的(de)(de)(de)方式不(bu)斷(duan)滴改(gai)變不(bu)同(tong)(tong)的(de)(de)(de)層面(mian)的(de)(de)(de)計算(suan)(suan)內容(rong),也可(ke)以(yi)大(da)(da)大(da)(da)提升系統的(de)(de)(de)能效。
在過去2、3年當中,我(wo)們(延循著(zhu)軟件定(ding)義(yi)芯(xin)片(pian)的技術)做出了(le)AI芯(xin)片(pian),在去年的ACM上(shang)做了(le)相關的介紹,Thinker S也在MIT得到(dao)了(le)很(hen)好的報道。Thinker 2做人臉識別的只需要6個毫(hao)秒,功(gong)耗極低,Thinker S的功(gong)耗則(ze)只有0.3個毫(hao)瓦(wa)。這塊芯(xin)片(pian)獲得了(le)很(hen)多(duo)專利、(發(fa)表了(le))很(hen)多(duo)的論文、并且得到(dao)多(duo)個獎項。
我把(ba)跟AI的相關(guan)的內(nei)容都用(yong)紅(hong)線畫出(chu)來(lai)了,基本(ben)在(zai)曲(qu)線的第(di)一個風波上。我們現(xian)在(zai)的AI太熱了,有時媒體也起了不太好的作(zuo)用(yong)。
最后(hou),我(wo)想總(zong)結一下,提(ti)幾(ji)個問題(ti):1、應用(yong)領域(yu)的(de)確立(li)是(shi)(shi)AI領域(yu)的(de)確立(li)前提(ti),但是(shi)(shi)AI的(de)殺手(shou)級應用(yong)還沒(mei)有出現,因此我(wo)們(men)(men)說AI的(de)發展(zhan)有很長(chang)的(de)路(lu)要走(zou)。2、能(neng)(neng)否出現像通用(yong)CPU這樣(yang)獨立(li)存在的(de)通用(yong)AI處理器?如(ru)果存在的(de)話(hua),它的(de)架構是(shi)(shi)什么樣(yang),如(ru)果不存在,我(wo)們(men)(men)今天(tian)的(de)已滿足特定應用(yong)的(de)芯(xin)(xin)片恐怕只能(neng)(neng)做IP核了,我(wo)們(men)(men)AI公司何去(qu)何從呢?這些問題(ti)留個企業家們(men)(men)思考。可能(neng)(neng)大家不同意我(wo)的(de)觀(guan)點,但是(shi)(shi)2到3年內(nei)(AI芯(xin)(xin)片行業)一定會碰(peng)到一個低(di)潮,今天(tian)的(de)一部分、甚至大部分的(de)創(chuang)業者成為(wei)技術變革(ge)的(de)先烈。對不起。(觀(guan)眾(zhong)笑)但是(shi)(shi)毫無疑(yi)問,這將是(shi)(shi)AI芯(xin)(xin)片發展(zhan)中(zhong),最令(ling)人欽(qin)佩(pei)、也(ye)最令(ling)人動容(rong)的(de)偉大事件。謝謝大家!