智東西(公眾號:zhidxcom)
文 | 司北

3月15日,由智東西主辦(ban),AWE和極果聯合主辦(ban)的AI芯片(pian)創新峰會(hui),在上海(hai)成功舉(ju)辦(ban)!本次峰會(hui)報名參會(hui)的觀眾覆蓋了近(jin)4500家企業,到會(hui)觀眾極為(wei)專(zhuan)業,其(qi)中總監以上級別占比超(chao)過62%,現場實際到會(hui)人數(shu)超(chao)過1800位。

大會現場,20位人工智能及(ji)AI芯(xin)片(pian)業界翹(qiao)楚共聚(ju)一堂,系統的探討(tao)了AI芯(xin)片(pian)在架(jia)構創新、生態構建、場景(jing)落地等方面的技術前景(jing)和產(chan)業趨勢。

探境魯勇:破局存儲墻,打造首款通用AI芯片 | GTIC2019
▲探境科技創始人兼CEO魯(lu)勇

憑借其創(chuang)新的(de)(de)存儲優先架構(gou)(SFA),探(tan)境科技去年完(wan)成A輪(lun)上億元融(rong)資,是中國(guo)新崛起的(de)(de)AI芯片新生(sheng)力量之(zhi)一。大(da)會現(xian)場(chang),探(tan)境科技創(chuang)始人兼CEO魯勇(yong)進行了主題為(wei)《基于存儲優先架構(gou)的(de)(de)AI芯片使能前端智(zhi)能》的(de)(de)演講。

由于(yu)AI神經(jing)網絡(luo)數據量較大,具有高并(bing)發、高耦合等特性,引發了AI芯片高帶寬(kuan)存取、以(yi)及數據間的相(xiang)關耦合性等問(wen)題(ti),所以(yi)在馮諾伊(yi)曼架(jia)構之下,目(mu)前(qian)AI芯片普遍面臨(lin)了“存儲(chu)(chu)墻(qiang)”問(wen)題(ti)——AI計算資源豐富,但存儲(chu)(chu)及數據搬(ban)運(yun)效(xiao)率(lv)低(di)下。

魯(lu)勇認為,本質上AI計算(suan)的核心(xin)問題是(shi)“如(ru)(ru)何更高效地(di)將(jiang)數據輸送給計算(suan)單位(wei)”,而并不是(shi)如(ru)(ru)何增加更多AI計算(suan)資源(yuan)。

因此,去(qu)年探境發布了存(cun)儲優先架(jia)構(Storage First Architecture,簡稱SFA),這是一套不(bu)同于馮諾伊曼的AI芯片架(jia)構,它這套架(jia)構從數(shu)據層(ceng)和計算層(ceng)中間(jian),通(tong)過(guo)數(shu)據航(hang)線,進行節點間(jian)的數(shu)據搬移。

這套架構(gou)的(de)(de)本質(zhi)是(shi)圖(tu)計(ji)算(suan),控(kong)制器(qi)通過(guo)知(zhi)道在(zai)動態運行過(guo)程(cheng)中,哪(na)些(xie)數據和(he)哪(na)些(xie)算(suan)子需要有一定的(de)(de)相關性,從而構(gou)建更加合理的(de)(de)網絡路徑。

SFA架構由此(ci)帶來的(de)優勢包括:數據訪(fang)問量能(neng)降(jiang)低(di)10到100倍、存儲子(zi)系統(tong)的(de)功耗能(neng)下降(jiang)10倍以上、28nm條件下計算(suan)資源利用率高達80%、芯片面積極大縮小。

魯勇還(huan)表示(shi),SFA還(huan)可(ke)(ke)(ke)以做到通用(yong)型的AI芯片,不(bu)僅可(ke)(ke)(ke)以支持(chi)(chi)任意已(yi)知的神經網絡,等(deng)同于(yu)GPU的兼容性,還(huan)對神經網絡的參數、數據類型沒(mei)有限(xian)制(zhi),能(neng)夠支持(chi)(chi)多(duo)種應用(yong)場景,可(ke)(ke)(ke)以真(zhen)正符合商業應用(yong)。

附探境科技創始人兼CEO魯勇演講實錄

