深度學(xué)習(xí)是人工智能(AI)近期發(fā)展的前沿陣地。它涉及到靈感來源于生物神經(jīng)網(wǎng)絡(luò)的一系列機器學(xué)習(xí)算法,可用于在巨量數(shù)據(jù)中尋找某些模式。通過這些深度神經(jīng)網(wǎng)絡(luò),諸如語音和視覺識別等領(lǐng)域得到了大幅發(fā)展;以它們?yōu)榛A(chǔ)的計算機程序在一些特定任務(wù)中展示了超越人類的能力。
相變存儲器的二維陣列。來源:IBM研究院
這一點在AlphaGo身上得到了淋漓盡致的展示。這個由倫敦DeepMind團隊開發(fā)的程序,2016年3月在一場5回合的比賽中擊敗了圍棋世界冠軍李世乭,比分為4比1。現(xiàn)在,AlphaGo唯一的對手只剩下自身的改進版。2017年10月,DeepMind團隊發(fā)布了一款升級版本——AlphaGo Zero——它應(yīng)用了強化學(xué)習(xí),并且只通過自己和自己對弈進行訓(xùn)練。而AlphaGo的能力則建立在對人類專業(yè)棋手?jǐn)?shù)百萬步走法的非監(jiān)督式學(xué)習(xí)。結(jié)果,AlphaGo Zero以100回合全勝的戰(zhàn)績戰(zhàn)勝了擊敗過李世乭的AlphaGo。
深度神經(jīng)網(wǎng)絡(luò)涉及多層由數(shù)字化的‘神經(jīng)突觸’連接的‘神經(jīng)元’。利用大量數(shù)據(jù)以及目標(biāo)任務(wù)的正確答案進行訓(xùn)練后,神經(jīng)元之間連接的強度或者說權(quán)重得到不斷調(diào)整,直到最上層網(wǎng)絡(luò)給出正確的結(jié)果。完成訓(xùn)練的網(wǎng)絡(luò)配以訓(xùn)練中得到的連接權(quán)重再被應(yīng)用到全新數(shù)據(jù)中——這一步被稱為推斷。
深度神經(jīng)網(wǎng)絡(luò)近期的成功既得益于算法和網(wǎng)絡(luò)架構(gòu)的進步,也得益于獲取巨量數(shù)據(jù)變得日趨容易,以及高性能計算機持續(xù)發(fā)展。當(dāng)前,具備一流運算精度的深度神經(jīng)網(wǎng)絡(luò)的運算量相當(dāng)大。史弋宇及其同事在《自然-電子學(xué)》上發(fā)表了一篇Perspective文章(https://go.nature.com/2lWHPww),他們在文中指出,這代表了深度神經(jīng)網(wǎng)絡(luò)面臨的新挑戰(zhàn),特別是當(dāng)它們被應(yīng)用于空間和電池容量有限的手機以及諸如智能傳感器、穿戴設(shè)備等嵌入式產(chǎn)品時。
圖1:前沿深度神經(jīng)網(wǎng)絡(luò)的迭代。深度神經(jīng)網(wǎng)絡(luò)的參數(shù)量呈現(xiàn)指數(shù)式增長。Y軸為對數(shù)坐標(biāo)。
來自美國圣母大學(xué)、加州大學(xué)洛杉磯分校和中國華中科技大學(xué)的研究團隊考察了深度神經(jīng)網(wǎng)絡(luò)的精度和規(guī)模方面的數(shù)據(jù),以及不同硬件平臺的運算性能。他們指出,深度神經(jīng)網(wǎng)絡(luò)應(yīng)用于設(shè)備端推斷(在嵌入式平臺端執(zhí)行的推斷)的迭代速度和CMOS技術(shù)的迭代速度存在差距——而且這個差距在增大。當(dāng)深度神經(jīng)網(wǎng)絡(luò)變得更加精確,它們的尺度(層數(shù)、參數(shù)量、運算量)顯著擴大。
圖2:ImageNet圖像分類競賽中明星深度神經(jīng)網(wǎng)絡(luò)的前5大誤判比率。前5大誤判的比率隨時間呈指數(shù)式下降。Y軸為對數(shù)坐標(biāo)。
但是,正如史弋宇及其同事所述,典型的硬件平臺——圖形處理單元(GPU)、現(xiàn)場可編程門陣列(FPGA)以及專用集成電路(ASIC)——其計算性能的提升跟不上前沿深度神經(jīng)網(wǎng)絡(luò)的設(shè)計需求。類似的,承載這些網(wǎng)絡(luò)的硬件平臺的存儲器功耗也跟不上網(wǎng)絡(luò)尺度的增長。
圖3:運算量與性能密度之間的差距。a, 運算量對比ImageNet圖像分類競賽中領(lǐng)先的深度神經(jīng)網(wǎng)絡(luò)的前5大誤判比率。b, 領(lǐng)先的GPU、ASIC和FPGA硬件平臺性能密度。為匹配所需運算量,簡單增加芯片面積并不可行。各年只標(biāo)示了奪冠的深度神經(jīng)網(wǎng)絡(luò)。Y軸為對數(shù)坐標(biāo)。
史弋宇及其同事指出,“CMOS技術(shù)的迭代對于日益增長的計算強度和功耗方面的需求并沒有提供足夠的支撐,因此需要在架構(gòu)、電路和器件上加以創(chuàng)新。”基于此,他們繼續(xù)檢驗了結(jié)合不同架構(gòu)和算法創(chuàng)新來彌補上述差距的可行性。
圖4:內(nèi)存訪問量和內(nèi)存能效之間存在差距。a, 參數(shù)量(與內(nèi)存訪問量高度相關(guān))對比各年ImageNet圖像分類競賽中領(lǐng)先的深度神經(jīng)網(wǎng)絡(luò)的前5大誤判比率。b, 主流存儲技術(shù)的內(nèi)存能效。內(nèi)存能效在有限能量預(yù)算下將無法支持日益增長的內(nèi)存訪問量。各年只標(biāo)示了奪冠的深度神經(jīng)網(wǎng)絡(luò)。Y軸為對數(shù)坐標(biāo)。
一種方式是放棄傳統(tǒng)的,即存儲單元和計算單元物理上分離的馮·諾依曼計算架構(gòu),比如納米級電阻式存儲器(憶阻器件)能夠即用于計算又用于存儲。但器件的應(yīng)變能力仍然是個問題,限制了運算所需精度。
在本期《自然-電子學(xué)》的另一篇文章中(https://go.nature.com/2IZ9VAq),來自蘇黎世IBM研究院和蘇黎世聯(lián)邦理工學(xué)院的Manuel Le Gallo及其同事表明,綜合利用電阻式存儲器的內(nèi)存內(nèi)運算以及傳統(tǒng)數(shù)字運算,或許能解決這個問題。這里的內(nèi)存內(nèi)運算單元,具體來說是一組相變存儲器的二維陣列,它們承載主要的計算任務(wù),而傳統(tǒng)計算單元則迭代提升解算精度。
Le Gallo及其同事通過解算線性方程組,展示了上述被他們稱為“混合精度內(nèi)存內(nèi)運算”方案的性能。這種方案之前也被用于訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)。
為AI應(yīng)用開發(fā)專用器件和芯片的發(fā)展前景也已引起芯片初創(chuàng)公司的興趣。今年早些時候,據(jù)《紐約時報》報道,目前至少有45家初創(chuàng)公司在開發(fā)此類芯片,而風(fēng)險投資者去年在芯片初創(chuàng)公司中的投資超過15億美元,幾乎是兩年前投資數(shù)額的兩倍。
這種技術(shù)的潛力不可小覷,學(xué)術(shù)界和產(chǎn)業(yè)界的研究人員正在響應(yīng)機器學(xué)習(xí)和AI對硬件提出的挑戰(zhàn)——以及隨之而來的機遇。