存內(nèi)計算成為下一代AI芯片的關(guān)鍵 中國半導(dǎo)體的春天未來或?qū)⒌絹?/h1>
隨著人工智能的落地和大規(guī)模應(yīng)用,AI芯片也成為了常見的芯片品類。AI芯片相比傳統(tǒng)芯片來說,主要的競爭優(yōu)勢就在于高算力和高能效比。高算力是指能夠比傳統(tǒng)芯片更快地完成AI計算,而高能效比則是指能比傳統(tǒng)芯片用更少的能量完成計算。
在AI芯片誕生的初期,AI芯片架構(gòu)主要是針對計算并行性做優(yōu)化,從而加強計算能力。然而,隨著AI芯片競爭日益激烈,從并行性方面的潛力也已經(jīng)被挖掘殆盡,這時候AI芯片的性能就遇到了“內(nèi)存墻”這一瓶頸。
要理解內(nèi)存墻,還需要從傳統(tǒng)的馮諾伊曼架構(gòu)說起。馮諾伊曼架構(gòu)是計算機(jī)的經(jīng)典體系結(jié)構(gòu),同時也是之前處理器芯片的主流架構(gòu)。在馮諾伊曼架構(gòu)中,計算與內(nèi)存是分離的單元:計算單元根據(jù)從內(nèi)存中讀取數(shù)據(jù),計算完成后存回內(nèi)存。
存內(nèi)計算能否成為下一代AI芯片的關(guān)鍵
馮諾伊曼架構(gòu)在構(gòu)建之初的假設(shè)就是處理器和內(nèi)存的速度很接近。然而,隨著摩爾定律的演進(jìn),這一假設(shè)早已不再成立。計算單元的性能隨著摩爾定律高速發(fā)展,其性能隨著晶體管特征尺寸的縮小而直接提升;另一方面,內(nèi)存主要使用的是DRAM方案,而DRAM從摩爾定律晶體管尺寸縮小所獲得的益處并不大。這也造成了DRAM的性能提升速度遠(yuǎn)遠(yuǎn)慢于處理器速度,目前DRAM的性能已經(jīng)成為了整體計算機(jī)性能的一個重要瓶頸,即所謂阻礙性能提升的“內(nèi)存墻”。
內(nèi)存墻對于處理器的限制是多方面的,不僅僅是限制了其計算性能,同時也是能效比的瓶頸 。在AI芯片追求極致計算能效比的今天,內(nèi)存墻對于AI芯片能效比的限制效應(yīng)尤其顯著。眾所周知,人工智能中神經(jīng)網(wǎng)絡(luò)模型的一個重要特點就是計算量大,而且計算過程中涉及到的數(shù)據(jù)量也很大,使用傳統(tǒng)馮諾伊曼架構(gòu)會需要頻繁讀寫內(nèi)存。目前的DRAM一次讀寫32bit數(shù)據(jù)消耗的能量比起32bit數(shù)據(jù)計算消耗的能量要大兩到三個數(shù)量級,因此成為了總體計算設(shè)備中的能效比瓶頸。如果想讓人工智能應(yīng)用也走入對于能效比有嚴(yán)格要求的移動端和嵌入式設(shè)備以實現(xiàn)“人工智能無處不在”,那么內(nèi)存訪問瓶頸就是一個不得不解決的問題。
存內(nèi)計算:翻越內(nèi)存墻
內(nèi)存墻之所以存在,從另一個角度看主要還是由于處理器/加速器芯片和主內(nèi)存是兩個獨立的模塊,或者換句話說,計算和內(nèi)存之間距離太遠(yuǎn),因此來回搬運數(shù)據(jù)代價太高,無論是吞吐量還是能效比方面這種數(shù)據(jù)搬運都成為了瓶頸。那么,如何讓內(nèi)存和計算離得更近一些呢?一個最簡單有效的方法就是“存內(nèi)計算”(in-memory computing)。
存內(nèi)計算,顧名思義就是直接在存儲內(nèi)做計算。其具體實現(xiàn)方式有若干條技術(shù)路徑。首先,最直接的就是在現(xiàn)有存儲的基礎(chǔ)上做一些電路上的改動。這類實現(xiàn)方法最簡單,例如2018年MIT Chandrakasan研究組在ISSCC上發(fā)表的研究就是這類技術(shù)的例子。該研究中,存內(nèi)計算的主要用途是加速卷積計算,而卷積計算從數(shù)學(xué)上可以展開成帶權(quán)重的累加計算,或者說是多個數(shù)的加權(quán)平均。因此,存內(nèi)計算的做法是把權(quán)重(1-bit)儲存在SRAM中,輸入數(shù)據(jù)經(jīng)過DAC成為模擬信號,并根據(jù)SRAM中的對應(yīng)權(quán)重相乘,然后在模擬域做平均,最后由ADC讀出成為數(shù)字信號。這類存內(nèi)計算往往只是修改現(xiàn)有存儲的譯碼器/放大器模塊,并不涉及存儲器件的重新設(shè)計,優(yōu)勢是比較容易和現(xiàn)有工藝集成,但是缺點是能夠帶來的性能提升較為有限,尤其是基于SRAM的方案,一方面SRAM的集成度是有限的,另一方面單比特精度的權(quán)重也成為了其應(yīng)用的限制。
存內(nèi)計算能否成為下一代AI芯片的關(guān)鍵
另一種存內(nèi)計算的技術(shù)路線是通過引入新的存儲器件來完成存內(nèi)計算。如果說前一種存內(nèi)計算的概念是“在SoC里引入特殊的SRAM并在SRAM附近高效完成計算”,那么這一種存內(nèi)計算就是直接“在存儲陣列內(nèi)完成計算”了。這種基于新存儲器件的存內(nèi)計算往往要利用新存儲器件的一些特征,并且在一塊特殊的存儲陣列內(nèi)集成計算功能,在要做計算的時候主處理模塊只需要給存儲陣列發(fā)送輸入數(shù)據(jù),過若干時鐘周期之后存儲陣列會把計算好的結(jié)果返回給主處理模塊。與傳統(tǒng)的馮諾伊曼架構(gòu)相比,傳統(tǒng)馮諾伊曼架構(gòu)中處理器芯片給內(nèi)存發(fā)請求,并讀回數(shù)據(jù);而在這類存內(nèi)計算芯片的計算范式中,主處理模塊給存儲陣列發(fā)送請求和輸入數(shù)據(jù),而存儲陣列則直接返回計算結(jié)果,這樣就省去了計算過程中主處理器和內(nèi)存之間的大量數(shù)據(jù)搬運。通常來說,存內(nèi)計算在處理人工智能相關(guān)任務(wù)的時候,會把神經(jīng)網(wǎng)絡(luò)權(quán)重存儲在陣列中,而主處理模塊直接給存儲陣列發(fā)去神經(jīng)網(wǎng)絡(luò)的輸入即可開始計算。
近年來,存內(nèi)計算已經(jīng)逐漸成為業(yè)界和學(xué)界公認(rèn)的趨勢。拿半導(dǎo)體集成電路領(lǐng)域的“奧林匹克”——ISSCC為例,從2018年開始ISSCC開始設(shè)立與存內(nèi)計算相關(guān)的專門session并收錄五篇相關(guān)論文,此后存內(nèi)計算在ISSCC上的相關(guān)論文錄用勢頭一直不減,到2020年的ISSCC與存內(nèi)計算相關(guān)的論文數(shù)量上升到了七篇。除此之外,半導(dǎo)體器件領(lǐng)域的頂級會議IEDM今年也給了存內(nèi)計算足夠重視,有三個專門的session共二十多篇相關(guān)論文。有趣的是,ISSCC和IEDM上相關(guān)存內(nèi)計算的論文正好對應(yīng)了前文所說的存內(nèi)計算的兩種技術(shù)路線——ISSCC對應(yīng)從電路側(cè)做技術(shù)革新,而IEDM則主要對應(yīng)器件方向的技術(shù)更新?lián)Q代,通過引入新的存儲器件并基于其新特性來開發(fā)高性能的存內(nèi)計算。其中,IEDM中顯示的范式轉(zhuǎn)換更引人關(guān)注。今年,IEDM的一大看點就是對于摩爾定律到頭之后下一步方向的預(yù)測,有一個專門的panel session更是直接以“摩爾定律已死,但是AI永生”為名字,可見業(yè)界對于后摩爾定律時代的發(fā)展,最看好的是基于AI的新器件。而在AI相關(guān)的新器件/新范式中,存內(nèi)計算可謂是最有希望的一種,由此可見今年IEDM的關(guān)于后摩爾定律的主題和錄用數(shù)十篇存內(nèi)計算相關(guān)的論文之間存在著緊密的聯(lián)系。
目前,全球存內(nèi)計算有不少玩家。例如,半導(dǎo)體巨頭TSMC正在推廣其基于ReRAM的存內(nèi)計算方案,而IBM基于其獨特的相變存儲的存內(nèi)計算也已經(jīng)有了數(shù)年的歷史。初創(chuàng)公司中,Mythic基于Flash的方案也獲得了軟銀的首肯并獲取了其資金支持。然而,傳統(tǒng)存內(nèi)計算有一個主要問題,就是計算精度和應(yīng)用場景之間的矛盾。ReRAM通常只能做到2至3-bit,這即使對于終端用的神經(jīng)網(wǎng)絡(luò)來說也不太夠。Mythic的產(chǎn)品針對服務(wù)器市場,然而服務(wù)器市場對于計算精度的要求卻相比終端更高,這也成為了困擾存內(nèi)計算的一個問題。
IEDM上的來自中國的論文可能成為解決存內(nèi)計算瓶頸的關(guān)鍵
如上文所述,存內(nèi)計算的一個關(guān)鍵瓶頸是精度和應(yīng)用之間的矛盾。如果要解決這個矛盾,我們希望能有一款針對移動端的低功耗存內(nèi)計算產(chǎn)品,且其計算精度能達(dá)到移動端神經(jīng)網(wǎng)絡(luò)的計算需求(》4bit)。
在今年的IEDM上,我們就看到了這樣的技術(shù)突破。一家初創(chuàng)公司閃億半導(dǎo)體,與浙江大學(xué)、北京大學(xué)、華虹宏力合作發(fā)表的論文《Programmable Linear RAM: A New Flash Memory-based Memristor for Artificial Synapses and Its ApplicaTIon to Speech RecogniTIon System》恰恰解決了這個矛盾。該論文巧妙地利用晶體管在線性區(qū)的特性制備了新型存儲器PLRAM,并成功地設(shè)計出了一款可以用在移動終端的超低功耗存內(nèi)計算芯片,并實現(xiàn)了8-bit精度操作。
存內(nèi)計算能否成為下一代AI芯片的關(guān)鍵
當(dāng)計算精度高于4-bit時,我們認(rèn)為就可以執(zhí)行一些神經(jīng)網(wǎng)絡(luò)計算,而該論文中的8-bit精度更是可以保證大多數(shù)神經(jīng)網(wǎng)絡(luò)計算可以高精度完成,而不會損失性能。該論文把相關(guān)器件應(yīng)用到了語音識別中并且完成了芯片流片和測試,測試結(jié)果顯示該芯片可以以超低功耗(峰值9mW)執(zhí)行語音識別相關(guān)的操作(MFCC特征提取和深度神經(jīng)網(wǎng)絡(luò)前饋運算),峰值算力可達(dá)30GOPS,足夠IoT和可穿戴設(shè)備相關(guān)的應(yīng)用。相比而言,Mythic等國外初創(chuàng)存內(nèi)計算公司僅能實現(xiàn)低精度計算且難以克服成本的門檻(因此Mythic選擇了對于成本不敏感的服務(wù)器市場),閃億通過最新的器件技術(shù)突破實現(xiàn)的8-bit計算精度和較低的成本則是成功地撬動了體量更大的IoT市場。
存內(nèi)計算能否成為下一代AI芯片的關(guān)鍵
除了器件上的突破之外,閃億在電路以及更高的指令集領(lǐng)域都有深厚的技術(shù)積累。如前所述,存內(nèi)計算是橫跨器件和電路兩個領(lǐng)域的技術(shù),通常的存內(nèi)計算與數(shù)字電路之間的接口需要大量數(shù)字-模擬轉(zhuǎn)換和信號驅(qū)動,而這些接口事實上需要大量的電路優(yōu)化工作,否則容易成為整體性能的瓶頸。為了解決這個效率瓶頸,閃億開發(fā)了大規(guī)模阻性存儲陣列驅(qū)動技術(shù),能實現(xiàn)高效率的存內(nèi)計算電路接口;同時,也為存內(nèi)計算的規(guī)?;伷搅说缆?。在電路之上的架構(gòu)層級,閃億也有自己獨特的指令集技術(shù)。事實上,編譯器和指令集一直是困擾所有人工智能芯片設(shè)計的重要問題,AI芯片無法在實際應(yīng)用中真正發(fā)揮全部算力的主要問題就在于指令集和編譯器設(shè)計不過關(guān),導(dǎo)致芯片只能在demo中有高算力,而到了用戶提供的實際模型運行中就效率大幅下降。為此,閃億開發(fā)了一套存內(nèi)計算的專用指令集,可望解決這個困擾AI芯片行業(yè)的通病。
該研究讓我們看到了中國半導(dǎo)體行業(yè)的崛起,因為在IEDM這樣強手如林的頂尖半導(dǎo)體器件會議上發(fā)表文章本身就是對相關(guān)技術(shù)的肯定。更可喜的是,該研究已經(jīng)在閃億進(jìn)行商業(yè)化,我們認(rèn)為閃億擁有的技術(shù)首先能克服存內(nèi)計算的計算精度和應(yīng)用場景之間的矛盾,可以把存內(nèi)計算低功耗的優(yōu)勢發(fā)揮到極致,而同時其高精度計算又保證了可以兼容大多數(shù)神經(jīng)網(wǎng)絡(luò)。同時,閃億選擇的IoT和可穿戴式市場也是一個正在蓬勃發(fā)展的市場,這些市場非常適合用全球領(lǐng)先的新技術(shù)去撬動新的應(yīng)用,從而讓存內(nèi)計算真正落地走向千家萬戶。我們希望能看到更多像閃億這樣的高精尖半導(dǎo)體技術(shù)商業(yè)化的案例,而當(dāng)市場上出現(xiàn)眾多這樣的充滿活力的高新技術(shù)半導(dǎo)體公司時,中國半導(dǎo)體的春天也就到了。