魯勇:大(da)(da)家好!剛才眾多演講者給大(da)(da)家分享了很多AI在(zai)各種應(ying)用場景的(de)例子,包(bao)括(kuo)從云(yun)端(duan)的(de)替代GPU作為提(ti)高(gao)能效比的(de)工具,從云(yun)端(duan)到(dao)終端(duan)的(de)延(yan)展,終端(duan)包(bao)括(kuo)從小(xiao)到(dao)可(ke)穿(chuan)戴,大(da)(da)到(dao)安防(fang)、自(zi)動駕駛(shi)等應(ying)用場景。所以我(wo)在(zai)這里就不重復這些應(ying)用場景的(de)情(qing)況(kuang)。

最近有很(hen)多AI芯(xin)片(pian)(pian)層出(chu)不(bu)窮地往這個領域在進(jin)展,這里有很(hen)多機會,目的(de)是(shi)能讓(rang)AI芯(xin)片(pian)(pian)更(geng)(geng)(geng)加強大(da)(da)、更(geng)(geng)(geng)加易(yi)用、更(geng)(geng)(geng)加低(di)功耗(hao)。今天(tian)上午魏老師提到了AI芯(xin)片(pian)(pian)從(cong)0.5到2.0的(de)演(yan)進(jin),這當中有大(da)(da)量的(de)創新需要做,基于非常基礎層的(de)芯(xin)片(pian)(pian)底層架構,我(wo)在這里分享一些探境科技在這方面的(de)創新。

去年探(tan)境發布了存儲優先(xian)架構(Storage First Architecture,簡(jian)稱SFA),這(zhe)一架構有非(fei)常高的領先(xian)度,由于很多朋友比較關心(xin)和關注,我們今天會先(xian)簡(jian)單回顧一下SFA是什么。

先預告一下,下面的(de)內容(rong)可能會比較偏硬核一些,會談到比較深(shen)的(de)技(ji)術(shu)要點。深(shen)度學(xue)習(xi)給芯片設計帶來了很大(da)挑戰,深(shen)度學(xue)習(xi)的(de)數(shu)據(ju)量非常大(da),包括(kuo)訓練好(hao)的(de)權(quan)重和運行的(de)動態中間數(shu)據(ju)。

探境魯勇:破局存儲墻,打造首款通用AI芯片 | GTIC2019

神經網(wang)絡(luo)的運算主要看到(dao)(dao)的是卷(juan)(juan)積(ji)(ji),左邊是單層(ceng)的卷(juan)(juan)積(ji)(ji),但實際上在神經網(wang)絡(luo)上真正(zheng)被用(yong)到(dao)(dao)的是右邊的立(li)體卷(juan)(juan)積(ji)(ji)。立(li)體卷(juan)(juan)積(ji)(ji)是多個(ge)通道(dao)的二(er)維卷(juan)(juan)積(ji)(ji),有非(fei)常(chang)強的耦合(he)性(xing),其數(shu)據的連接關系以及重復的使用(yong)給我們帶(dai)來很大(da)的問題。

通常(chang)做卷積(ji)運算的(de)(de)(de)第一種方(fang)(fang)法(fa)是直接進(jin)行卷積(ji)運算,設計(ji)(ji)一個(ge)比較硬核(he)的(de)(de)(de)加速器(qi),這種方(fang)(fang)式(shi)在(zai)傳統(tong)的(de)(de)(de)通信(xin)芯片設計(ji)(ji)里會采(cai)用,還有(you)一種方(fang)(fang)法(fa)是采(cai)用數學(xue)變(bian)換的(de)(de)(de)方(fang)(fang)式(shi),把卷積(ji)轉化為矩陣,這樣可(ke)以更(geng)加通用地應對不同卷積(ji)的(de)(de)(de)尺寸(cun)。

探境魯勇:破局存儲墻,打造首款通用AI芯片 | GTIC2019

在這幾種(zhong)常見(jian)的(de)(de)方法中(zhong),我們提到(dao)的(de)(de)問(wen)(wen)題都存在,包(bao)括高(gao)并(bing)發(fa)、高(gao)耦(ou)合,大量的(de)(de)數(shu)據引發(fa)了(le)高(gao)帶寬存取、以及數(shu)據間的(de)(de)相(xiang)關耦(ou)合性,帶來了(le)一個“存儲墻”的(de)(de)問(wen)(wen)題。

