DeepSpeed: 一個用於極大規模深度學習訓練與記憶體效率的系統優化函式庫

DeepSpeed: 一個用於極大規模深度學習訓練與記憶體效率的系統優化函式庫

它解決了什麼問題

DeepSpeed 旨在克服通常限制深度學習訓練規模與速度的記憶體與運算限制。透過讓過程在多個 GPU 與硬體加速器之間更具效率且具擴展性,它使得訓練大規模模型(有些擁有數千億個參數)成為可能。

運作原理

DeepSpeed 採用了一系列系統級的創新技術來優化記憶體使用量與吞吐量。關鍵技術包括:

  • ZeRO (Zero Redundancy Optimizer): 透過在可用 GPU 之間分割模型狀態來減少記憶體開銷。
  • 3D-Parallelism: 結合不同類型的並行化技術來擴展訓練規模。
  • Offloading: 在 GPU 記憶體與 CPU/NVMe 之間移動數據,以處理超出 GPU 容量的模型(例如 ZeRO-Infinity, ZenFlow, SuperOffload)。
  • Sequence Parallelism: 特別針對長上下文序列的訓練進行優化(例如 Ulysses Sequence Parallelism)。
  • Specialized Optimizers: 包括像 1-bit Adam 這樣具備通訊效率的工具。

對象是誰

它適用於正在訓練超大規模模型(例如 LLMs)並需要最大化 NVIDIA, AMD, Intel 以及其他專用 AI 加速器硬體利用率的 AI 研究人員與工程師。

重點摘要

  • 極大規模: 用於訓練如 MT-530B 與 BLOOM 等世界領先的模型。
  • 廣泛的硬體支援: 相容於 NVIDIA GPUs, AMD GPUs, Intel Gaudi/XPU, 以及 Huawei Ascend NPUs。
  • Hugging Face Integration: 與 Transformers 與 Accelerate 函式庫深度整合。
  • 靈活的記憶體管理: 先進的 CPU 與 NVMe offloading 能力,以突破「GPU 記憶體牆」。

Sources