loader
bg-category
深度學習的硬件架構

與朋友分享

作者的文章: Kenneth Douglas

短字節:深度學習具有很高的計算需求。要開發和商業化深度學習應用程序,需要合適的硬件架構。為深度學習應用程序部署開發高效的硬件平台存在巨大的持續競爭。在這裡,我們將討論具體的硬件要求以及未來如何尋找深度學習硬件。

深度學習是這個十年最熱門的話題,也可能是即將到來的話題。儘管從表面上看,深度學習並不是關於數學,創造模型, 學習 和優化。算法必須在優化的硬件上運行,並且學習成千上萬的數據可能需要很長時間,甚至數週。對於深度學習網絡,越來越需要更快,更高效的硬件。

很容易觀察到並非所有進程都在CPU上高效運行。遊戲和視頻處理需要專用硬件 - 圖形處理單元(GPU);信號處理需要與數字信號處理器(DSP)等獨立的架構。人們一直在設計專用硬件 學習;例如,2016年3月對Lee Sedol玩GO的AlphaGo計算機使用了由1920個CPU和280個GPU組成的分佈式計算模塊。隨著NVIDIA宣布他們的新一波Pascal GPU,現在焦點在於深度學習的軟件和硬件方面。因此,讓我們關注深度學習的硬件方面。

深度學習硬件平台的要求

要了解所需的硬件,必須了解深度學習的工作原理。從表面上看,獲得了一個大型數據集,並選擇了一個深度學習模型。每個模型都有一些內部參數需要調整才能學習該數據。這個 調音 參數基本上歸結為優化問題,其中選擇參數以使得特定約束 優化.

百度的矽谷人工智能實驗室(SVAIL)為Deep Learning硬件提出了DeepBench基準測試。基準測試側重於基礎計算的硬件性能而不是學習模型。該方法旨在找到使計算更慢或更低效的瓶頸。因此,重點是嘗試設計一種在用於訓練深度神經網絡的基本操作上表現最佳的架構。那些基本操作是什麼?今天的深度學習算法主要包括卷積神經網絡(CNN)和遞歸神經網絡(RNN)。基於這些算法,DeepBench提出了四項操作 -

  • 矩陣乘法 - 這幾乎存在於所有深度學習模型中,並且計算密集。
  • 卷積 - 這是另一種常用操作,佔用了模型中的大部分翻轉(每秒浮點運算)。
  • 循環圖層 - 這些是模型中的反饋層,基本上是前兩個操作的組合。
  • 全部減少 - 這基本上是一系列通信或解析的操作 學習參數 在優化之前。當在跨多個硬件分佈的深度學習網絡上執行同步優化時,這非常有用(如AlphaGo的情況)。

除此之外,深度學習的硬件加速器還需要數據級別和流水線並行,多線程和高內存帶寬等功能。此外,由於數據的訓練時間很長,因此架構必須消耗低功率。因此,每瓦性能是硬件架構的評估標準之一。

當前趨勢和未來範圍

NVIDIA憑藉其大規模並行GPU及其專用的GPU編程框架CUDA,一直主導著當前的深度學習市場。但是越來越多的公司正在為深度學習開發加速硬件。谷歌的張量處理單元(TPU),英特爾的Xeon Phi Knight's Landing,高通的神經網絡處理器(NNU)就是一些例子。像Teradeep這樣的公司現在開始使用FPGA(現場可編程門陣列),因為它們的功率效率可以比GPU高出10倍。 FPGA比GPU具有更高的靈活性,可擴展性和更高的每瓦性能。但編程FPGA需要特定於硬件的知識,因此最近軟件級FPGA編程模型已有發展。

此外,已經普遍認為,由於不同的模型需要不同的硬件處理架構,因此不能存在最適合所有模型的統一架構。研究人員正試圖通過使用FPGA來挑戰這一觀念。

隨著大多數深度學習軟件框架(如TensorFlow,Torch,Theano,CNTK)成為開源,Facebook最近開源其“大蘇爾”深度學習硬件,我們可以期待許多這樣的開源硬件架構用於深度學習不遠的將來。在後續帖子中,我們將討論當今可用的更具體的深度學習硬件。那麼您如何看待Deep Learning硬件?在評論中與我們分享。

與朋友分享

您的意見