在現在的學術界(jie)、工業界(jie),“存(cun)儲(chu)(chu)墻(qiang)”都是(shi)熱點的話題(ti),我(wo)們也看到(dao)(dao)了(le)很(hen)多使用試圖破解“存(cun)儲(chu)(chu)墻(qiang)”的不同方法(fa)。“存(cun)儲(chu)(chu)墻(qiang)”帶來的瓶頸是(shi)性能(neng)跟(gen)功(gong)耗(hao)(hao)兩方面的。最開始(shi)需(xu)要通過(guo)外存(cun)和內存(cun)之間交換數據,這一步功(gong)耗(hao)(hao)比較大,第(di)二(er)(er)步是(shi)在存(cun)儲(chu)(chu)器的數據排(pai)序,如(ru)何(he)高效地填入到(dao)(dao)計算單元,這是(shi)第(di)二(er)(er)個非常(chang)重要的難(nan)點。

這個問題我(wo)們可以簡化(hua)抽象成用EU是計(ji)(ji)算單(dan)元,Memory是所有的(de)存儲。本質上AI計(ji)(ji)算的(de)核心問題是“如何更高效地(di)將(jiang)數據輸送給(gei)計(ji)(ji)算單(dan)位(wei)”,而(er)計(ji)(ji)算并不重要。

我(wo)們看(kan)到(dao)之(zhi)前(qian)很多的解(jie)決方(fang)案在(zai)計算上做(zuo)了很多文(wen)章,包括把計算單位EU升級(ji),從小規模的計算,比如(ru)將(jiang)乘法器升級(ji)到(dao)更高規格的卷積、三維(wei)卷積、矩陣等方(fang)式(shi)。這種方(fang)式(shi)并不(bu)真正地破解(jie)瓶(ping)(ping)頸,瓶(ping)(ping)頸是(shi)在(zai)數據供(gong)給方(fang)面。

探境魯勇:破局存儲墻,打造首款通用AI芯片 | GTIC2019

這(zhe)里有(you)幾個具體的困難大家可以探(tan)討一下:

1、數據(ju)量大,帶(dai)寬(kuan)要求(qiu)高,數據(ju)是(shi)不(bu)能(neng)完全存(cun)在(zai)片內的,存(cun)在(zai)片外會(hui)有DDR不(bu)僅會(hui)有功耗問題,我們(men)做SoC的知道,DDR帶(dai)寬(kuan)一向(xiang)是(shi)大家爭奪的重點,所以系統(tong)瓶(ping)頸會(hui)產生。

2、數據耦合性比(bi)較高(gao),很大(da)程度上數據是重復使用(yong)的(de),重復使用(yong)的(de)數據會進一步加大(da)功耗。

3、其實更大的困難(nan)是第三點,數據的使用復(fu)雜度很(hen)高,很(hen)多朋友在(zai)設計AI芯片的時候(hou),數據的排序從不同的網絡層之間切換的是非(fei)常困難(nan)的。

我們總結一下(xia)現在(zai)常(chang)見(jian)解(jie)決方式:

1、增(zeng)(zeng)加計算(suan)資源。剛才(cai)提到了,這(zhe)一方法只能增(zeng)(zeng)加計算(suan)的效率,但是(shi)沒有辦法破解“存儲墻”。

2、通(tong)過軟件的方(fang)(fang)式(shi)編輯(ji)數據,讓(rang)數據的存儲方(fang)(fang)式(shi)利于硬件直(zhi)接調(diao)取。但是(shi)這種方(fang)(fang)法對于中間的動態數據流(liu)是(shi)無法應對的。

3、通過硬(ying)件整合(he)更大規(gui)模(mo)的(de)算(suan)子(zi)。這一方法有(you)些(xie)困難(nan)(nan),剛才講到(dao)神經(jing)網絡有(you)很(hen)(hen)多不同的(de)配置,這些(xie)配置對(dui)神經(jing)網絡很(hen)(hen)難(nan)(nan)做到(dao)全(quan)部兼容。

4、在計算(suan)資(zi)源內部(bu)放入(ru)少量的(de)(de)存(cun)儲(chu)資(zi)源。但是存(cun)儲(chu)資(zi)源仍然有瓶頸,少量的(de)(de)存(cun)儲(chu)資(zi)源放不了太多的(de)(de)數據。

