search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

IBM研究院利用新型軟體技術,將深度學習性能推向新「制高點」

編譯自:IBM 研究院院士 Hillery Hunter 的博客

IBM 研究院宣布,通過全新的分散式深度學習軟體實現了接近理想的擴展能力,該軟體在 64 個 IBM Power 系統中的 256 個NVIDIA GPU 上使用 Caffe 深度學習框架,實現了 95% 的擴展效率。

之前的最佳擴展能力是 Facebook AI 研究院所取得的,他們利用Caffe2 進行訓練的擴展效率為 89%,但數據通信開銷(communication overhead)更高。憑藉此軟體,IBM 研究院使用一個非常大的數據集(750萬張圖像)訓練神經網路時,最新圖像識別準確率達到了33.8%,並且訓練僅花了 7 個小時。Microsoft 之前發布的記錄為 10 天達到 29.8% 的準確率。

IBM PowerAI 4.0 發行版 中現在已經提供了這段 IBM 研究院分散式深度學習代碼的 TensorFlow 和 Caffe 技術預覽版。

深度學習是一種廣泛使用的 AI 方法,可以幫助計算機理解人們用以體驗世界的圖像和聲音,並提取其中的含義。它有望幫助我們不僅提升用戶移動設備體驗,並且在醫療影像診斷等廣闊領域取得突破。但是,大規模運行 AI 深度學習模型在技術上面臨著困難,訓練時間通常要持續數天甚至數周,這使得大規模部署深度學習的準確率和實用性進展受到了限制。

我們在IBM 研究院的團隊致力於縮短使用大型數據集、訓練大型模型的時間。我們的目標是將與深度學習訓練相關的等待時間從數天或數小時縮短到幾分鐘或幾秒鐘,並提高這些 AI 模型的準確率。為此,我們正在解決在大量伺服器和 NVIDIA GPU 間進行分散式深度學習的巨大挑戰。

大多數流行的深度學習框架可擴展到一個伺服器中的多個 GPU,但無法擴展到多個配有 GPU 的伺服器。而我們團隊(Minsik Cho、Uli Finkler、David Kung以及其他合作者)編寫了軟體和演算法,能夠對在數十個伺服器中的數百個 GPU 加速器間并行運行的、非常龐大且複雜的計算任務進行自動優化。

我們的軟體能夠完全同步進行深度學習訓練,並且數據通信開銷非常低。因此,當我們擴展到一個包含數百個 GPU 的大型集群,並使用ImageNet-22k 數據集的750 萬張圖像訓練模型時,圖像識別準確率史無前例地達到了 33.8%,而 Microsoft此前發布的最好結果僅為29.8%。4% 的準確率提升是一次巨大的飛躍;因為過去一般提升不到 1%。由於能夠充分利用配備了數百個 NVIDIA GPU 的數十台伺服器,我們創新的分散式深度學習 (DDL,Distributed deep learning) 方法不僅讓我們提高了準確率,還能在短短 7 小時內訓練一個 ResNet-101 神經網路模型;而Microsoft 訓練同一個模型需要花費 10 天時間。這一成果需要我們創建分散式深度學習代碼和演算法,解決對強大的深度學習框架進行擴展的固有難題。

圖註: IBM院士 Hillery Hunter在實驗中

Facebook AI 研究所 2017 年 6 月發表了一篇研究論文, 解釋了他們使用更小的數據集 (ImageNet 1k) 和更小的神經網路 (ResNet 50) 所取得的出色成果,體現了固有難題:

深度學習的蓬勃發展離不開大型神經網路和大型數據集。但是,網路和數據集越大,訓練時間就越長,進而會阻礙研究和開發進度。

具有諷刺意味的是,隨著 GPU速度越來越快,在多個伺服器間編排和優化深度學習也變得越來越困難。這使得深度學習系統在功能上有了缺陷,進而促使我們創建一種新型的分散式深度學習軟體,能夠以極高的性能和極高的準確率在大規模神經網路和數據集上運行 Tensorflow、Caffe、Torch 和 Chainer 等流行開源代碼。

下面這個「盲人摸象」寓言的另一版本有助於描述我們正在解決的問題,以及我們實現的早期成果。摘自維基百科:

「……每位盲人觸摸大象身體的不同部分,但僅觸摸一部分,比如側面或象牙。然後他們根據自己的部分體驗來描述大象,所以他們對大象的描述完全不同。」

現在,儘管每個人的最初體驗是不一樣的,但如果為這些人提供足夠的時間,他們可以分享足夠的信息,從而拼湊出非常準確的完整的大象圖片。

與此類似,如果你有一些 GPU 在忙碌地處理一個深度學習訓練問題的各個元素 - 像目前的典型案例一樣花數天或數周并行執行 –你可以非常輕鬆地同步這些學習結果。

但是,隨著 GPU 變得更快,它們的學習速度也會更快,就需要使用傳統軟體完全無法達到的速度與所有其他 GPU 共享其學習結果。這是一個很棘手的技術問題,給系統網路帶來了壓力。基本來講,更智慧且更快的學習者們 (即GPU們) 需要更好的通信方式,否則它們將不同步,並會花費大部分時間等待獲得彼此的結果。所以,通過使用更多、能更快學習的 GPU,你並沒有獲得更快的速度,甚至可能遇到性能下降的情況。

我們通過分散式深度學習 (DDL) 軟體彌補的功能局限,主要體現在提高擴展效率以及如何在增加GPU 時實現接近完美的系統擴展性能上。這項指標展示了 256 個 GPU 如何高效地「交流」彼此的學習成果。

我們通過使用ImageNet-22K 數據集的 750 萬張圖像(批量處理的圖像尺寸為 5120)來訓練 ResNet-101 深度學習模型,證明了該分散式深度學習軟體的擴展能力。團隊使用了一個包含 64 台 IBM Power 伺服器和總計 256 個 NVIDIA P100 GPU 加速器的集群,以非常低的數據通信開銷實現了 88% 的擴展效率。

Facebook AI 研究所 (FAIR) 的一個團隊此前實現了 256 個 GPU 的最佳擴展能力。FAIR 在較小的數據集 ImageNet-1K(擁有約 130 萬張圖像)上使用了一個較小的深度學習模型 ResNet-50,兩者都降低了計算的複雜性,而且使用了 8192 這一更大的批處理尺寸,他們使用 Caffe2 深度學習軟體,在由 256 個 NVIDIA P100 GPU 加速的集群上,實現了 89% 的擴展效率。使用ResNet-50 模型以及與 Facebook 相同的數據集,IBM 研究院的 DDL 軟體使用 Caffe 實現了 95% 的效率,如下圖所示。

IBM DDL 在 256 個 GPU 間的擴展性能

對於開發人員和數據科學家,IBM 研究院的分散式深度學習 (DDL) 軟體提供了一個 API(應用編程介面),每個深度學習框架都可以接入該 API,從而擴展到多台伺服器上。PowerAI 企業級深度學習軟體第 4 版提供了一個技術預覽版,使這項集群擴展功能可以用於任何使用深度學習框架訓練其 AI 模型的組織。我們期望,通過為 AI 社區提供 DDL功能,更多的人將利用集群的強大功能進行 AI 模型訓練,實現更高的準確性。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