AI芯片之爭進(jìn)入白熱化,一款真正適用于終端的AI芯片橫空出世

時間:2018-01-24

來源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語:AI芯片的出現(xiàn),與深度學(xué)習(xí)技術(shù)的成熟及應(yīng)用密不可分。深度學(xué)習(xí)的過程可以簡化理解為利用大量標(biāo)注的數(shù)據(jù)進(jìn)行訓(xùn)練,訓(xùn)練出一個行之有效的模型,再將這一模型運用于新數(shù)據(jù)的推斷。

2017年,人工智能最火的風(fēng)口一定是AI芯片。

AI芯片的出現(xiàn),與深度學(xué)習(xí)技術(shù)的成熟及應(yīng)用密不可分。深度學(xué)習(xí)的過程可以簡化理解為利用大量標(biāo)注的數(shù)據(jù)進(jìn)行訓(xùn)練,訓(xùn)練出一個行之有效的模型,再將這一模型運用于新數(shù)據(jù)的推斷。

這個耳熟能詳?shù)谋钏惴ㄊ墙⒃诙鄬哟笠?guī)模神經(jīng)網(wǎng)絡(luò)之上的,后者本質(zhì)上是包含了矩陣乘積和卷積操作的大運算量函數(shù)。往往需要先定義一個包含回歸問題的方差、分類時的交叉熵的代價函數(shù),再數(shù)據(jù)分批傳遞進(jìn)網(wǎng)絡(luò),根據(jù)參數(shù)求導(dǎo)出代價函數(shù)值,從而更新整個網(wǎng)絡(luò)模型。這通常意味著至少幾百萬次的相乘處理,計算量巨大。通俗來說,包含了數(shù)百萬次A*B+C的計算,算力消耗巨大。

為解決這一問題,AI芯片應(yīng)運而生。2017年開始,圍繞AI芯片,半導(dǎo)體行業(yè),戰(zhàn)事升級,賽場上新老玩家暗潮涌動,連橫合眾,大有“AI芯片太多,設(shè)備都不夠用了”之勢。

時間進(jìn)入2018年,備受關(guān)注的大小公司都將正式推出自研AI芯片。這些芯片也都被業(yè)界寄予厚望,是否能解決或者部分解決終端計算難題?什么樣的芯片才能夠真正適應(yīng)終端智能的需求?

這些都是我們十分好奇且關(guān)注的問題。于是也與一些創(chuàng)業(yè)者進(jìn)行了交流。本文即是其中的一篇,來自于與探境科技CEO魯勇的訪談。目前探境科技正研發(fā)適用于終端的AI芯片,在創(chuàng)業(yè)前魯勇曾在芯片廠商Marvell任高管,從事過存儲芯片的相關(guān)工作,而存儲正是計算之外所有芯片另一核心。基于過往的經(jīng)歷、經(jīng)驗與觀察,魯勇認(rèn)為,做適用于終端的AI芯片,除了要在計算方面提升,存儲優(yōu)化同樣至關(guān)重要。

以下為正文,來自36氪對魯勇的訪談內(nèi)容,36氪基于訪談內(nèi)容對其觀點進(jìn)行了整理。

AI算法在芯片實現(xiàn)時遇到的核心問題不是計算資源而是存儲問題,強(qiáng)如GPU提供眾多的計算資源,而實際計算能力與計算資源大為降低。

概括來說,存儲問題分為兩個部分,一個是帶寬問題,一個是功耗問題,這兩個問題的解決其實也是耦合在一起的。

具體來說,深度學(xué)習(xí)算法使用大量存儲資源,即包括靜態(tài)模型參數(shù),也包括網(wǎng)絡(luò)層之間的動態(tài)數(shù)據(jù)。對于靜態(tài)模型參數(shù)權(quán)重,動輒幾十兆上百兆樣本數(shù)量,無法在片上SRAM保存,因此需要存入外部DRAM。DRAM與AI計算芯片間帶寬有限,如果芯片上計算資源很大,但受存儲帶寬的瓶頸限制,實際計算力大為下降。

