![]()
![]()
![]()
DeepSpeed v0.18.8 于2026 年 3 月 13 日正式發布,這是一次以“修復問題 + 提升穩定性 + 改善開發與構建體驗”為核心目標的補丁版本。
該版本共包含9 次提交、16 個文件變更、260 行新增代碼、84 行刪除代碼,覆蓋訓練穩定性、日志控制、Evoformer 多架構支持、ZeRO Stage1/2/3、FP16 精度配置、NPU 構建、Async IO、測試與文檔等多個關鍵模塊。
本文將完全基于官方更新內容,對 DeepSpeed v0.18.8 的所有變更進行逐條拆解與系統化解讀,幫助你快速理解本次版本升級帶來的實際價值。
一、版本概覽與更新重點 1. 基本信息
?版本號:v0.18.8
?發布時間:2026 年 3 月 13 日
?版本類型:Patch Release(補丁版本)
本次 v0.18.8 主要聚焦以下幾個方面:
?日志與內存監控優化:減少無意義的日志噪音
?Evoformer Attention 多架構構建修復:解決編譯與調度根因
?FP16 loss_scale 校驗增強:避免隱性訓練錯誤
?ZeRO Stage1/2/3 穩定性改進:CUDA stream 與日志行為修復
?Bloom 模型推理測試修復
?華為 Ascend NPU Async IO 構建問題修復
?AI 編碼代理項目規范新增
?測試覆蓋增強
?版本號更新
多個 ZeRO 相關模塊中,see_memory_usage的日志調用被統一優化:
? 同一位置同時調用
force=True與force=False? 在 rank0 或非必要場景下避免重復打印
涉及模塊包括:
? ZeRO Offload
? ZeRO Stage3
? ZeRO Stage1 & Stage2
? 參數分區與卸載流程
?顯著減少控制臺日志噪音
?在大規模分布式訓練中提升可讀性
? 不影響原有內存調試能力
Bloom 推理容器在特定 Transformers 版本檢測邏輯中存在異常行為。
修復點
? 原邏輯在檢測到 Transformers 版本超過 4.43.4 時,使用了
sys.exit? 修復為直接拋出 RuntimeError
? 測試環境不再直接退出 Python 進程
? 錯誤提示更加友好、可捕獲
? CI 與自動化測試穩定性提升
在DeepSpeedFP16Config中,新增了對loss_scale的嚴格校驗邏輯。
新增校驗規則
? 不允許為
bool? 必須可轉換為數值
? 必須是有限值(禁止 inf / -inf / nan)
? 必須≥ 0
?
0表示啟用動態 loss scaling
? 覆蓋非法值:
-1、inf、nan、True? 覆蓋合法值:
0、1、2.0、字符串數值? 錯誤類型時,錯誤信息清晰明確
? 避免訓練過程中出現難以排查的數值異常
? 在配置階段即阻斷錯誤輸入
? 提升 FP16 訓練的安全性與可維護性
這是v0.18.8 中技術含量最高、影響最深遠的更新之一。
1. 多架構 dispatch 根因修復 核心變化
? 移除
CheckArch中對__CUDA_ARCH__的依賴? 修復多架構構建時的邏輯沖突
? 明確不同架構對 fp16 / bf16 的支持范圍
架構
fp16
bf16
Sm70
支持
不支持
Sm75
支持
不支持
Sm80+
支持
支持
2. DISPATCH_ARCHTAG 宏邏輯重構
? 不再依賴編譯期 GPU_ARCH 條件嵌套
? 運行期根據 CC 直接選擇 Sm70 / Sm75 / Sm80
? 不滿足 Tensor Core 條件直接報錯
? 多架構 CUDA slice 行為更一致
? 解決 Evoformer 在混合 GPU 環境下的異常構建問題
? 構建邏輯中不再讀取該環境變量
? 設置該變量時僅發出警告
?真正生效的構建控制方式為
TORCH_CUDA_ARCH_LIST
TORCH_CUDA_ARCH_LIST='7.0;8.0'4. Evoformer 構建文檔全面更新文檔明確說明:
? Evoformer 僅支持 SM ≥ 70
? Tensor Core 為必要條件
? 多架構構建完全依賴
TORCH_CUDA_ARCH_LIST? 低于 SM70 的目標會被自動裁剪
新增單元測試覆蓋:
? 低于 7.0 的 CC 被過濾
? +PTX 后綴正確保留
? 不再生成
-DGPU_ARCH編譯參數?
CheckArch中不再包含__CUDA_ARCH__
? 修正源文件列表中缺失的逗號
? 修復 CPU op 中對 NPU 判斷邏輯
? 避免 torch_npu 未聲明導致的構建失敗
? Ascend NPU 環境下 Async IO 可正常編譯
? 提升 DeepSpeed 在非 CUDA 平臺的可用性
? 使用
current_stream()替代default_stream()? 避免梯度歸約時的數據依賴問題
? CUDA Stream 同步更安全
? 減少潛在死鎖與性能異常
? 多處
print_rank_0重復 force 參數修復? see_memory_usage 行為統一
? 提升多卡訓練日志一致性
? 優化 optimizer state 初始化前后的內存日志
? 保持與 Stage3 行為一致
兩份文件內容完全一致,作為DeepSpeed 工作區級 AI 編碼規范。
核心規則包括:
? 提交必須帶 Signed-off-by
? 強制 yapf + flake8
? 禁止無意義格式化提交
? 新文件必須包含 Apache-2.0 License Header
? 不允許直接 import torch.distributed
? 刪除無運行時價值的死代碼
? 注釋強調“為什么”,而非“做什么”
? 明確 AI 編碼參與項目的行為邊界
? 降低 Review 成本
? 提升長期代碼質量與一致性
?
version.txt從0.18.7 → 0.18.8? 正式標志該補丁版本發布完成
代碼地址:github.com/deepspeedai/DeepSpeed
DeepSpeed v0.18.8 雖然是一個 Patch 級別更新,但從實際改動內容來看,v0.18.8 已經遠遠超出了“簡單修 Bug”的范疇,而是一次針對穩定性、可維護性與未來演進方向的系統性修正版本
我們相信人工智能為普通人提供了一種“增強工具”,并致力于分享全方位的AI知識。在這里,您可以找到最新的AI科普文章、工具評測、提升效率的秘籍以及行業洞察。 歡迎關注“福大大架構師每日一題”,發消息可獲得面試資料,讓AI助力您的未來發展。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.