【比利時機構(gòu)正研發(fā)采用單位元精度的深度學習推論芯片原型】比利時研究機構(gòu)Imec在近日舉行的年度技術論壇(ITFBELGIUM2018)上透露,該機構(gòu)正在打造一款采用單位元精度的深度學習推論(inference)芯片原型;Imec并期望在明年收集采用創(chuàng)新數(shù)據(jù)型態(tài)與架構(gòu)──采用內(nèi)存內(nèi)處理器(processor-in-memory,PIM),或是模擬內(nèi)存結(jié)構(gòu)(analogmemoryfabric)──的客戶端裝置有效性數(shù)據(jù)。
學術界已經(jīng)研究PIM架構(gòu)數(shù)十年,而該架構(gòu)越來越受到數(shù)據(jù)密集的機器算法歡迎,例如新創(chuàng)公司Mythic以及IBMResearch都有相關開發(fā)成果。許多學術研究機構(gòu)正在實驗1~4位的數(shù)據(jù)型別(datatype),以減輕深度學習所需的沉重內(nèi)存需求;到目前為止,包括Arm等公司的AI加速器商用芯片設計都集中在8位或更大容量的數(shù)據(jù)型別,部分原因是編程工具例如Google的TensorFlow缺乏對較小數(shù)據(jù)型別的支持。
Imec擁有在一家晶圓代工廠制作的40奈米制程加速器邏輯部份,而現(xiàn)在是要在自家晶圓廠添加一個MRAM層;該機構(gòu)利用SRAM仿真此設計的性能,并且評估5奈米節(jié)點的設計規(guī)則。此研究是Imec與至少兩家匿名IDM業(yè)者伙伴合作、仍在開發(fā)階段的項目,從近兩年前展開,很快制作了采用某種電阻式內(nèi)存(ReRAM)的65奈米PIM設計原型。
該65奈米芯片并非鎖定深度學習算法,雖然Imec展示了利用它啟動一段迷人的計算機合成音樂;其學習模式是利用了根據(jù)以音樂形式呈現(xiàn)、從傳感器所串流之數(shù)據(jù)的時間序列分析(time-seriesanalysis)。而40奈米低功耗神經(jīng)網(wǎng)絡加速器(Low-EnergyNeuralNetworkAccelerator,LENNA)則會鎖定深度學習,在相對較小型的MRAM單元中運算與儲存二進制權重。
Imec技術團隊的杰出成員DiederikVerkest接受EETimes采訪時表示:「我們的任務是定義出我們應該利用新興內(nèi)存為機器學習開發(fā)什么樣的半導體技術──或許我們會需要制程上的調(diào)整,」以取得優(yōu)化結(jié)果。該機構(gòu)半導體技術與系統(tǒng)部門執(zhí)行副總裁AnSteegen則表示:「AI會是制程技術藍圖演化的推手,因此Imec會在AI(以及PIM架構(gòu))方面下很多功夫──這方面的工作成果將會非常重要?!?/p>
Imec聲稱其LENNA芯片在推論任務上的表現(xiàn)將超越現(xiàn)有的CPU與GPU(來源:Imec)
確實,如來自英國的新創(chuàng)公司Graphcore執(zhí)行長NigelToon所言,AI標志著「運算技術的根本性轉(zhuǎn)變」;該公司將于今年稍晚推出首款芯片。Toon在Imec年度技術論壇上發(fā)表專題演說時表示:「今日的硬件限制了我們,我們需要某種更靈活的方案…我們想看到能根據(jù)經(jīng)驗調(diào)整的(神經(jīng)網(wǎng)絡)模型;」他舉例指出,兩年前Google實習生總共花了25萬美元電費,只為了在該公司采用傳統(tǒng)x86處理器或NvidiaGPU的數(shù)據(jù)中心嘗試優(yōu)化神經(jīng)網(wǎng)絡模型。
實現(xiàn)復雜的折衷平衡
Imec希望LENNA能在關于PIM或模擬內(nèi)存架構(gòu)能比需要存取外部內(nèi)存的傳統(tǒng)架構(gòu)節(jié)省多少能量方面提供經(jīng)驗;此外該機構(gòu)的另一個目標,是量化采用二進制方案在精確度、成本與處理量方面的折衷(tradeoff)。
加速器芯片通常能在一些熱門的測試上提供約90%的精確度,例如ImageNet競賽;Verkest表示,單位元數(shù)據(jù)型別目前有10%左右的精度削減,「但如果你調(diào)整你的神經(jīng)網(wǎng)絡,可以達到最高85%~87%的精確度?!顾矩撠煻綄mec的邏輯制程微縮技術藍圖,在Apple挖腳該機構(gòu)的第一個AI項目經(jīng)理之后,又兼管AI項目。
Verkest表示,理論上模擬內(nèi)存單元應該能以一系列數(shù)值來儲存權重(weights),但是「那些內(nèi)存組件的變異性有很多需要考慮之處;」他指出,Imec的開發(fā)項目將嘗試找出能提供優(yōu)化精度、處理量與可靠度之間優(yōu)化平衡的精度水平。
而Toon則認為聚焦于資料型別是被誤導了:「低精度并沒有某些人想得那么嚴重,內(nèi)存存取是我們必須修正之處;」他并未詳細介紹Graphcore的解決方案,但聲稱該公司技術可提供比目前采用HBM2內(nèi)存的最佳GPU高40倍的內(nèi)存帶寬。
在芯片架構(gòu)方面,Imec的研究人員還未決定他們是要設計PIM或采用模擬內(nèi)存結(jié)構(gòu);后者比較像是一種模擬SoC,計算是在模擬區(qū)塊處理,可因此減少或免除數(shù)字-模擬轉(zhuǎn)換。不同種類的神經(jīng)網(wǎng)絡會有更適合的不同架構(gòu),例如卷積神經(jīng)網(wǎng)絡(CNN)會儲存與重復使用權重,通常能以傳統(tǒng)GPU妥善運作;歸遞神經(jīng)網(wǎng)絡(RNN)以及長短期記憶模型(longshort-termmemories,LSTMs)則傾向于在使用過后就拋棄權重,因此更適合表達式內(nèi)存結(jié)構(gòu)
Imec可能會以內(nèi)存結(jié)構(gòu)來打造LENNA,讓運算留在模擬功能區(qū)塊(來源:Imec)
新的平行架構(gòu)非常難編程,因此大多數(shù)供貨商正在嘗試建立在TensorFlow等現(xiàn)有架構(gòu)中攝取程序代碼的途徑。而Graphcore則是打造了一種名為Poplar的軟件層,旨在以C++或Python語言來完成這項工作;Toon表示:「我們把在處理器中映像圖形(graphs)的復雜性推到編譯程序(也就是扮演該角色的Poplar)?!?/p>
Graphcore的客戶很快就會發(fā)現(xiàn)該程序會有多簡單或是多困難;這家新創(chuàng)公司預計在年中將第一款產(chǎn)品出貨給一線大客戶,預期他們會在今年底采用該款芯片執(zhí)行大型云端供貨商的服務。Toon聲稱,其加速器芯片將能把CNN的速度提升五至十倍,同時間采用RNN或LSTM的更復雜模型則能看到100倍的效能提升。