超強硬件將加速深度學習發展。
2016年3月,谷歌計算機全面擊敗了世界圍棋冠軍李世石,可謂人工智能歷史上的一個里程碑。獲勝的計算機程序由倫敦谷歌深度思維公司(DeepMind)的研究人員開發,他們使用的人工神經網絡充分利用了深度學習戰略,使涉及多層處理的神經網絡能夠進行自動配置,解決所面臨的問題。
當時公眾不知道的是,谷歌藏著一張王牌。谷歌用來打敗李世石的計算機采用了專用硬件——被谷歌稱為“張量處理單元”(TensorProcessing Unit)的計算機芯片。
圍棋大戰結束兩個月后,谷歌硬件工程師諾姆?久皮(Norm Jouppi)公開了張量處理單元的存在。他在博客中指出,谷歌使用這些新的加速卡來裝備其數據中心已經有一年多的時間了。谷歌并沒有詳細透露這些電路板上都有哪些元器件,但清楚的是,它代表了一種越來越流行的深度學習計算加速策略:應用專用集成電路(ASIC)。
另一種受追捧的策略(主要是微軟在開發)是現場可編程門陣列(FPGA),它的優點在于,當計算要求發生變化時,可以重新配置。不過更加常見的辦法一直是利用圖形處理單元(GPU),它可以同時執行多種數學操作,它的最大支持者便是GPU制造商英偉達。
實際上,GPU早在2009年便已開始為人工神經網絡的發展提供助力。當時,斯坦福大學的研究人員發現,這種硬件能夠在合理的時間內訓練深度神經網絡。
威廉姆?達利(William Dally)是英偉達首席科學家,同時也在斯坦福大學帶領著超大規模集成電路(VLSI)并行架構團隊。“如今人人都在做深度學習。”他說,“這樣的話,GPU差不多是當下表現最好的硬件。”鑒于他的職位,他說這話大概一點也不稀奇。
達利解釋說,有3個方面需要考慮。第一個方面他稱之為“數據中心訓練”,指的是任何深度學習系統都要采取的第一步:調整神經元之間的數百萬個連接,以便神經網絡可執行所分配到的任務。
在制造相關硬件方面,最近被英特爾收購的Nervana Systems公司發揮著重要作用。據Nervana計算機科學家斯科特?利什曼(ScottLeishman)稱,ASIC深度學習加速器Nervana Engine將在2017年年初到年中這段時間投入生產。他還指出,另一個計算密集型任務——比特幣挖掘——的運行從CPU轉為GPU、FPGA,最后變成了ASIC,其原因在于定制化帶來的能源效率收益。“在深度學習上我也看到了同樣的一面。”利什曼說。
達利說,有關深度學習硬件的第二個也是非常獨特的任務是“數據中心推理”。在這里,“推理”是指在此前已經經過訓練的云端人工神經網絡上持續進行的運算。谷歌的神經網絡每天都在進行大量這樣的推理計算,以對圖像進行分類、進行語言翻譯、識別口頭詞句等。雖然不敢肯定,但谷歌的張量處理單元可能就是為執行這些計算而量身定做的。
訓練和推理通常需要非常不同的技能組合。對有代表性的訓練來說,計算機的計算結果必須具有相對較高的精確度,一般采用32位浮點運算。對推理來說,可以犧牲精確度以換取更快的速度或更低的能耗。“這是個比較活躍的研究領域,”利什曼說,“你能讓能耗降到多低?”
雖然達利拒絕披露英偉達的具體計劃,但他指出英偉達的GPU一直在發展。該公司早期的麥克斯韋架構能執行雙精度(64位)和單精度(32位)操作,而現在的帕斯卡架構則能夠以兩倍于其單精度計算通量和效率的水平執行16位操作。因此不難想象,英偉達最終將發布可以執行8位操作的GPU,這對云端推理計算(能效是降低成本的關鍵)來說算是很理想了。
達利補充說,“深度學習好比一只三腳架,其第三只腳是嵌入式設備推理”,如智能手機、相機、平板電腦等。對這些應用來說,關鍵還在于低功耗的ASIC。智能手機已經在使用深度學習了,例如用于發現惡意軟件或翻譯圖像中的文字等,不過在接下來的一年里,深度學習軟件將得到更廣泛的應用。
無人機制造商大疆已在其幻影4無人機中使用了類似于深度學習ASIC的芯片,利用一塊特殊的視覺處理芯片(由位于美國加州的神經網絡公司Movidius制造,該公司最近也被英特爾收購了)識別障礙物。與此同時,高通也在其驍龍820處理器中植入了特殊電路來輔助執行深度學習計算。
雖然目前業界有充足的動力來設計硬件以加速深度神經網絡操作,但也存在一個巨大的風險:如果前沿技術發展足夠快,用于運行昨日神經網絡的芯片在面世之時就已過時了。“算法變化得太快了。”達利說,“制造這些產品的人都在努力不讓自己輸掉賭注。”
作者:David Schneider