GitHub Repo
Transformers 社群提出 ZeRO-3 載入修補,減少各程序重複讀取與轉換完整權重
10 月 14 日提出的 Transformers 修補,將非量化模型的 ZeRO-3 檢查點讀取與權重轉換集中至 rank 0,降低主機記憶體壓力。作者已附雙程序回歸測試與大型模型短程訓練結果,但提案尚未合併。

Hugging Face Transformers 社群於 10 月 14 日提出 PR #49584,處理 DeepSpeed ZeRO-3 載入非量化模型時,各分散式程序重複讀取完整檢查點、執行權重轉換的問題。截至查核時,提案仍開放,尚無審查通過或正式版本收錄資訊。修補提案
原始回報使用 Transformers 5.19.0.dev0,並以隨機初始化的雙層 Qwen3 MoE 提供最小重現:兩個 rank 都讀取三份權重檔並執行一次轉換,但後續只有 rank 0 將檢查點數值複製進模型。這些暫存張量並不屬於 ZeRO-3 已分片的模型參數,因此模型分片後,載入階段仍可能承受重複配置。問題回報與重現程式
官方文件說明,ZeRO-3 會分片參數、梯度及最佳化器狀態,也能將參數卸載至 CPU。這起案例提醒部署者:訓練期間的分片策略,仍須與初始化階段的主機記憶體需求分開評估。DeepSpeed ZeRO 文件
提案改由 rank 0 讀取及轉換權重,再廣播鍵名、形狀與資料型別;其他程序建立 meta 張量占位,沿用既有參數分配機制。未被 ZeRO-3 分片的 buffers 另行廣播,讀取與轉換錯誤也傳至其他 rank,避免程序卡在通訊等待。修補設計
作者回報,八裝置 GLM-5.3-Flash-BF16 測試中,修補版完成載入及十五步訓練,並附參數、buffers 一致性與失敗傳遞測試。不過,未修補執行被記憶體保護腳本提前停止,兩者不是完整峰值記憶體對照。工程師接下來應關注維護者審查、跨模型驗證與發布版本,並在自身環境量測載入成本。驗證結果與限制