IBM釋出新型分散式深度學習系統:結合軟硬體實現當前最優效能

機器之心發表於2017-08-09

近日,IBM 釋出了一種結合軟體和硬體的新型分散式系統 PowerAI DDL,該系統不僅在 Imagenet 22K 任務上實現了當前最佳的效能,同時還只需要 7 小時就能完成訓練。該軟體庫現已整合到 TensorFlow、Caffe 和 Torch 中。

IBM Research 在 arXiv 發表文章,稱使用新型分散式深度學習軟體可達到幾乎完美的擴充套件效果,該系統在 64 位 IBM Power system 的 256 個英偉達 GPU 上使用 Caffe 深度學習框架獲得了破紀錄的通訊成本,擴充套件效率高達 95%。之前的最佳擴充套件效率是 Facebook AI Research 釋出的 89%,其在 Caffe2 上訓練執行,通訊成本相對較高。IBM Research 還以 50 分鐘的模型訓練時間在時間方面優於 Facebook 的模型。使用該系統,IBM Research 在大型資料集(7.5M 影像)上利用神經網路達到新的影像識別準確率——33.8%。微軟之前釋出的記錄是 29.8%。

IBM Research 分散式深度學習程式碼的技術預覽內容今天即可在該網址檢視:https://www.ibm.com/us-en/marketplace/deep-learning-platform

深度學習是一種廣泛使用的人工智慧方法,它幫助計算機理解人類用來感知世界的影像和聲音,並從中抽取意義。該方法有望幫助從消費者手機 app 體驗到醫療影像診斷的所有領域中實現突破。但是大規模部署深度學習的準確率和可行性受到技術因素的限制,如訓練基於大型複雜深度學習的 AI 模型,該過程的訓練時間需要用天或周來衡量。

我在 IBM Research 的團隊一直致力於減少在大資料集上訓練大型模型的時間。我們的目標是將深度學習訓練的等待時間從數天或數小時縮減至幾分鐘甚至幾秒,並改善這些 AI 模型的準確率。為了達到該目標,我們在大量伺服器和多個英偉達 GPU 的分散式深度學習中解決了擴充套件問題這一巨大挑戰。

最流行的深度學習框架可以在一個伺服器的多個 GPU 上擴充套件,但是無法在具備多個 GPU 的多個伺服器上擴充套件。具體來說,我們的團隊(Minsik Cho、Uli Finkler、David Kung 以及他們的合作伙伴)寫出的軟體和演算法,能夠在數十個伺服器上的數百個 GPU 加速器之間自動執行和最佳化大型複雜計算任務的並行化。

IBM釋出新型分散式深度學習系統:結合軟硬體實現當前最優效能

IBM 研究員 Hillery Hunter 用前所未有的 GPU 處理速度開發新軟體。

我們的軟體可以完全同步地進行深度學習訓練,並且這種訓練只有非常少的通訊成本。因此,當我們將該系統擴充套件到有 100 多個英偉達 GPU 的大型計算機叢集時,它在 ImageNet-22K 資料集上的 7.5M 圖片上識別精度達到了 33.8%,而前面最好的結果是微軟實現的 29.8%,4% 的效能提升已經是十分巨大的進步了,因為以前的精度提升基本上都在 1% 以內。我們所提出的分散式深度學習(DDL)方法不僅能提升效能,還能在 7 小時內訓練一個 101 層的殘差網路,因為它能利用 10 個配備 100 塊英偉達 GPU 的伺服器的計算力。相比之下,微軟可能需要十天的時間來訓練相同的模型。這個成就進一步要求我們建立 DDL 程式碼和演算法,以克服擴充套件到其他強力深度學習框架所遇到的固有問題。

這些結果都是在為測試深度學習演算法和系統而構建的基準上完成的,所以 33.8% 的驗證精度可能看起來不高,但是它要顯著地高於以前的最優結果。給定任意一張圖片,該系統將會在 22000 個選項中給出最佳的選擇(Top-1 accuracy),並且精度還能達到 33.8%。我們的技術將幫助其它 AI 模型在具體的任務上訓練,例如醫療影像中的癌細胞檢測就能變得更加精確,並且訓練或再訓練都只需要數小時。

IBM釋出新型分散式深度學習系統:結合軟硬體實現當前最優效能

FAIR(Facebook AI Research)六月份發表的研究論文中描述了這個問題,該論文使用較小的資料集(ImageNet 1k)和較小的神經網路(ResNet 50)解釋了他們傑出的研究成果:

深度學習的興起得益於大型神經網路和資料集。但是,大型網路和資料集導致了較長的訓練時間,這阻礙了研發的前進步伐。

諷刺的是,這個在多伺服器上策劃和最佳化深度學習的問題隨著 GPU 不斷變快,也變得越發困難了。這一問題在深度學習系統中造成了一種功能差距,驅使著我們建立新型的 DDL 軟體,以使在高效能和高精確度的大規模神經網路和資料集上執行流行的開原始碼(比如 Tensorflow、Caffe、Torch 和 Chainer)成為可能。

