这篇文章介绍了 Google 提出的 Decoupled DiLoCo:一种面向超大规模分布式预训练的弹性训练框架,核心目标是在硬件频繁故障、跨地域异构资源、带宽受限的条件下,仍然保持训练可持续推进,而不依赖所有设备严格同步。
文章先解释了传统 SPMD 数据并行的瓶颈:当集群规模扩大到数十万、乃至数百万块芯片时,即便单卡平均故障率不高,整体集群也会因为“规模效应”变得几乎持续在处理故障、重配置和等待。论文给出的模拟表明,在极大规模下,即便采用弹性机制,传统方案的有效吞吐率也会显著下降,大量时间消耗在同步等待和重配上,而不是有效计算。
Decoupled DiLoCo 的思路是把训练系统拆成多个相互独立的学习器(Learner),每个学习器可以自行训练,不需要等其他节点完全对齐;与此同时,引入一个运行在更稳定 CPU 资源上的同步器(Syncer),周期性收集各学习器的更新并做参数合并。关键设计包括:
- 最小法定数(Minimum Quorum):不必等待全部学习器,只要达到一定数量即可同步。
- 自适应宽限窗口(Adaptive Grace Window):在达到法定数后,短暂等待更多学习器赶上,以提升每轮合并质量。
- 按 token 加权的合并机制:避免不同速度的学习器在合并中贡献失衡。
- 平衡张量分片(Balanced Tensor Fragmentation):把参数拆成大小接近的碎片进行传输,平滑通信压力。
文章进一步展示了实验结果:在极高故障率、超大规模集群下,这种框架能够把有效吞吐率维持在较高水平;在模型质量方面,它在大参数稠密模型和多种文本/视觉基准上的表现,也能与传统数据并行训练保持接近,说明容错能力的提升并没有明显牺牲最终效果。对于混用不同代际芯片的场景,这套方法也能通过异步和宽限窗口机制保持稳定训练。
一个很重要的延伸价值,是它让“捡漏算力”成为可能:临时可用的机器、跨地区零散资源、不同时间段的闲置算力,都可以被纳入训练,而不必像传统数据并行那样为了接入新节点付出高昂同步代价。文章认为,这种“可用性优先”的训练范式,正在从研究思路变成下一代大规模模型基础设施的现实需求。