曹兵/編譯
更深入更低廉的機器學習
曹兵/編譯

●隨著硬件設備的計算能力不斷提升,深度學習在各個領域——從微型設備到大型數(shù)據(jù)中心——也將加速進步。
2016年3月,谷歌的計算機以巨大優(yōu)勢打敗了世界圍棋冠軍李世石,這標志著人工智能發(fā)展的一個新里程碑。獲勝的計算機程序由位于倫敦的谷歌下屬DeepMind公司的研究者開發(fā),它充分利用了所謂的深度學習機制,創(chuàng)建了一套人工神經(jīng)網(wǎng)絡。深度學習機制簡單地說,就是模擬進行多層次任務處理的神經(jīng)網(wǎng)絡以自動運行的方式來處理手頭的問題。
當時普通大眾并不知曉的是,谷歌手頭還有一張王牌。你要明白,谷歌用來打敗李世石的計算機群含有一組專用硬件:谷歌把它稱為張量處理單元。
谷歌硬件工程師諾姆·朱庇(Norm Juppi)在公司贏得圍棋大賽兩個月之后宣布了張量處理單元的存在,并在一篇博文中做了進一步的解釋說明。谷歌已經(jīng)在一年前為其數(shù)據(jù)中心配備這些新型加速卡。谷歌并沒有詳細地分享這些電路板上到底安裝了什么硬件。很顯然,它代表了加速深度學習計算的一個新的流行策略:使用了應用專有集成電路(ASIC)。
各家公司(主要是微軟公司)采取的另一種策略則是使用現(xiàn)場可編程邏輯門陣列(FPGA)。它所帶來的好處是:一旦計算要求發(fā)生變化,則陣列可以被重新設置。然而最普遍采用的方法是使用圖形處理單元,即GPU,它可以平行處理許多數(shù)學操作。目前正在大力推廣這種方法的是GPU制造商英偉達公司(Nvidia)。
確實,GPU領域的進步在2009年啟動了人工神經(jīng)網(wǎng)絡的發(fā)展。當時,斯坦福大學的研究人員證實,GPU硬件能在合理的時間范圍內培訓深度神經(jīng)網(wǎng)絡。
“每個人都在進行深度學習的研究。”威廉姆·達利(William Dally)說。他目前領導著斯坦福大學的另一個深度學習研究組——VLSI建筑組,他同時還是英偉達公司的首席科學家。鑒于當前的發(fā)展,他認為,GPU技術是目前最好的選擇。他這樣講并不奇怪,因為只要看看他的就職單位就明白了。
達利進一步解釋說,有三個方向可供考慮。第一個方向是他所稱的數(shù)據(jù)中心的培訓。他指的是構建任何深度學習系統(tǒng)的第一步:調節(jié)神經(jīng)元之間數(shù)以百萬計的連接,以便讓整個網(wǎng)絡能完成所分配的任務。
為了構建這樣的硬件體系,Nervana系統(tǒng)公司正在進行相應的開發(fā),這家公司最近剛剛被英特爾公司收購。Nervana系統(tǒng)公司的計算機科學家斯考特·萊希曼(Scott Leishman)介紹,公司開發(fā)的ASIC深度學習加速器——Nervana引擎將于2017年上半年投入生產。萊希曼還提到,另外一種需要大量數(shù)學計算的工作——比特幣挖礦——最開始使用CPU單元,然后轉移到GPU單元,接著轉移到FPGA技術,最后轉移到ASIC技術上,首要原因就是這樣的定制硬件可以大幅度提升能效、降低能耗。“深度學習領域也在發(fā)生著同樣的變化。”他說。
深度學習硬件所承擔的第二類而且也是一類比較特殊的工作是數(shù)據(jù)中心的推理任務,達利解釋道。這里的推理是指云端人工神經(jīng)網(wǎng)絡不斷進行的操作,它之前被訓練用來完成許多工作。每天,谷歌的神經(jīng)網(wǎng)絡進行著指數(shù)級別的此類推理運算,例如對圖像進行歸類,對不同語言進行翻譯,對口頭詞匯進行識別。盡管還無法斷言,谷歌的張量處理單元很可能就是專為此類計算而生。
培訓和推理很多時候需要不同的技能組合。通常,培訓需要計算機能夠以相對較高的精度進行計算,經(jīng)常使用32位浮點計算。而對于推理來說,可以犧牲精度,讓位于更快的運行速度或者更低的能量消耗。“這是研究的熱點區(qū)域,”萊希曼說,“你的能量消耗到底能低到多少?”

谷歌的張量處理單元加速其服務器上的深度學習計算

深度學習軟件預計營收將很快超過10億美元(單位:10億美元)
盡管達利拒絕就英偉達公司的具體計劃作進一步說明,他還是指出,公司的GPU技術已經(jīng)在不斷推進演化。英偉達公司早先的麥克斯韋爾架構可以進行雙精度(64位)和單精度(32位)操作,而當前的帕斯卡架構能將運算能力提升到16位操作,相對于單精度運算,它能使運算通量和效率翻番。可以預見,英偉達公司未來將發(fā)布可以進行8位操作的GPU單元。這樣的進展可以理想地應用于云端推理計算,從而能降低能耗、削減成本。
達利補充道,深度學習三駕馬車中的最后一架是嵌入設備的推理運算,例如智能手機、照相機和平板電腦。這些運算應用的關鍵是低能耗的ASIC。未來幾年,深度學習軟件將在智能手機應用中發(fā)揮越來越重要的作用,例如,它當前已經(jīng)被用于監(jiān)測惡意程序或者翻譯圖像中的文字。
無人機制造商大疆已經(jīng)在其精靈4無人機產品上應用了與深度學習ASIC技術相類似的系統(tǒng),后者使用了特殊的視覺處理芯片,這款芯片由位于加利福尼亞州的Movidius公司生產,它可以識別障礙物。Movidius公司是另一家最近剛剛被英特爾收購的神經(jīng)網(wǎng)絡公司。而高通公司則在其驍龍820處理器中集成了特殊電路,幫助實現(xiàn)深度學習計算。
盡管硬件設計能夠加速深度神經(jīng)網(wǎng)絡的運行并帶來一系列益處,但同時也存在著一個巨大的風險:如果技術進步足夠快,則昨天設計的運行神經(jīng)網(wǎng)絡的芯片投入生產,制造出成品時可能已經(jīng)成為明日黃花了。“算法的變革日新月異,”達利說,“每一個在此領域投入大量精力的公司都在進行一場賭博,希望能夠早日收回投資。”
[資料來源:IEEE Spectrum][責任編輯:遙醒]
本文作者大衛(wèi)·施耐德(David Schneider),高級編輯,擁有哥倫比亞大學地質學博士學位。在加入IEEE Spectrum雜志前曾效力于《科學美國人》和《美國科學家》。在此前的工作中,他從事的是地球物理研究,專注于計算,經(jīng)常在博客上發(fā)表有關無人機的內容,還經(jīng)常為IEEE Spectrum雜志的“親力親為”專欄撰文。