5、還有現在比(bi)較火的(de)一(yi)(yi)種方式是(shi)(shi)把(ba)計算(suan)資(zi)源放到存(cun)儲(chu)器內部,一(yi)(yi)般(ban)叫“存(cun)算(suan)一(yi)(yi)體(ti)化”,這當中也有很多(duo)問題沒有被解決,首先它需要(yao)(yao)非常大的(de)片(pian)上(shang)存(cun)儲(chu),只(zhi)有大量的(de)片(pian)上(shang)存(cun)儲(chu)才能(neng)夠(gou)把(ba)整個神(shen)經(jing)網(wang)絡模型都(dou)放進去(qu);第二基(ji)本(ben)上(shang)做(zuo)存(cun)算(suan)一(yi)(yi)體(ti)的(de)大部分都(dou)還是(shi)(shi)針(zhen)對全聯接層構成(cheng)的(de)DNN或feature map非常小的(de)卷積(ji)層進行設計,對這些(xie)比(bi)較復雜的(de)卷積(ji)神(shen)經(jing)網(wang)絡是(shi)(shi)否能(neng)夠(gou)支(zhi)持,也是(shi)(shi)要(yao)(yao)打問號的(de)。

6、還有(you)一種方法是在算法上(shang)設計(ji)低精度(du)的網絡(luo),降低對存儲的需求。這種方式(shi)看上(shang)去是解決了(le)一定(ding)問題,但(dan)也(ye)有(you)場景受限的情況。

總結一下,如果主(zhu)要關注在計(ji)算(suan)方面,即使芯片提高了(le)再大的(de)(de)(de)并行(xing)度(du),它對AI計(ji)算(suan)的(de)(de)(de)效能提升也是(shi)有限的(de)(de)(de)。這種架(jia)構我們稱之為(wei)“類(lei)CPU架(jia)構,或者“馮諾(nuo)伊曼架(jia)構”。這種架(jia)構是(shi)由(you)計(ji)算(suan)驅(qu)動存儲。因為(wei)這種計(ji)算(suan)資源(yuan)(yuan)在神經(jing)網絡上是(shi)比較富余的(de)(de)(de),用(yong)富余的(de)(de)(de)資源(yuan)(yuan)驅(qu)動稀缺的(de)(de)(de)存儲資源(yuan)(yuan),顯然沒有辦(ban)法帶(dai)來很(hen)好的(de)(de)(de)收益。

探境魯勇:破局存儲墻,打造首款通用AI芯片 | GTIC2019

探境科技重新思考了(le)存(cun)儲和計算的關系,以存(cun)儲來驅(qu)動計算,做了(le)一套完全不(bu)同于馮諾伊曼(man)的架構。

這套架構(gou)從數(shu)(shu)據(ju)層(ceng)和計算(suan)層(ceng)中(zhong)間,通(tong)過(guo)數(shu)(shu)據(ju)航(hang)線,數(shu)(shu)據(ju)作為(wei)(wei)節點和計算(suan)節點,這個過(guo)程(cheng)是一個數(shu)(shu)據(ju)搬移的(de)(de)過(guo)程(cheng),因(yin)為(wei)(wei)我們(men)(men)可以認(ren)為(wei)(wei)所有的(de)(de)數(shu)(shu)據(ju)都有自己的(de)(de)生命(ming)周期,它在生命(ming)周期里(li)可能會和其他數(shu)(shu)據(ju)發生相(xiang)應(ying)關系,我們(men)(men)以數(shu)(shu)據(ju)作為(wei)(wei)優先可以考(kao)慮到數(shu)(shu)據(ju)帶動算(suan)子,而非由算(suan)子找數(shu)(shu)據(ju)的(de)(de)關系。

探境魯勇:破局存儲墻,打造首款通用AI芯片 | GTIC2019

這套(tao)關系是(shi)由Scheduler控制(zhi)器來控制(zhi)的,這樣一(yi)(yi)個CPU可以知(zhi)道在動態(tai)運行過程中哪些(xie)數(shu)據和(he)哪些(xie)算(suan)子需要(yao)有一(yi)(yi)定的相關性,從而(er)構建出一(yi)(yi)張相對比較合(he)理的網絡(luo)。