打比方來說,負(fù)責(zé)存儲的DRAM和與負(fù)責(zé)計算的芯片就像是位于河兩岸的倉庫,整個運算的過程可以類比從存儲的倉庫搬取數(shù)據(jù)、搬運過橋,將數(shù)據(jù)搬入計算的單元進(jìn)行處理,并高速循環(huán)往復(fù)。而當(dāng)前的AI芯片技術(shù)重點提升將數(shù)據(jù)搬入計算單元后的處理速度,但因為搬出數(shù)據(jù)、過橋的過程基本未發(fā)送變化,因此整體的效率提升還相對有限。

與之對應(yīng)的方法即是克服存儲帶寬的手段:一是減少數(shù)據(jù)量,降低所需數(shù)據(jù)帶寬,就是說想辦法只要從倉庫搬出少量數(shù)據(jù),就可以達(dá)到同樣的效果;二是更科學(xué)的調(diào)度數(shù)據(jù)使用,提升調(diào)度的效率。

(1)減少數(shù)據(jù)容量

如果數(shù)據(jù)量降低了,這將總體上減少對DRAM的訪問,在DRAM物理帶寬保持不變的前提下,降低了DRAM的依賴性,提高了整體性能,同時減少DRAM訪問也將大幅減少系統(tǒng)功耗開銷。因此首先需要解決的問題是減少靜態(tài)參數(shù)權(quán)重的大小。通常的解決辦法包括參數(shù)定點化,將每個32bit浮點數(shù)減少為16bit以下的定點數(shù),至少能降低50%甚至75%的存儲容量,也同樣幅度的降低了存儲帶寬的需求。實踐證明16bit定點化可以采用線性量化的方式,而16bit以下定點化根據(jù)模型的不同,有些需要采用非線性量化才可以達(dá)到維持模型性能的目的。

目前主要有模型剪枝、設(shè)計適于終端設(shè)備的簡化網(wǎng)絡(luò)兩種實現(xiàn)方式。模型剪枝作為進(jìn)一步降低模型容量和存儲帶寬的方式,是基于神經(jīng)網(wǎng)絡(luò)模型存在大量冗余信息的基礎(chǔ),而另一種從源頭開始重新設(shè)計適于終端設(shè)備的簡化網(wǎng)絡(luò)的方式也在逐漸興起,從同樣規(guī)模的網(wǎng)絡(luò)性能來看,新設(shè)計的網(wǎng)絡(luò)可能比舊網(wǎng)絡(luò)通過剪枝再訓(xùn)練的方式更為簡單快捷,性能也更好。

(2)更科學(xué)的調(diào)度數(shù)據(jù)使用

深度學(xué)習(xí)的計算大量使用乘累加,即完成AXB+C的工作,這種乘累加單元(MAC)每次運算需要三個輸入,完成一個輸出。參與運算的數(shù)據(jù)包括事先準(zhǔn)備好的權(quán)重參數(shù)和網(wǎng)絡(luò)層產(chǎn)生的中間數(shù)據(jù)。每個乘累加完成后的輸出通常也會作為下一次運算的輸入,因此如何調(diào)度這些數(shù)據(jù)成為關(guān)鍵。

功耗角度來說,從DRAM獲取數(shù)據(jù)所消耗的功耗最大,從SRAM中獲取數(shù)據(jù)其次,從本地寄存器中獲取數(shù)據(jù)消耗功耗最低,但從成本角度考慮剛好相反,因此這三個不同層次的存儲器的使用非常關(guān)鍵,我們希望盡可能減少DRAM的訪問,最理想的結(jié)果是僅從DRAM中讀取一次事先存好的模型參數(shù),而不依賴DRAM做任何其他工作。

從宏觀上看,整個深度學(xué)習(xí)運算計算一次,進(jìn)入MAC的總數(shù)據(jù)量遠(yuǎn)大于靜態(tài)數(shù)據(jù)的容量,因為無論是模型參數(shù)還是中間數(shù)據(jù)都多次被重復(fù)使用,因此實際所需的數(shù)據(jù)帶寬非常大,并且當(dāng)所有這些數(shù)據(jù)都僅通過DRAM被緩存使用時,其功耗開銷也是驚人的,因此充分利用各級緩存的特性非常重要,設(shè)計一個合理的數(shù)據(jù)流,將多次被重復(fù)使用的數(shù)據(jù)放在離計算資源較近的地方,少量讀取的數(shù)據(jù)放在DRAM中,將提高計算性能,降低系統(tǒng)功耗。

