大型計算如何為深度學習火箭助力
編者注:更多進一步資訊請參考2017年3月13-16日Strata + Hadoop World San Jose上的深度學習議題內容。
最新一期(2017年1月12日)O’Reilly資料秀播客:大型計算如何為深度學習火箭助力。
專家們把深度學習比喻成一艘宇宙飛船。它需要很強大的發動機(模型)和非常多的燃料(資料)來推動它飛到任何想去的地方。為了能更好地理解為深度學習建造計算系統這個問題,我採訪了這個領域的最前沿專家之一,百度公司的資深研究員Greg Diamos。Diamos長期致力於結合軟硬體的先進科技來讓計算機跑的更快。近年來,他專注於擴充套件深度學習來幫助提升一些前沿的領域,比如語音識別。
大的模型加上海量資料,必然需要大型計算系統,或者至少是在AI領域的尖端系統。研究人員已經傾向於使用高效能運算(HPC)或是類似於超級計算機的系統。而大部分從業人員則是使用多GPU(ASIC或是FPGA)的系統,和一些能讓快速深度學習模型在其上執行的易用的軟體庫。
除了很多企業都會面對的如何平衡方便易用和效能的辯論,現在還有另外一些關於使用大資料技術而非HPC的努力。在下面這個部落格裡,我將重點介紹一些工程師和資料科學家的工作。他們已經開始使用這些技術並開發軟體,從而在大資料領域常見的軟硬體基礎設施上執行深度學習。
到目前為止設計什麼樣的系統才能夠使用海量資料來訓練深度學習的模型?下面是一些深度學習研究領域出現的模式:
使用多GPU的密集計算硬體。儘管GPU是出了名的難程式設計,但是深度學習卻相對比較容易。因為它的計算一般都是海量、密集和線性的代數運算。
部署高速的計算網路系統,並結合可以利用高速網路的軟體和演算法(比如MPI)。也可以使用諸如非同步SGD這樣的演算法來降低計算節點之間的通訊總量。
利用為演算法和專門的計算(例如深度學習所需的線性代數、快速傅立葉變換和卷積神經網路)優化過的庫。英偉達和英特爾都為此釋出了一些開源的庫。但很多研究組織也各自開發了他們自己的工具。
考慮使用專門的IO系統來滿足大型深度學習負荷所需要的海量隨機資料讀取。
也可以嘗試在訓練模型時使用低精度浮點數(一個熱門研究領域),或者是降低模型大小(研究顯示在模型被訓練後,對模型進行壓縮和正則化並不影響模型的效果)
ASIC(專用積體電路)還是GPU
在採訪中,Diamos曾對一個問題有過插話。即是否有可能建造比GPU更加有效率的ASIC(來推進深度學習)。
這是一個很有趣的問題。硬體設計人員還在努力解決這個問題。我不覺得現在有一個清晰的答案。我個人認為是有可能製造比GPU更好的硬體,但是這需要有不少前瞻性的研究結果來完成最終的落地,其中很多都和製造的流程有關。所以我認為現在討論為深度學習製造ASIC還是一個賭博。但這並不意味著不值得去嘗試。我真心希望能成功,因為它的影響是很深遠的。
我認為他們必須非常有創造力。對於大家來說,一個比GPU更好的ASIC會是什麼樣並不明晰。我覺得大家對此只有一點想法。目前流行的一個大的想法是降低精度。但問題是GPU也能加入對這個功能的支援。而ASIC對比GPU的優點也僅僅只是降低執行時間。
這個問題的另外一方面則是硬體設計已經變的非常複雜和昂貴了。即使你想到了一個ASIC的好點子,那也需要非常巨大的資金投入(來實現這個想法)。風險非常大,這是因為這需要非常多的不同的技術都能成功地被實現,並真正能去和使用尖端流程(比如14奈米或10奈米)的高速處理器來競爭。因此即便能有一個非常好的想法,綜合上面所有的因素來看,風險也是非常高的。
在研究領域已經有一些製造ASIC的想法和提議了。我最喜歡的是一個基於3D整合的方法。它某種程度上是把記憶體和處理器用非常緊密的方法“粘”在一起。但這個方法的問題是它只對於支援這個方式的處理器才有用,才能提升效能。但據我所知,這種技術非常昂貴。可以認為這是一個需要投資10億美元並要經過多年研發的事情。
相關資料:
在即將開始的聖荷西Strata+Hadoop世界2017大會上有很多關於應用深度學習的講座。
《HPC在深度學習裡的機會》——Greg Diamos在史丹佛大學的一個演講。
《對速度的需求:衡量深度學習負載的基準線》:Greg Diamos在2016 O’Reilly人工智慧大會上的一個演講。
訂閱O’Reilly資料秀播客,探索推動大資料、資料科學及人工智慧的機遇和技術。可以在 iTunes, Stitcher, TuneIn, SoundCloud, RSS 找到我們。
PS, 在微信中瀏覽此頁面可能不能點選超連結,請從微信右上角選取手機瀏覽器來瀏覽。
本·羅瑞卡(Ben Lorica)
本·羅瑞卡是O'Reilly的首席資料科學家和關於資料方面的內容策略主管。在多個領域裡(包括直銷市場、消費者和市場研究、精準廣告、文字挖掘和金融工程),他曾經進行了商業智慧、資料探勘、機器學習和統計分析的工作。他曾效力於投資管理公司、網際網路創業企業和金融服務公司。
相關文章
- 深度:如何從系統層面優化深度學習計算?優化深度學習
- 初創公司如何訓練大型深度學習模型深度學習模型
- 如何從系統層面最佳化深度學習計算?深度學習
- 計算機視覺與深度學習公司計算機視覺深度學習
- 計算機視覺中的深度學習計算機視覺深度學習
- 深度學習中需要的矩陣計算深度學習矩陣
- 雲端計算時代的深度學習訓練深度學習
- 學習雲端計算怎麼入門,如何學習雲端計算?
- 計算資源有限的人如何在深度學習領域成長?深度學習
- 深度學習研究的新變化:教計算機如何編碼深度學習計算機
- 深度學習高效計算與處理器設計深度學習
- 零基礎如何學習雲端計算?雲端計算學習教程
- 為什麼會有深度學習?如何看待?深度學習
- 史丹佛—深度學習和計算機視覺深度學習計算機視覺
- 助力AI騰飛,深度學習走向何方?AI深度學習
- 後深度學習時代,計算機視覺技術如何走向未來?深度學習計算機視覺
- Alluxio 助力 Kubernetes,加速雲端深度學習UX深度學習
- 深度學習助力引力波訊號搜尋深度學習
- 學習雲端計算前景如何?雲端計算成為獲取人工智慧主要途徑人工智慧
- 計算機視覺與深度學習應用關係計算機視覺深度學習
- OpenCV 例項解讀:深度學習的計算與加速OpenCV深度學習
- SACC2018:機器學習與深度學習如何助力企業業務?機器學習深度學習
- 如何為實時音視訊設計小且優的深度學習模型?深度學習模型
- 如何用深度學習將前端設計模型自動轉換為程式碼?深度學習前端模型
- 學習雲端計算簡單嗎?專科生學習雲端計算就業前景如何?就業
- 拜讀為什麼深度學習幾乎成了計算機視覺研究的標配深度學習計算機視覺
- 深度學習運算元優化-FFT深度學習優化FFT
- MIT研究員警告:深度學習已經接近計算極限MIT深度學習
- 8個計算機視覺深度學習中常見的Bug計算機視覺深度學習
- 計算深度學習評價指標Precision、Recall、F1深度學習指標
- 如何用雲端 GPU 為你的 Python 深度學習加速?GPUPython深度學習
- 深耕自動化教學,風變程式設計為自主學習助力程式設計
- 我是如何學習計算機程式設計的計算機程式設計
- 《自然》:如何更有效學習計算機程式設計?計算機程式設計
- 深度學習計算機視覺極限將至,我們該如何找到突破口?深度學習計算機視覺
- 深度學習(一)深度學習學習資料深度學習
- 形象理解深度學習中八大型別卷積深度學習型別卷積
- 如何快速入行雲端計算?雲端計算的學習要點有哪些?