所以這里本(ben)質(zhi)上(shang)來講深度學習的計算(suan)(suan)是圖計算(suan)(suan),這個方向(xiang)上(shang)我們對(dui)此有很(hen)高的認知(zhi)。

舉個例子(zi),像(xiang)曾經(jing)大家(jia)做通信(xin)算(suan)(suan)法(fa)的(de)時(shi)候都會做到傅里葉變換,做時(shi)域(yu)(yu)和頻(pin)域(yu)(yu)的(de)變化,很(hen)多問題在時(shi)域(yu)(yu)里無法(fa)解決的(de)時(shi)候,你走到頻(pin)域(yu)(yu)里就迎刃而解。所以神經(jing)網絡的(de)本質問題是圖計(ji)算(suan)(suan)問題,當你走到圖計(ji)算(suan)(suan)的(de)高度的(de)時(shi)候,很(hen)多問題會迎刃而解。

SFA能(neng)帶來(lai)什么(me)好處呢?首(shou)先數(shu)據訪問量能(neng)降(jiang)低(di)10到(dao)100倍,所以存(cun)儲子(zi)系統的(de)功耗能(neng)下(xia)(xia)降(jiang)10倍以上;在(zai)28nm條件下(xia)(xia),系統能(neng)效比超過4 TOPS/W,計(ji)算資源(yuan)(yuan)利用(yong)(yong)率也(ye)很高,超過80%,我們可以看到(dao)現在(zai)公開的(de)很多(duo)AI架構(gou)芯片資源(yuan)(yuan)利用(yong)(yong)率都只(zhi)在(zai)50%上下(xia)(xia)浮(fu)動。另外SFA面積(ji)非常小,在(zai)28nm工藝條件下(xia)(xia)的(de)Post Layout面積(ji)是每TOPS 0.5平方(fang)毫米。

探境魯勇:破局存儲墻,打造首款通用AI芯片 | GTIC2019

同(tong)時,SFA可(ke)以做到通(tong)(tong)用(yong)型的(de)(de)AI芯(xin)片,可(ke)以支持(chi)任(ren)意(yi)已(yi)知的(de)(de)神經(jing)網絡(luo),等同(tong)于GPU的(de)(de)兼容(rong)性。很多設(she)計芯(xin)片的(de)(de)朋友都知道,想要(yao)做一(yi)款通(tong)(tong)用(yong)型的(de)(de)AI芯(xin)片非常非常困(kun)難,有的(de)(de)只(zhi)能(neng)支持(chi)幾個神經(jing)網絡(luo),有的(de)(de)會在神經(jing)網絡(luo)的(de)(de)參數(shu)上(shang)有非常大(da)的(de)(de)限制,只(zhi)能(neng)支持(chi)一(yi)些,有些可(ke)能(neng)就不支持(chi)了。

SFA對(dui)(dui)所(suo)有的(de)(de)(de)神經網絡參數、架構沒有任何限(xian)制,對(dui)(dui)數據類(lei)型也(ye)任何限(xian)制,包括INT8、INT16、浮(fu)(fu)點(dian)16、浮(fu)(fu)點(dian)32、甚至包括一(yi)些自(zi)定(ding)義的(de)(de)(de)浮(fu)(fu)點(dian),全都(dou)可以支持(chi)(chi);并且對(dui)(dui)于深度(du)學習里所(suo)講到的(de)(de)(de)稀(xi)疏(shu)化的(de)(de)(de)數據,也(ye)是可以自(zi)適應去支持(chi)(chi),不用事先做任何的(de)(de)(de)預處理。我們知道通用型對(dui)(dui)芯片設計(ji)是非常(chang)(chang)(chang)重要的(de)(de)(de),因為我們做芯片設計(ji)的(de)(de)(de)人通常(chang)(chang)(chang)所(suo)面臨的(de)(de)(de)場(chang)(chang)景(jing)是非常(chang)(chang)(chang)廣(guang)泛的(de)(de)(de),只為一(yi)個場(chang)(chang)景(jing)做一(yi)個具體的(de)(de)(de)芯片可能成本就太高了(le)。

探境魯勇:破局存儲墻,打造首款通用AI芯片 | GTIC2019

