訓練一個千億引數的大模型,背後往往需要數千塊 GPU 同時工作。但分散式訓練有一個老問題:節點越多,通訊就越成為瓶頸。傳統的 All-Reduce 同步方式讓每個節點必須頻繁交換梯度,網路稍有波動就會拖慢整個叢集。DeepMind 最近在部落格中介紹的 Decoupled DiLoCo,就是針對這一難題給出的新方案。
從 DiLoCo 到 Decoupled DiLoCo:少點同步,多點韌性
去年 DeepMind 提出的 DiLoCo 已經是個突破——它讓分散式訓練中的節點可以獨立跑多個本地步後再同步,類似「非同步 + 週期同步」的折中。而 Decoupled DiLoCo 更進一步,把模型的優化器狀態和梯度更新徹底解耦。簡單說,每個工作節點在本地計算梯度後,不會立刻等待全域性平均,而是非同步傳送給一個引數伺服器。引數伺服器負責聚合,再逐步把更新推回來。這樣一來,任何單個節點的延遲都不會卡住整個流水線。
這種解耦帶來的最直接好處是彈性。如果某塊 GPU 因為網路抖動慢了半拍,其他節點不需要停下來等它。整個訓練過程就像一輛每個輪子能獨立調節轉速的車,而不是必須統一轉動的鏈條。對於跨資料中心訓練甚至混合雲場景,這種彈性格外重要——不同機房間的網路延遲可能相差幾個數量級。
對實際訓練的衝擊:從「能不能」到「怎麼省錢」
這項技術的實際影響主要體現在兩個方面。第一,它讓大規模訓練的門檻進一步降低。過去想用幾千張卡訓一個模型,需要極其精細的網路調優和昂貴的 InfiniBand 硬體。Decoupled DiLoCo 讓標準乙太網也能勝任,因為通訊負載被分散到更長的時間視窗裡。第二,它提升了訓練的魯棒性。硬體故障在超大規模叢集中是常態,傳統同步法一個節點掛了就得 checkpoint 回滾。而解耦架構允許動態增減節點,甚至中途更換硬體都不會中斷訓練。
對於研究機構或中小型 AI 公司來說,這意味著可以用更少的前期投入參與前沿模型訓練。你不需要租用那種「所有機器都在同一個機櫃」的專屬叢集,而是可以把分佈在不同地區的廉價算力組合起來——只要 Decoupled DiLoCo 能在網路不穩定的環境下保持效率。
- 通訊成本降低:相比全同步訓練,Decoupled DiLoCo 可減少 90% 以上的跨節點資料傳輸次數。
- 容錯性提升:單點故障不再導致全域性停機,訓練可以自動繞過壞節點繼續。
- 硬體要求放寬:不再強依賴超低延遲網路,普通資料中心網路即可執行大規模訓練。
還有哪些坑需要填?
當然,Decoupled DiLoCo 並不是魔法。解耦之後,引數更新的滯後性可能會引發穩定性問題,尤其是在學習率調得比較激進時。DeepMind 在部落格中提到,他們通過調整本地步數視窗和動量項來補償,但實際應用中仍需要針對具體模型做超引數搜尋。另外,引數伺服器自身會成為新的瓶頸——如果叢集規模太大,單臺引數伺服器可能扛不住。後面可能需要分片或樹形聚合架構來擴充套件。
整體來看,Decoupled DiLoCo 代表了一個清晰的方向:分散式訓練正在從「剛性同步」走向「柔性非同步」。它不是第一個提出解耦思路的工作,但通過實驗驗證了在千卡規模下的可行性,並且有 Google 自家的 TPU 和大型模型作為背書。
如果你正在搭建訓練叢集,可以先從小規模實驗開始:在 64 張卡以下的場景裡,全同步訓練可能更簡單。但假如計劃擴充套件到幾百張卡以上,或者必須利用跨地域的資源,那麼 Decoupled DiLoCo 的思路值得認真參考。關注 DeepMind 後續開源的程式碼和 benchmark 結果,會是下一步最有價值的行動。











評論
暫無評論
成為第一個評論的人