🟩較早收集於 31m

優化 Transformer 模型以進行低精度訓練

優化 Transformer 模型以進行低精度訓練
PostLinkedIn
🟩閱讀原文: NVIDIA Developer Blog
#gpu-optimization#llm-training#performance-tuningnvidia-transformer-optimizationnvidia

💡學習如何利用低精度優化技術,大幅降低 GPU 成本並加速您的 LLM 訓練週期。

⚡ 30-Second TL;DR

有什麼變化

低精度訓練可減少大型模型訓練所需的 GPU 時數。

為什麼重要

實施低精度訓練策略可以顯著降低基礎設施成本,並縮短大型生成式 AI 專案的上市時間。

下一步行動

檢視您目前的訓練流程,並整合 NVIDIA 的低精度函式庫以優化 GPU 使用率。

誰應關注:Developers & AI Engineers

關鍵要點

  • 低精度訓練可減少大型模型訓練所需的 GPU 時數。
  • 優化 Transformer 架構直接影響工程迭代速度。
  • 高效訓練使團隊能在現有硬體限制下擴展模型規模。

🧠 深度解析

背景與延伸:來自公開資料,非原文內容。引用 25 個來源。

🔑 增強重點摘要

  • NVIDIA 的 Transformer Engine 函式庫透過動態縮放、amax 歷史追蹤和 cuBLAS 的高效 FP8 GEMM,使 FP8 混合精度訓練在 H100 和 H200 硬體上變得實用,可將吞吐量提高 1.3 至 1.7 倍。
  • 低精度訓練的發展已從 FP16 和 BF16 擴展到更低的精度格式,例如 FP8(包括 E4M3 和 E5M2 兩種變體)以及 NVIDIA Blackwell 架構支援的 NVFP4,這些格式能進一步減少記憶體使用並提升吞吐量。
  • NVIDIA 的 Tensor Cores 是專為矩陣運算設計的專用單元,自 Volta 架構(2017 年)引入以來,歷經 Turing、Ampere、Hopper 和 Blackwell 等世代演進,成為實現高效低精度 Transformer 訓練的關鍵硬體基礎。
  • 為應對 FP8 狹窄的動態範圍,Transformer Engine 採用了精密的技術,如每個張量的動態縮放因子計算和延遲縮放策略,以確保訓練過程中的數值穩定性並防止梯度下溢或溢出。
  • NVIDIA 提供了 Apex(針對 FP16/BF16 混合精度)和 Transformer Engine(針對 FP8 及更高精度)等軟體函式庫,以簡化 PyTorch 和 JAX 等主流深度學習框架中的低精度訓練實作。

🛠️ 技術深入

  • FP8 數據類型變體:FP8 實際上包含兩種不同的數據類型,針對神經網路訓練的不同階段進行優化。E4M3(1 個符號位、4 個指數位、3 個尾數位)提供較窄的動態範圍但較高精度,通常用於前向傳播的激活值和權重。E5M2(1 個符號位、5 個指數位、2 個尾數位)具有較高的動態範圍但精度較低,通常用於反向傳播的梯度。
  • Transformer Engine 的核心機制:該函式庫透過以下方式實現 FP8 訓練的實用性:
    • 每個張量的動態縮放:在每次 GEMM 之前,根據張量的歷史最大絕對值計算縮放因子,將張量的實際範圍映射到 FP8 可表示的範圍內,以防止異常值破壞整個層。
    • amax 歷史追蹤:維護一個滾動的 amax 值歷史記錄,並從前一次迭代的統計數據計算縮放因子,以攤銷計算開銷。
    • 高效的 FP8 GEMM:直接透過 cuBLAS 呼叫 H100 第四代 Tensor Cores 中專用的 FP8 矩陣乘法單元。
  • 混合精度訓練方法:通常涉及將主權重和優化器狀態保持在較高精度(例如 BF16/FP32),而網路中的大部分運算則在較低精度(例如 FP16/FP8)下執行,並使用損失縮放(Loss Scaling)技術來防止梯度下溢。
  • Tensor Core 優化:為了最大限度地利用 Tensor Cores 的性能,建議將矩陣的形狀調整為 8x8 或 16x16 的瓦片單位。
  • NVFP4 格式:在 NVIDIA Blackwell GPU 上,Transformer Engine 還支援 MXFP8 和 NVFP4 格式,這些格式採用 4 位元表示,並結合分層的二級縮放策略,以實現更高的效率。

🔮 前景展望AI analysis grounded in cited sources

低精度訓練將持續朝向更低位元格式發展。
隨著 AI 模型規模的持續擴大,對記憶體和計算資源的需求將推動業界採用 FP8、NVFP4 甚至更低位元的精度格式,以維持模型訓練的可行性和效率。
硬體與軟體的協同設計將成為低精度訓練優化的關鍵。
管理極低精度訓練中的數值穩定性和動態範圍挑戰,需要專用硬體(如 Tensor Cores)和智慧軟體函式庫(如 Transformer Engine)之間更緊密的整合與協同作用。
更多大型語言模型將原生採用低精度進行預訓練。
由於 FP8 訓練已證明能在顯著提升吞吐量的同時保持與 BF16 相當的模型精度,原生低精度預訓練將成為降低成本和充分利用硬體性能的具吸引力選項。

時間線

2017-06
NVIDIA Volta 架構引入 Tensor Cores,支援 FP16 混合精度運算。
2018-12
NVIDIA 發布 Apex 函式庫,簡化 PyTorch 中的 FP16 混合精度訓練。
2020-05
NVIDIA Ampere 架構推出 TF32 精度,在保持 FP32 精度水準的同時提供接近 FP16 的速度。
2022-03
NVIDIA Hopper 架構(H100 GPU)發布,引入 Transformer Engine 和原生 FP8 支援,專為加速大型語言模型訓練設計。
2026-02
NVIDIA Blackwell 架構發布,進一步支援 MXFP8 和 NVFP4 等超低精度格式,以提升 AI 訓練和推論效率。
📰

AI 週報

閱讀本週精選 AI 大事摘要 →

👉相關動態

AI 策展新聞聚合。所有內容版權歸原始發布者所有。
原始來源: NVIDIA Developer Blog

這是摘要,不是原文。去看原站,或訂閱每週簡報。

每週 AI 簡報

每週一封,可隨時退訂。