SFA的易用(yong)(yong)性(xing)也非常高,工(gong)具鏈使用(yong)(yong)很(hen)簡(jian)單(dan),對用(yong)(yong)戶(hu)(hu)來說網(wang)(wang)絡(luo)(luo)不(bu)(bu)需要(yao)重新(xin)訓(xun)練,這也是(shi)真正用(yong)(yong)戶(hu)(hu)使用(yong)(yong)上的頭(tou)疼問題,需要(yao)拿著網(wang)(wang)絡(luo)(luo)重新(xin)訓(xun)練,但是(shi)SFA的網(wang)(wang)絡(luo)(luo)可以直接拿來使用(yong)(yong)不(bu)(bu)用(yong)(yong)訓(xun)練,數據的精度設置(zhi)靈活度非常大,甚至可以做到每層做自己的定義數據精度。

探境魯勇:破局存儲墻,打造首款通用AI芯片 | GTIC2019

因(yin)此,有(you)這(zhe)樣的(de)(de)一些(xie)優點,所以(yi)可以(yi)考(kao)慮做(zuo)出(chu)當前沒有(you)實現(xian)的(de)(de)功能,我們既可以(yi)做(zuo)一些(xie)訓(xun)(xun)練(lian)(lian),也可以(yi)做(zuo)推理,終(zhong)(zhong)端(duan)(duan)能看到(dao)更多的(de)(de)是推理的(de)(de)芯(xin)片(pian),SFA也可以(yi)做(zuo)云端(duan)(duan)的(de)(de)訓(xun)(xun)練(lian)(lian)和推理,無縫銜接,更重要的(de)(de)事情是在終(zhong)(zhong)端(duan)(duan)可以(yi)做(zuo)到(dao)終(zhong)(zhong)端(duan)(duan)推理和終(zhong)(zhong)端(duan)(duan)的(de)(de)一些(xie)本地訓(xun)(xun)練(lian)(lian)。

最近大家對隱私的(de)要求(qiu)也越(yue)來越(yue)高,很多用戶(hu)本(ben)(ben)地所拍(pai)攝(she)的(de)圖像是(shi)不太愿意(yi)上傳到云端,但他又希望能夠在自(zi)己不斷地使用過程中通過自(zi)己的(de)訓練(lian)(lian)能夠讓自(zi)己的(de)模(mo)(mo)型(xing)(xing)變的(de)更(geng)加精確、更(geng)加適合場景。這樣的(de)話需要一些本(ben)(ben)地訓練(lian)(lian),或者是(shi)需要一些協同性(xing)的(de)訓練(lian)(lian),和其他用戶(hu)一同訓練(lian)(lian)更(geng)好的(de)模(mo)(mo)型(xing)(xing),采用這樣的(de)架構功能就可以(yi)完成。

我(wo)們(men)認為這是真正可以(yi)符合商業應用的AI芯片(pian)(pian),其他大量的AI芯片(pian)(pian)會有局限性于固定場(chang)景的使用。

基于SFA對所(suo)有(you)(you)終(zhong)端的應(ying)用場景(jing)都(dou)可以支持,語(yu)音芯(xin)片、機器視覺芯(xin)片、自動(dong)駕駛芯(xin)片等,這些(xie)場景(jing)的核心點都(dou)在于AI計算,如果AI計算能(neng)夠(gou)(gou)超出現(xian)有(you)(you)的水平達到(dao)更(geng)高的能(neng)效(xiao)比、更(geng)好的成本(ben)控制,在半導體方向(xiang)上創(chuang)(chuang)新(xin)(xin)永遠(yuan)是推動(dong)行業發展的原(yuan)動(dong)力,并且能(neng)夠(gou)(gou)帶來源源不斷的提(ti)升。有(you)(you)這樣(yang)的SFA的架構應(ying)該能(neng)夠(gou)(gou)給(gei)所(suo)有(you)(you)終(zhong)端芯(xin)片都(dou)有(you)(you)新(xin)(xin)的收(shou)獲(huo),包括(kuo)從成本(ben)上、功能(neng)上、易(yi)用性上,都(dou)會有(you)(you)新(xin)(xin)的創(chuang)(chuang)新(xin)(xin)。

謝謝大家!