安防無疑是目前整個(gè)AI大板塊當(dāng)中最為火爆的一類應(yīng)用場景。鑒于其龐大的數(shù)據(jù)體量以及復(fù)雜多樣的數(shù)據(jù)結(jié)構(gòu),加之越發(fā)智能化的分析模式,讓如今的芯片技術(shù)在既需要對數(shù)據(jù)做高速計(jì)算的同時(shí),也要隨時(shí)快速的調(diào)用龐大的存儲資源。
但隨著芯片當(dāng)中運(yùn)算單元的增加,每個(gè)運(yùn)算單元能夠使用的存儲器的帶寬和大小卻在逐漸減小,譬如安防領(lǐng)域如今很多的AI推理運(yùn)算中,90%以上的運(yùn)算資源幾乎都消耗在數(shù)據(jù)搬運(yùn)過程上,芯片內(nèi)部到外部的帶寬以及片上緩存空間限制了運(yùn)算的效率。這也成為橫亙在AI安防芯片技術(shù)與市場之間的最大障礙,如何通過架構(gòu)的創(chuàng)新去突破現(xiàn)有桎梏,是當(dāng)下一眾AI安防芯片玩家們打出市場差異化的關(guān)鍵。
存儲和算力矛盾日益“激化”架構(gòu)創(chuàng)新成AI安防“芯”唯一出路
眾所周知,如今的各種AI功能實(shí)現(xiàn)的背后,其核心的算法無疑都仰賴著一個(gè)個(gè)龐大而復(fù)雜的網(wǎng)絡(luò)。通常,在算法運(yùn)行的過程中,會有大量參數(shù)需要被存儲,與此同時(shí)芯片也更要快速完成海量數(shù)據(jù)的計(jì)算,從而產(chǎn)生出更多新的數(shù)據(jù),這在當(dāng)下的安防應(yīng)用場景可謂十分常見。對此,不少芯片廠商的設(shè)計(jì)思路基本都是通過增加并行的運(yùn)算單元,例如上千個(gè)卷積單元,但這卻會使得系統(tǒng)在有限的存儲資源條件下需要調(diào)用更大的存儲空間,讓存儲與算力之間的矛盾越發(fā)突出。
隨著算法的發(fā)展和數(shù)據(jù)的變大,系統(tǒng)對存儲帶寬的要求也會越來越高,業(yè)內(nèi)資深人士謝源表示:“無論是TPU、BPU,還是XPU,PU做得再快,數(shù)據(jù)還是在存儲那里,所以我們需要把數(shù)據(jù)從內(nèi)存搬到PU當(dāng)中。但這個(gè)數(shù)據(jù)搬移過程需要的能量在整個(gè)計(jì)算中占非常大的比重,而且數(shù)據(jù)搬運(yùn)的效率不會因?yàn)槟柖傻陌l(fā)展而提高。”
業(yè)內(nèi)資深人士謝源
“要突破芯片的瓶頸,并不能只是簡單的往上累積算力,而是一定要把數(shù)據(jù)存儲管理做好。”北京探境科技有限公司創(chuàng)始人兼CEO魯勇這樣認(rèn)為。因?yàn)閷τ趥鹘y(tǒng)芯片來說,如今應(yīng)用于以安防為代表的各類場景的AI芯片所帶來的挑戰(zhàn),并不只是計(jì)算架構(gòu)上的,更多是在存儲架構(gòu)間的。
畢竟,傳統(tǒng)的芯片采用的是馮·諾依曼架構(gòu),其核心架構(gòu)中的計(jì)算模塊和存儲單元是分離的,其中的CPU和內(nèi)存并不集成在一起,只在CPU中設(shè)置了容量極小的高速緩存。這也意味著CPU在執(zhí)行命令時(shí)必須先從存儲單元中讀取數(shù)據(jù),謝源舉例到,比如每一項(xiàng)任務(wù)如果有十個(gè)步驟,那么CPU會依次進(jìn)行十次讀取、執(zhí)行、再讀取、再執(zhí)行,這就會造成延時(shí),以及大量功耗花費(fèi)在數(shù)據(jù)讀取上。
北京知存科技有限公司CEO王紹迪
更具體來看,北京知存科技有限公司CEO王紹迪表示:“當(dāng)前,由于商用的神經(jīng)網(wǎng)絡(luò)非常龐大,一般都擁有數(shù)百萬至數(shù)千萬的權(quán)重參數(shù),或者推理過程中需要完成幾百萬到上千萬個(gè)乘加法運(yùn)算。傳統(tǒng)的計(jì)算系統(tǒng)需要將網(wǎng)絡(luò)權(quán)重參數(shù)存在片外的非易失性存儲器中,例如NAND Flash或NOR Flash。而運(yùn)算過程中,又需要把部分需要的權(quán)重參數(shù)搬運(yùn)到DRAM,再把小部分參數(shù)傳入到芯片中的SRAM和eDRAM中,之后導(dǎo)入寄存器和運(yùn)算單元完成運(yùn)算。神經(jīng)網(wǎng)絡(luò)運(yùn)算需要大面積SRAM和eDRAM來減少片內(nèi)外數(shù)據(jù)搬運(yùn)和提高運(yùn)算效率,但是由于片上存儲成本的限制,也需要高成本、高速度的DRAM來緩存片上無法容納的權(quán)重參數(shù)和臨時(shí)數(shù)據(jù)。”
這在現(xiàn)今的AI實(shí)際應(yīng)用中,問題就會非常突出。事實(shí)上,如今大量AI芯片公司雖然都在采用不同的路徑打造芯片,但歸根究底都是在努力思考如何解決這一問題,且大部分針對AI加速神經(jīng)網(wǎng)絡(luò)處理而提出的硬件架構(gòu)創(chuàng)新,實(shí)際上也都是在與這個(gè)問題做斗爭。因此,如何在這個(gè)問題上走出不同的路徑,并獲得最受市場認(rèn)可的成果,也是當(dāng)前各AI安防芯片玩家致勝安防市場的差異化之道。
存儲優(yōu)先OR存算一體:主流市場終將作何選擇?
針對這一瓶頸,目前業(yè)界也走出了多條不同的路徑。其中,較為常見的方法就是通過加大存儲帶寬的方式,即采用高帶寬的外部存儲,從核心算法入手來設(shè)計(jì)低比特權(quán)重的神經(jīng)網(wǎng)絡(luò)模型。除此之外,謝源指出:“未來的計(jì)算機(jī)體系結(jié)構(gòu)可能要改變傳統(tǒng)的把計(jì)算和存儲分開的馮·諾依曼架構(gòu),其中的一個(gè)架構(gòu)創(chuàng)新的方向是計(jì)算和存儲一體化(process-in-memory),在存儲里面加上計(jì)算的功能,讓存儲器件也能做神經(jīng)網(wǎng)絡(luò)的計(jì)算。”
這種存算一體化的模式,有幾條不同的演變路徑。據(jù)編者了解,其中一種方式是在DRAM和SSD中植入計(jì)算芯片或者邏輯計(jì)算單元,這被叫做內(nèi)存內(nèi)處理或近數(shù)據(jù)計(jì)算,此種方式非常適合云端的大數(shù)據(jù)和神經(jīng)網(wǎng)絡(luò)訓(xùn)練等應(yīng)用;而另外一種,就是將存儲和計(jì)算模塊完全集成在一起,采用存儲器件單元直接來完成計(jì)算工作,這比較適合于神經(jīng)網(wǎng)絡(luò)的推理型應(yīng)用。
知存科技就是采用第二種路徑,即將存儲和計(jì)算結(jié)合到閃存單元中的存算一體的方式,來優(yōu)化存儲與算力之間的矛盾,王紹迪解釋到:“知存科技的存算一體化原理是,F(xiàn)lash存儲單元本身就可以存儲神經(jīng)網(wǎng)絡(luò)的權(quán)重參數(shù),同時(shí)又可以完成和此權(quán)重相關(guān)的乘加法運(yùn)算,就是將乘加法運(yùn)算和存儲全部融合到一個(gè)Flash單元里。例如,只需要100萬個(gè)Flash單元,就可以存儲100萬個(gè)權(quán)重參數(shù),同時(shí)并行完成100萬次乘加法運(yùn)算。采用這種方式,深度學(xué)習(xí)網(wǎng)絡(luò)可以被映射到多個(gè)Flash陣列,這些Flash陣列不僅存儲,還和深度學(xué)習(xí)網(wǎng)絡(luò)同時(shí)完成網(wǎng)絡(luò)的推理,這個(gè)過程不需要邏輯計(jì)算電路。這種方式的運(yùn)算效率非常高,單個(gè)Flash單元能夠完成7、8 bit的乘加法運(yùn)算。”
不過,對于存算一體化的處理模式,也并不是所有人都看好。魯勇認(rèn)為:“存算一體的處理方式,其實(shí)違反了芯片中的成本結(jié)構(gòu)。芯片中之所以設(shè)計(jì)和區(qū)分片上的緩存SRAM以及片外的DRAM,就是因?yàn)槿绻写鎯Χ挤湃胄酒瑑?nèi)部,成本就會大幅上升,且會上升幾十倍到上百倍。”
這也是存算一體化的模式?jīng)]有得到業(yè)內(nèi)的普遍認(rèn)可的原因,當(dāng)然不僅僅只是成本問題。更具體來講,也是因?yàn)楝F(xiàn)階段存算一體芯片還沒有進(jìn)行大規(guī)模量產(chǎn)的緣故,少了點(diǎn)說服力。因此,探境科技打造了自己獨(dú)創(chuàng)的SFA存儲優(yōu)先架構(gòu)方案,魯勇表示:“不同于常見的解決內(nèi)存瓶頸的方法,SFA即存儲優(yōu)先架構(gòu)是‘以存儲調(diào)度為核心’的計(jì)算架構(gòu),數(shù)據(jù)在存儲之間的搬移過程中就完成了計(jì)算,這對于數(shù)據(jù)來說只是一種演變。與通常計(jì)算的先有計(jì)算指令后提供數(shù)據(jù)相反,SFA架構(gòu)中,存儲是優(yōu)先的出發(fā)點(diǎn)。考慮數(shù)據(jù)在搬移過程中做計(jì)算,也就是由數(shù)據(jù)帶動計(jì)算而非算子帶動數(shù)據(jù)。具體到安防領(lǐng)域,該領(lǐng)域的數(shù)據(jù)處理在于兩個(gè)維度,第一是每秒處理的幀率要越來越高,其二是圖像分辨率上要高?;赟FA架構(gòu)的芯片,能夠更好地優(yōu)化存儲和計(jì)算,從而高效地解決該問題。”
但可以看到的是,對于存算一體的方案,目前業(yè)內(nèi)包括大部分的半導(dǎo)體公司以及AI公司都已經(jīng)開始慢慢認(rèn)可這種技術(shù)方向,包括美國的英特爾、ARM、軟銀、微軟、亞馬遜、博世、摩托羅拉等都參與到存算一體技術(shù)方向的投資。
王紹迪表示:“存算一體技術(shù)確實(shí)是非常復(fù)雜的,這也是為什么大部分半導(dǎo)體公司AI公司都選擇投資創(chuàng)業(yè)公司去完成這件事情,而不是自己從頭去開發(fā),包括我們公司在存算一體技術(shù)上的積累已經(jīng)也是超過六年才完成,流片已經(jīng)超過十次,技術(shù)本身非常復(fù)雜,目前來看良率其實(shí)并不是一個(gè)問題,因?yàn)樗旧硎且粋€(gè)成熟的工藝,在工藝方面并沒有做調(diào)整,所以良率都是可以保證的。但在芯片不斷的流片設(shè)計(jì)當(dāng)中會發(fā)現(xiàn)很多新的問題需要去解決,包括一些新的技術(shù)優(yōu)化方式去提高運(yùn)算效率,在發(fā)現(xiàn)這些新的點(diǎn)之后,我們會去改變,優(yōu)化設(shè)計(jì),嘗試提出新的架構(gòu),然后去不斷地優(yōu)化芯片,去把芯片從工作到量產(chǎn)當(dāng)中這樣去不斷的推進(jìn)。”
編者預(yù)計(jì),在諸如安防監(jiān)控這類需要對超大規(guī)模數(shù)據(jù)進(jìn)行集中快速處理的場景,未來存儲與算力之間的矛盾將長期存在,這還需要各路AI芯片廠商在架構(gòu)層面上做出更多的創(chuàng)新和探索。存算一體和存儲優(yōu)先方案的試水,也算是給了業(yè)界更多的思路。但不論如何,編者認(rèn)為方案的性價(jià)比仍然是決定其能否被市場接受并成為主流的核心考量因素。因此,誰能最終在性價(jià)比上技高一籌,誰就能在日益興盛的AI安防芯片市場大放異彩。