「盲人摸象」的說法有助於描述我們正在解決的問題和已經取得的早期成果的背景。根據維基百科:

「……每一個盲人只能感受到大象的一部分,比如大象身體的一側或者象牙。然後他們基於這一片面經驗描述大象,這些描述和大象完全不同。」

現在,儘管存在初始化差異(initial disagreement),但如果這些人有足夠的時間,他們能夠共享資訊,並將其組合成相當準確的大象的定義。

相似地,如果你使用多個 GPU 處理深度學習在數天或數週中的並行訓練問題,這也是當前的常見情形,你可以相對輕鬆地將這些學習結果同步化。

但是當 GPU 變得更快,它們的學習也更快;並且它們不得不以一種傳統軟體無法實現的速率與其他 GPU 共享學習。這就為系統網路增加了壓力,並且是一個棘手的技術問題。基本來講,更智慧更快的 GPU 需要更好的通訊方式,否則它們就無法同步,並花費絕大多數時間等待彼此的結果。因此,你不會從學習更快的 GPU 中獲得加速。

當你檢視擴充套件效率,或者當你新增 GPU 看到如何接近於完美的系統效能擴充套件時,我們使用(DDL)軟體解決這個功能性差距的能力是顯而易見的。這些測量提供了一個視角來觀察 256 塊 GPU 如何很好地「討論」彼此的知識。

之前,256 塊 GPU 的最佳擴充套件來自 Facebook 人工智慧研究院(FAIR)的一個團隊。FAIR 使用了一個較小的深度學習模型 ResNet-50,和一個較小的大約 130 萬張影像的資料集 ImageNet-1K;二者降低了計算複雜度,並使用較大的 8192 的批次大小;最終,透過 Caffe2 在 256 塊英偉達 P100 GPU 加速叢集上取得了 89% 的擴充套件效率。對於一個 ResNet-50 模型和一個與 Facebook 相同的資料集,IBM Research DDL 透過 Caffe 實現了 95% 的效率,如下表所示。這是在 64 臺「Minsky」Power S822LC 系統的叢集上執行的,每個系統有 4 塊英偉達 P100 GPU。

IBM釋出新型分散式深度學習系統:結合軟硬體實現當前最優效能

透過 256 塊 GPU 擴充套件 IBM DDL 效能

為了從 ImageNet-22K 資料集中的 7.5M 影像上訓練出更大的 ResNet-101 模型(每個影像批次大小為 5120),我們實現了 88% 的擴充套件效率。

我們也打破了記錄,取得了 50 分鐘的最快絕對訓練時間,而 Facebook 之前的記錄是 60 分鐘。透過把 DDL 用到 256 塊 GPU 上來擴充套件 Torch,我們藉助 ImageNet-1K 模型訓練 ResNet-50 模型。Facebook 使用 Caffe2 訓練了一個相似的模型。

對於開發者和資料科學家來說,IBM DDL 軟體展示的 API 每一個深度學習框架皆可使用,並可擴充套件到多個伺服器。PowerAI 企業深度學習軟體版本 4 中現已提供技術預覽,使得這一叢集擴充套件功能可用於任何使用深度學習訓練 AI 模型的組織。我們期望,透過 DDL 在 AI 社群中的普及,我們將看到更多更高精度的執行,因為其他人在 AI 建模訓練中利用了叢集的力量。

PowerAI DDL

IBM釋出新型分散式深度學習系統:結合軟硬體實現當前最優效能

論文連結:https://arxiv.org/abs/1708.02188

隨著深度神經網路變得越來越複雜,輸入資料集的規模變得越來越大,我們可能需要數天或數週的時間來訓練一個深度神經網路以獲得理想的效果。因此,大規模分散式深度學習就顯得十分重要了,因為它有潛力將訓練時間從數週減少到數小時。在本論文中,我們提出了一種軟硬體聯合最佳化的分散式深度學習系統,該系統一直到數百塊 GPU 都能實現效能的近線性縮放。該系統的核心演算法是多環通訊模式(multi-ring communication pattern),它能提供在延遲和頻寬上的優良權衡,並能適應多種系統配置。該通訊演算法以函式庫的形式實現,因此它十分易於使用。該軟體庫已經整合到 TensorFlow、Caffe 和 Torch 中。我們在 Imagenet 22K 上使用 IBM Power8 S822LC 伺服器(256 GPU)訓練 Resnet-101 網路,最終在 7 小時內驗證精度達到了 33.8%。相比之下,微軟的 ADAM 和谷歌的 DistBelief 在 Imagenet 22K 資料集中的驗證精度還不到 30%。相對於 Facebook AI Research 最近使用 256 塊 GPU 訓練 Imagenet 的論文,我們使用了不同的通訊演算法,並且結合了軟硬體系統以為 Resnet-50 提供更低的通訊成本。PowerAI DDL 能夠令 Torch 訓練 50 層殘差網路,完成 90 個 epoch 而實現 1000 類別的識別任務,該訓練過程使用 64 IBM Power8 S822LC 伺服器(256 GPU)只需要 50 分鐘。

相關文章