2018 年,由美國國家能源研究科學計算中心 (NERSC) 與 NVIDIA組成的聯合團隊取得了一項突破性成就。他們成功將一種科學嚴謹的深度學習應用擴展至 27000 多個NVIDIA V100Tensor 核心 GPU,攻克了此過程中百億億次運算的難關。憑借該項成就,研究團隊由此斬獲高性能計算領域的最高獎項ACM 戈登貝爾獎。除 2018 年的技術論文與新聞稿之外,我們還將在本文中探討這項成就對 AI 領域產生的深遠影響,以及未來面臨的開放性挑戰。
由伯克利實驗室與橡樹嶺國家實驗室各自領導的兩個研究團隊共享 2018 年 ACM 戈登貝爾獎
深度學習軟件:性能與生產力
低級工具能為開發者帶來精確度,高級工具則可提高工作效率,這二者之間總存在一個折衷點。我們已為此找到解決方案。在本次項目中,我們用高效的 Python 和 TensorFlow 表示網絡架構與整體的應用工作流。TensorFlow 反過來會利用在 C 和 C++ 環境中實施的例程來實現高性能,提供精確度,并解放開發者以提高其工作效率。因此,在 8 個月的時間里,我們的團隊從頭開始構建網絡原型,并在全球最大的高性能計算 (HPC) 系統 Summit 上對其性能與擴展作出了優化。
我們相信,此項目能夠展示出研究人員長期推測的 HPC 與 AI 軟件堆棧的實際融合效果,即以 C/C++ 編寫的高性能庫 (CuDNN) 和框架 (TensorFlow),以及通過 Python 公開的高效接口。同理,我們還在 NCCL 和 MPI 中實施經高度優化且基于拓撲感知的通信集合,但通過簡單高效的 Horovod 接口實現公開。展望未來,我們相信,在助力科學家及更廣泛的研究社區探索更復雜架構的過程中,為混合并行模式(數據、模型、流水線)提供透明支持將至關重要。
深度學習硬件:GPU 和混合精度
本次項目利用 NVIDIA Volta GPU 來訓練 DeepLabv3+ 分割網絡。在混合精度模式下,Volta 上可達到的峰值性能為 125 萬億次浮點運算。該模式由 NVIDIA 通過 Tensor 核心 GPU 架構推出,可執行 FP16 精度計算并能以 FP32 精度模式累積結果。在本項目開展之前,該領域存在一個仍待解決的問題,即現實的科學應用能否利用 FP16(不損失精確度)并獲得較高的峰值性能。我們的研究最終證明,對于科學領域的模式識別問題,16 位精度可能足以滿足相關需求。此外,對于擁有 4000 多個計算核心的復雜應用而言,極高的峰值亦有可能實現:在規模龐大的 GPU 集群上,我們的應用實現了每塊 GPU 大約 40 萬億次浮點運算的峰值性能。
我們相信,這些結果為科學應用打開了通往低精度加速器的一扇大門。雖然原始數據集可能具有高精度(64 位或 32 位),但我們或許仍可以在不損失收斂或穩定性的前提下,以低精度模式執行模式識別任務。
開放性挑戰
如要在當代的 HPC 系統上實現百億億級的性能,我們需對所有組件仔細調優,包括硬件(CPU、GPU、NVLink、文件系統、網絡互連)和軟件。雖然我們的項目成功實現了大幅調優、優化和擴展,但我們想指出兩項挑戰,以便向行業及研究社區征求更多意見。
大規模數據管理
得益于 GPU 架構在加快計算方面取得的進展,我們現已能在單個硅處理器上暢享高于 100 萬億次浮點運算級的性能。隨著 GPU 速度越來越快,向其輸送數據的能力會逐漸限制性能。本次項目中,我們對 20 太字節的數據集展開分析,這實際上需要整個 Summit 系統保持每秒大約 4 太字節的 I/O 速率。Summit 上的 GPFS 文件系統根本無法勝任該項任務,在 NERSC Cori 系統的 Lustre 文件系統上執行的類似實驗也以徹底失敗而告終。對于這兩種情況,在節點本地 NVMe上暫存數據和突發緩沖區技術便顯得至關重要。
傳統的 HPC 文件系統主要用于支持以寫入為主的工作負載;而深度學習工作負載則屬于讀取密集型負載,對數據帶寬和元數據操作速率要求頗高。如要支持大規模深度學習工作負載,我們可能必須先對緩存分層、分片和混編操作提供透明支持。
大規模收斂
提供深度學習解決方案的時間由兩部分構成:計算擴展效率和統計擴展效率。我們的研究已經展示出卓越的計算擴展性能,并且提供了許多有關系統級注意事項的建議。一個未解決的問題是,如何使用 SGD(隨機梯度下降)的其中一個收斂屬性取代大批量(在本項目中,批量大小高于 27000)。
在 HPC 資源上提供高度并行性具有正反兩方面作用。如要以超高并發級別在大規模資源上運行,我們需在短時間內對超參數進行調優。有關收斂算法行為的啟發式方法可能會或不會繼承自較小規模的運行。盡管目前對于選擇各類超參數所產生效果的實證評估都很合理,但我們預計,科學界將需要更好的指導原則,以及用于解決新問題的收斂保證。
我們相信,在解決收斂問題的過程中,進一步開發 LARS 與 LARC 等新算法和潛在的高階優化方法將是至關重要的一環。
-
gpu
+關注
關注
28文章
4743瀏覽量
129009 -
人工智能
+關注
關注
1792文章
47354瀏覽量
238832 -
深度學習
+關注
關注
73文章
5504瀏覽量
121246
原文標題:攀登百億億級深度學習之巔
文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論