那么問題來了,如何才能設(shè)計一款真正適用于終端的AI芯片。

簡單的設(shè)計一個卷積加速器并不能帶來深度學(xué)習(xí)計算性能上的提高,合格的計算架構(gòu)需要結(jié)合對存儲問題的分析來設(shè)計,不僅要考慮計算架構(gòu),也要考慮存儲的數(shù)據(jù)流控制,因此深度學(xué)習(xí)的計算特點并非是一個簡單粗暴的并行計算問題。

首先還是要考慮浮點和定點計算的問題,8位的整數(shù)乘法比IEEE754標(biāo)準(zhǔn)下16位浮點乘法降低6倍的能耗,占用的芯片面積也少6倍;而整數(shù)加法的差異是13倍的能耗與38倍的面積,因此終端AI芯片采用定點計算將獲得巨大收益。當(dāng)定點成為設(shè)計目標(biāo)的時候,要充分考慮軟硬件的結(jié)合,不同網(wǎng)絡(luò)對定點位數(shù)的影響程度是不一樣的,數(shù)據(jù)量化的具體方式也有差異,有線性量化也有非線性量化的方法,因此針對應(yīng)用場景結(jié)合軟件協(xié)同設(shè)計非常有必要。

其次深度學(xué)習(xí)不是簡單粗暴的并行計算但仍然有明顯的并行計算特征,因此考慮存儲問題后放入更多的計算資源會大幅提高計算性能。首先將最多被重復(fù)使用的數(shù)據(jù)放在接近計算資源的地方,這符合較為流行的InMemoryComputing(存儲計算一體化)的思想,并且考慮到當(dāng)前工業(yè)水平,這更為實際,而通過重新設(shè)計包括計算單元的存儲單元或采用ReRAM等方式是未來的發(fā)展方向。

第三要考慮到深度學(xué)習(xí)數(shù)據(jù)的另一重要特性,即數(shù)據(jù)稀疏化特性,也就是說在參與運算的數(shù)據(jù)中有大量的零值數(shù)據(jù)存在,這些零值數(shù)據(jù)即可以在存儲中被壓縮存放,降低存儲容量和帶寬需求,也可以在計算中被進(jìn)一步調(diào)度,減少運算壓力,提高運算的有效性能。這些零值數(shù)據(jù)不僅存在于模型參數(shù)中,也大量存在于神經(jīng)網(wǎng)絡(luò)各層運算的中間數(shù)據(jù)中,這兩方面都需要進(jìn)行考慮。稀疏數(shù)據(jù)在多核心并行計算中的調(diào)度是個復(fù)雜的問題,而不同網(wǎng)絡(luò)結(jié)構(gòu)也會帶來不同的影響,因此將軟硬件協(xié)同設(shè)計,動態(tài)調(diào)度的調(diào)度器是非常復(fù)雜的設(shè)計難點。

最后要考慮針對不同網(wǎng)絡(luò)的資源有效利用率問題,由于神經(jīng)網(wǎng)絡(luò)差異化較大,如果希望針對不同網(wǎng)絡(luò)都有較高的資源有效利用率,則需要在較細(xì)的顆粒度上進(jìn)行優(yōu)化,進(jìn)一步加深了數(shù)據(jù)流調(diào)度器的復(fù)雜度。

中傳動網(wǎng)版權(quán)與免責(zé)聲明:

凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

關(guān)注伺服與運動控制公眾號獲取更多資訊

關(guān)注直驅(qū)與傳動公眾號獲取更多資訊

關(guān)注中國傳動網(wǎng)公眾號獲取更多資訊

最新新聞
查看更多資訊

熱搜詞
  • 運動控制
  • 伺服系統(tǒng)
  • 機(jī)器視覺
  • 機(jī)械傳動
  • 編碼器
  • 直驅(qū)系統(tǒng)
  • 工業(yè)電源
  • 電力電子
  • 工業(yè)互聯(lián)
  • 高壓變頻器
  • 中低壓變頻器
  • 傳感器
  • 人機(jī)界面
  • PLC
  • 電氣聯(lián)接
  • 工業(yè)機(jī)器人
  • 低壓電器
  • 機(jī)柜
回頂部
點贊 0
取消 0