ACM 9 月刊 | 深度學習的黃金搭檔:GPU正重塑計算方式
文章推薦指數: 80 %
選自 CACM
作者:Samuel Greengard
機器之心編譯
參與:杜雪
隨著神經網絡和深度學習研究的不斷深入——尤其是語音識別和自然語言處理、圖像與模式識別、文本和數據分析,以及其他複雜領域——研究者們不斷在尋找新的更好的方法來延伸和擴展計算能力。
幾十年來,這一領域的黃金標準一直是高性能計算(HCP)集群,它解決了大量處理能力的問題,雖然成本有點過高。
但這種方法已經幫助推動了多個領域的進步,包括天氣預測、金融服務,以及能源勘探。
然而,2012 年,一種新的方法出現了。
伊利諾伊大學的研究者之前已經研究過在台式超級計算機中使用 GPUs 來加速處理任務(如圖像重建)的可能性,現在多倫多大學的一組計算機科學家和工程師證明了一種在 GPUs 上運行深度神經網絡來極大推進計算機視覺技術的方法。
插上 GPUs(之前主要用在圖形中)後,計算神經網絡的性能會立即獲得巨大提升,這種提升反映在了計算機視覺效果的明顯改善上。
這是一次革命性進步
「僅僅在幾年之後,GPUs 已經出現在深度學習的核心位置,」加州大學伯克利分校電子工程和計算機科學系教授 Kurt Keutzer 說到。
「GPUs 的使用正在成為主流,通過在一個應用程式中使用幾十到數百個處理器,GUP 正在從根本上改變計算。
」
伊利諾伊大學厄巴納-香檳分校電子與計算機工程 Walter J. Sanders III–Advanced Micro Device 的名譽主席 Wen-Mei W. Hwu 也說過,「GPU 是卓越的吞吐量計算設備。
如果你只有一項任務,就沒必要用到 GPUs,因為速度也快不到哪去。
但是,如果你有大量的相互之間獨立的任務,用 GPUs 就對了。
」
一個深度視角
GPU 架構起源於基礎的圖形渲染操作,比如給圖形加陰影。
1999 年,Nvida 推出了 GeForce 256,這是世界上第一個 GPU。
簡單來說,這個專用的電路——-可內置在視頻卡或主板中——主導並優化了計算機內存以加快顯示器的渲染速度。
今天,GPUs 用在更加廣泛的設備中,包括個人計算機、平板電腦、手機、工作站、電子標示、遊戲機,以及嵌入式系統。
然而,「計算機視覺和深度學習中很多新應用的內存都是有限帶寬,」Keutzer 解釋道,「在這些應用中,應用程式的速度往往最終取決於它從內存中提取數據以及流入和通過處理器要花多少時間。
」
部署 GPU 的一個常常被忽視的巨大優勢是其 processor-to-memory 的超級帶寬。
Keutzer points 指出,這樣的結果是,「在帶寬有限的應用中,這個 processor-to-memory 帶寬的相對優勢直接轉化成超級應用性能。
」關鍵是 GPUs 用更少的電力提供了更快的浮點運算(FLOPs,每秒浮點運算次數)通過支持 16
位的浮點數擴大了能效優勢,比單精度(32 位)或雙精度(64 位)浮點數的能效更高。
多核 GPU 要依賴更大量的 32 位到 64 位這樣更簡單的處理器內核的大量部署。
相比之下,使用更小的傳統的微處理器,通常是 2 位到 4 位到 8 位時,效果如何會呢?
「使用微處理器的 GPUs 實現了更優越的性能,並為深度神經網絡提供了更好的架構支持。
GPUs 在深度神經網絡上表現出的性能優勢逐漸被轉化到更多種類的應用中。
」Keutzer 說。
今天,一個典型的 GPU 集群包含了 8 到 16 個 GPU,而像 Keutzer 這樣的研究人員正在嘗試使用數百個 GPU 在超大數據集上同時訓練多個深度神經網絡,否則將需要幾周的訓練時間。
這個訓練需要運行大量數據通過該系統以讓它達到能解決問題的狀態。
那時,它或許就可以在一個 GPU 或者混合處理器中運行了。
「這不是一次學術訓練。
」Keutzer
指出。
「我們訓練用於像自動駕駛汽車這種新應用的神經網絡時,就需要這樣的速度。
」
使用 GPU 正在成為主流,通過在單個應用中使用多個處理器,能從根本上改變計算。
GPU 技術現在的進展速度遠比傳統的 CPU 快,憑藉強勁的浮點馬力和較低的能耗,GPU 的可擴展性能讓深度學習和機器學習任務的效率得到飛速提升,效果堪比給汽車裝上渦輪增壓發動機,百度高級研究員 Bryan Catanzaro 說到。
「深度學習不是新鮮事物。
GPUs 也不是。
但是這個領域在計算能力得到極大提升和有豐富數據可供使用之後,才開始真正起航。
」
大部分進展來自 Nvidia,這家公司不斷推出更加複雜的 GPUs,包括剛推出的專為解決訓練和推理這類特殊任務的 Pascal 架構。
在這款最新的 GPU 系統中,Tesla P100 晶片實現了在一片矽片上封包 150 億個電晶體,數量是之前處理器的兩倍。
另一個例子,百度正在推進語言識別研究的新前沿。
它的「Deep Speech」項目,依賴一個端到端的神經網絡,在英語和漢語的短音頻剪輯中使語音識別的精確度達到了人類水平。
這家公司還在探索自動駕駛汽車中的 GPU 技術;它一直在研發能在北京大街上自動導航的自動駕駛汽車,並做了改變車道、超車、停車和啟動的演習。
同時,微軟亞洲的研究員使用 GPUs 和一種深度神經網絡的變體——深度殘差網絡,來在計算機視覺中的對象分類和識別的任務中實現更高精確度。
谷歌,也在使用這些技術來持續改進圖像識別算法。
前谷歌人工智慧研究員,現 Open AI 研究室主任 Ilya Sutskever 說到:「神經網絡正在復興。
神經網絡和深度學習的核心理念已經被討論和思考多年了,但是正是通用 GPU 的研發才是神經網絡和深度學習成功的關鍵。
」
一步超越
「雖然 GPU 技術正在深度學習領域推進到新的前沿,但很多計算性的挑戰仍然存在。
首先,像 GPU 這樣的獨立程序化多核設備的高效實現仍然很困難;並且,這種困難會隨著多 GPU 並行的加劇而惡化。
」Keutzer 說道。
不幸的是,他補充道,「這些設備的許多高效程序化的專業技術都被限制在公司內部,許多已被開發的技術細節仍未被廣泛地應用。
」
同樣地,Keutzer 認為,關於深度神經網絡的設計仍被廣泛地描述為「黑科技」,構建一種新型的深度神經網絡架構同構建一種新型的微處理器架構一樣複雜。
更糟糕的是,一旦這種深度神經網絡架構被構建,「就會產生很多類似超參數的 knobs,在應用在訓練中時,只有當這些 knobs 被合理設置時才會產生應有的精確度。
所有的這些造成了這些已知和未知間的知識鴻溝」
「不論是在深度神經網絡領域還是 GPU 編程領域,擁有專業知識的個人都是十分匱乏的,而那些對兩方面都了如指掌的人才則是更為罕見。
」
另一大挑戰則是理解如何最高效地使用 GPU。
舉個例子,百度需要 8-16 個 GPU 去訓練一個模型,從而在整個應用中達到 40%-50% 的浮點峰值。
「這就意味著表現得效果十分有限。
」Catanzaro 說道,「現實是我們需要更大規模地使用 GPU,8 個或 16 個遠遠不夠,我們可能需要的是 128 個 GPU 並行。
」這就需要更好的連接,以及支持由 32 位浮點支持到 16
位浮點支持的能力。
Nvidia 的下一代 GPU——Pascal 有可能可以解決這些問題。
此外,還有一大障礙在於讓 GPU 更好地同其他 GPU 和 CPU 集成。
Hwu 指出,這兩種類型的處理器並不常會集成在一起,並且他們之間也很少擁有足夠高的帶寬。
這就最終轉化成了有限數量的應用和系統運行的能力。
「你十分需要讓你的 GPU 具備運行大數據任務的能力;同時,你的 GPU 還能適時暫停使卸載進程比較合算。
」Catanzaro 解釋道。
現在的 Nvidia GPU 存在於不同的晶片上,他們通常通過一個 I/O bus (PCIe) 連接到 CPU 上。
這就是它們能夠向 GPU 發送大量任務的一個原因。
未來的系統會將 GPU 和 CPU 集成在一個統一的包里,並且它能承擔更高帶寬和更小的風險,以及通過 GPU 和 CPU 來保持共享的一致性。
Keutzer 希望隨著時間的推移,CPU 和 GPU 能夠得到更好的集成,這兩者間更強的一致性與同步性也隨之能夠實現。
事實上,Nvidia 和 Intel 也都在關注著這一領域。
Keutzer 注意到一種名為 Knight's Landing (KNL) 的新型 Intel 晶片在 Xeon Phi 72-core super-computing
處理器中提供了前所未有的計算能力,並且,它同時集成了 CPU 和 GPU 的特性。
同時,這款晶片還提供了每秒 500 GB processor-to-memory 的帶寬需求,這也將侵蝕 GPU 在這一領域的優勢。
Hwu 注意到 KNL 的 72 個核彼此都能執行「一個寬泛的向量指令(512 字節)。
當轉化到雙重精度(8 字節)和單一精度(4 字節)的時候,向量寬頻就將會是 64 和 128。
在這個層面上,它和 GPU 有著類似的執行模型。
」
Keutzer 希望隨著時間的推移,CPU 和 GPU 能夠得到更好的集成,這兩者間更強的一致性與同步性也隨之能夠實現。
KNL chip 的編程模型是傳統的 x86 模型,所以,Hwu 認為,程式設計師們「需要通過 Intel C Compiler 編寫代碼來使得晶片變得可向量化,或是使用 Intel AVX 向量的本質庫函數。
」他補充道,GPU 的編程模型需要依託於一個核心的編程模型。
此外,X86 的內核對所以高速緩存的層次結構具有高速緩存的一致性,Hwu 說道,「但是,GPU 的第一層緩存並不清晰一致,它會伴隨著一些減少的儲存帶寬。
」然而,他補充道,「就深度學習的應用來說,高速緩存的一致性對大多數算法的第一層緩存並沒有那麼重要。
」
未來十年,所有這些的通用性在於大的行業環境如何發展。
Hwu 表示,他堅信摩爾定律能夠在超過三代的時間內繼續發揮作用,設計師和程式設計師也能夠從幾乎離散的 CPU 和 GPU 系統過渡到集成的設計上。
「如果摩爾定律停止運轉,它也將顯著地影響未來的這些系統,以及人們在深度學習和其他任務上使用硬體和軟體的方式。
」Hwu 指出,「但是,即使我們解決了硬體層面的問題,特定深度學習方面的任務仍需要大量的標籤化數據。
在某些層面,我們需要在標籤化數據方面取得突破,從而讓我們能夠具備從事必要領域訓練的能力,尤其是在自動駕駛領域。
」
在未來幾年,Sutskever 說道,機器學習將會廣泛地應用到 GPU。
「隨著機器學習的方法不斷提升,它們會被應用到遠超今天使用範圍的領域並影響到其他所有方面,從醫療保健、機器人到金融服務和用戶體驗。
這些進步依託於更快 GPU 的發展,這也將會使機器學習具備研究的能力。
」
Adds Catanzaro 說:GPU 是通往未來計算之門。
深度學習令人興奮是因為當你增加更多數據時,它可以規模化。
在這一點上,我們會永不滿足的追求更多的數據和計算資源來解決複雜問題。
在拓展計算極限方面,GPU 技術是非常重要的一部分。
©本文由機器之心編譯,轉載請聯繫本公眾號獲得授權。
✄------------------------------------------------
加入機器之心(全職記者/實習生):[email protected]
投稿或尋求報導:[email protected]
廣告&商務合作:[email protected]
阿法狗刷屏,晶片商扎堆深度學習,中國AI扛旗者在哪?
在AlphaGo阿法狗第一局戰勝圍棋高手李世石後,英國《金融時報》中文版頭條文章為:網際網路終結,人工智慧崛起。此時此刻,網際網路時代的領先者和弄潮兒不落窠臼,一場革命就要到來,他們似乎正在拋棄...
千億美金市場,人工智慧晶片競賽正式開啟
版權聲明:本文由半導體行業觀察翻譯自EETIMES,版權歸原作者所有,欲轉載者請諮詢小編。在過去的2016年,在計算機產業來說,相信沒有一個概念比人工智慧更熱門。跨入2017年,專家們表示,人工...
通往未來人工智慧的三條途徑:量子計算、神經形態計算和超級計算
美國「數據科學中心」(Data Science Central)網站的編輯總監William Vorhies撰文表示,量子計算、神經形態計算和超級計算可以帶來更快、更簡單、更廉價、更聰明的人工智...