GitHub Repo
Transformers 主分支加入 HSDP 設定,支援分片與副本混合訓練
Transformers 於 11 月 6 日的主分支提交中加入 HSDP,讓模型載入時可直接設定分片數與副本數。配套變更也調整梯度累積的同步時機,正式套件收錄情況與實際效能仍須確認。

Transformers 的主分支提交紀錄於 11 月 6 日列入 HSDP(混合分片資料平行)支援,並納入 Trainer 梯度累積的配套調整。對自行管理多節點訓練的團隊,這項變更讓模型載入流程能直接表達「每個副本分散到多少張 GPU、總共建立多少個副本」的配置。主分支提交紀錄
新增設定使用 DistributedConfig(dp_replicate_size=R, fsdp_size=F):參數分片至 F 個裝置,再複製為 R 組。提案以兩個節點、每節點兩張 GPU 為例,將兩項數值都設為 2,讓每個節點各承載一個分片副本;梯度先在副本內執行 reduce-scatter,再於副本間執行 all-reduce。HSDP 提案
這是既有分散式技術在 Transformers 載入介面的整合。PyTorch 的 FSDP2 已透過二維 DeviceMesh 表達相同結構:一個維度放置副本,另一個維度負責分片。工程上的價值在於能依 GPU 互連及節點拓樸配置通訊群組;實際吞吐量仍取決於模型大小、網路頻寬與記憶體餘裕,不能僅憑新增設定推定加速幅度。PyTorch 文件
配套的 Trainer 變更處理另一個整合問題:透過 DistributedConfig 在載入時完成分片的模型,並未由 Accelerate 包裝,原先的 accelerator.no_sync(model) 因而無法阻止每個微批次同步。新路徑在 HSDP 下只延後副本間的 all-reduce,保留副本內 reduce-scatter;一般 FSDP 則延後梯度同步,sync_each_batch=True 仍維持逐批同步。梯度累積提案
準備採用的團隊應先確認安裝版本是否包含相關提交,再量測通訊時間、峰值記憶體與訓練結果。公開 PR 頁面仍顯示較早的未合併或草稿狀態,與較新的主分支紀錄存在時間差;目前可確認的是主分支出現相關提交,尚不能據此認定正式發行版已提供完整支援。