大模型训练可靠性革命:Decoupled DiLoCo将有效算力从40%飙升至86%,CAP定理颠覆SPMD范式

一、大模型预训练的可靠性危机:从 SPMD 的致命缺陷说起

1.1 SPMD 范式的紧耦合本质与可靠性瓶颈

论文明确指出:“随着计算规模的扩大,原本罕见的硬件故障变成了日常事件。对于需要运行数月的大模型预训练任务而言,频繁的中断会导致大量的停机时间和计算浪费。” 这一论断精准揭示了当前大模型训练基础设施的核心痛点。

当训练集群从数千芯片扩展到数十万甚至数百万芯片时,传统的单程序多数据(SPMD)范式所依赖的全局同步机制,已从效率保障沦为可靠性瓶颈。一个单一的硬件故障或慢节点,就会导致整个集群停滞。这种“一损俱损”的架构,在超大规模下已难以为继。

传统 SPMD 范式优先保证参数一致性,牺牲了可用性和分区容错性。此前的 DiLoCo 框架虽然通过间歇同步将总通信带宽需求降低了 H 倍,但本质上仍是同步的:所有学习者必须在同步点达成一致,无法解决慢节点和硬件故障导致的全局停滞问题。

注: H 是 DiLoCo 框架中的同步间隔(inner steps,本地迭代步数),即每个学习者(worker/learner)在独立数据分片上,用内部优化器(如 AdamW)连续执行的本地训练步数,每完成 H 步后才进行一次全局参数同步。SPMD 像“每走一步就集合一次”,DiLoCo 像“每走 H 步才集合一次”,但集合时仍要等所有人;Decoupled DiLoCo 则“各自走,不用等,到点再异步汇合”。

现代大语言模型的预训练几乎完全依赖 SPMD 范式,通过数据并行、张量并行和序列并行等技术,将计算任务分布到数千乃至数百万个加速器上。这种范式的核心特征是全局同步:每个训练步骤,所有加速器必须完成各自的计算,并通过集体通信操作(如 all-reduce)聚合梯度,才能进入下一步骤。

这种紧耦合设计,在集群规模较小时能提供较高的计算效率和模型一致性。但当集群规模扩大到数十万芯片时,可靠性问题变得异常突出。根据论文的计算,对于一个由 N 个芯片组成的集群,其整体平均无故障时间(MTBF)与芯片数量成反比:

[
text{MTBF}{text{集群}} = frac{text{MTBF}
]}}}{N

其中,(text{MTBF}_{text{单芯片}}) 是单个芯片的平均无故障时间,(N) 是集群中的芯片总数。

这个公式揭示了一个残酷的事实:集群的整体可靠性会随着芯片数量的增加而线性下降。

  • 假设单个芯片的 MTBF 为 1 年(这已是行业领先的可靠性水平),那么一个 10 万芯片的集群,整体 MTBF 仅为 5.256 分钟;
  • 一个 120 万芯片的集群,整体 MTBF 仅为 26.28 秒;
  • 而一个 240 万芯片的集群,整体 MTBF 更是只有 13.14 秒。

Decoupled DiLoCo(Distributed Low-Communication Training)for Resilient Distributed Pre-training
论文地址:https://arxiv.org/pdf/2604.21428
全文 1.6 万字,阅读约 80 分钟,播客约 20 分钟


二、Decoupled DiLoCo 的核心设计:打破锁步同步的异步架构

2.1 从 DiLoCo 到 Decoupled DiLoCo:从间歇同步到完全异步

Decoupled DiLoCo 的核心洞察在于将分布式系统的 CAP 定理类比应用到大模型预训练场景,提出预训练应优先考虑可用性和分区容错性,而非严格的参数一致性。通过将全局集群分解为独立的异步学习者,将硬件故障的影响范围严格限制在单个学习者内部,从而实现全局训练的不中断。

论文的实验数据令人震撼:

  • 在模拟的 240 万芯片集群中,即使单个芯片的平均无故障时间长达 1 年,传统弹性数据并行的有效算力也只有 40%,系统正常运行时间仅为 42%;
  • 而使用 16 个学习者的 Decoupled DiLoCo,有效算力达到 86%,系统正常运行时间高达 99%。

更重要的是,在如此极端的故障条件下,Decoupled DiLoCo 训练出的模型在文本和多模态任务上的性能,与无故障环境下的数据并行训练几乎完全一致。

本文将解读 Decoupled DiLoCo 的核心设计、关键技术细节、系统架构实现以及全面的实验验证,分析其对未来大模型训练范式的深远影响。


本文目录

  • 一、大模型预训练的可靠性危机:从 SPMD 的致命缺陷说起
  • 1.1 SPMD 范式的紧耦合本质与可靠性瓶颈
  • 1.2 从 CAP 定理看预训练的权衡困境
  • 1.3 现有弹性训练方法的局限性
  • 二、Decoupled DiLoCo 的核心设计:打破锁步同步的异步架构
  • 2.1 从 DiLoCo 到 Decoupled DiLoCo:从间歇同步到完全异步
  • 2.2 核心架构:独立学习者与中央同步器
  • 2.3 训练流程概览:算法 1 与算法 2 的协同
  • 三、关键技术细节:从最小法定人数到径向方向平均
  • 3.1 最小法定人数与自适应宽限期
  • 3.2 动态 token 加权合并机制
  • 3.3 径向方向平均(RDA):解决多学习者合并的梯度衰减问题
  • 3.4 平衡张量分片:优化带宽利用率
  • 四、系统架构实现:基于 Pathways 的参数服务器设计
  • 4.1 基于 Pathways 的资源编排
  • 4.2 学习者与同步器的职责分离
  • 4.3 状态协调与分布式检查点
  • 4.4 分布式学习者恢复机制
  • 五、实验验证:混沌工程下的极致鲁棒性与性能等价性
  • 5.1 混沌工程实验设计:模拟百万级芯片故障
  • 5.2 鲁棒性验证:有效算力与系统正常运行时间
  • 5.3 模型性能等价性:文本与多模态任务评估
  • 5.4 扩展能力:异构硬件与计算 scavenging
  • 5.5 可扩展性:从 2B 到 9B 参数的规模验证
  • 六、相关工作:分布式训练范式的演进与局限
  • 6.1 传统分布式训练方法:从数据并行到张量并行
  • 6.2 DiLoCo 及其变体:低通信量训练的演进
  • 6.3 异步与容错训练的相关研究
  • 6.4 本文工作的比较优势
  • 七、结论与展望
  • 7.1 结论总结
  • 7.2 进阶分析:方法的边界条件与潜在局限
  • 7.3 未来工作

这意味着,在一个拥有百万级芯片的集群里,平均每隔十几秒就会有一块硬件出现故障。

对于需要持续运行3到6个月的大模型预训练来说,如此高频率的故障无疑会造成灾难性的算力浪费。每次故障发生后,传统的SPMD系统必须停止所有运算,找出故障节点,重新调整集群结构,然后从最近的检查点恢复训练。这个过程往往需要几分钟甚至几十分钟。而在超大规模集群中,故障发生的频率已经超过了系统恢复的速度,导致有效算力的利用率急剧下滑。

1.2 从 CAP 定理看预训练的权衡困境

论文作者创新性地将分布式系统中的 CAP 定理类比应用到大型模型预训练场景中,为我们理解不同训练范式的权衡取舍提供了清晰的理论框架。在预训练场景下,CAP 三个属性的定义如下:

  • 一致性(C): 每个加速器都维护着全局同步的模型权重视图。
  • 可用性(A): 在出现硬件故障时,训练能够继续进行。
  • 分区容错性(P): 在存在互连不稳定或通信延迟的情况下,训练能够继续进行。

传统的 SPMD 范式本质上是一个 CP 系统:它牺牲了可用性和分区容错性,来换取严格的一致性。所有加速器必须在每一步都达成共识,任何一个节点的故障或通信延迟,都会导致整个系统陷入不可用状态。

近年来兴起的弹性训练方法,例如谷歌 Gemini 团队提出的切片粒度弹性,试图在保持数据一致性的前提下提升系统的可用性。 当故障发生时,系统会自动移除故障节点,在剩余的健康节点上继续训练。然而,这种方法依然依赖全局同步,故障检测和集群重配置的开销仍然巨大,并且随着集群规模的扩大,这种开销会越来越高。

图 1:切片粒度弹性与解耦的对比:当发生局部故障时,系统使用更少的TPU芯片“切片”继续训练。当故障影响到M个副本中的1个时,解耦方法允许系统中其他M-1/M个副本继续执行步骤。 这张图清晰地展示了弹性数据并行与Decoupled DiLoCo在故障处理上的本质区别。弹性数据并行在故障发生后,需要停止所有计算,重新配置集群,然后才能继续训练,导致明显的训练间隙。而Decoupled DiLoCo则允许其他健康的学习者继续训练,完全没有停机时间,只有故障的学习者暂时停止贡献。

1.3 现有弹性训练方法的局限性

尽管弹性训练方法在一定程度上提升了系统的可用性,但它们仍然存在几个根本性的局限

  • 首先,弹性训练的故障检测和集群重配置开销不容忽视。 在大规模集群中,检测故障节点需要一定时间,而重新分配计算任务、重建通信拓扑、加载模型状态等操作,可能需要几分钟甚至更长时间。在故障频繁发生的环境下,这些开销会不断累积,导致有效算力利用率大幅下降。
  • 其次,弹性训练依然依赖全局同步,慢节点(straggler)问题依然存在。 即使没有发生硬件故障,芯片间的性能差异、网络拥塞、负载不均衡等因素,总会导致某些节点的计算速度慢于其他节点。在全局同步的范式下,整个集群的速度会被最慢的节点拖累,造成大量计算资源的浪费。
  • 最后,弹性训练无法很好地支持异构硬件和地理分布式计算。 不同代际的芯片性能差异巨大,很难在同一个 SPMD 集群中高效协同工作。而地理分布式计算会引入极高的通信延迟,这对需要频繁全局同步的 SPMD 范式来说,几乎不可行。

传统 SPMD 范式及其弹性扩展,在超大规模下已经面临无法逾越的可靠性瓶颈。其 根本原因在于,它们都坚持严格的参数一致性,牺牲了可用性和分区容错性。 要解决这个问题,必须从根本上改变训练范式,优先考虑可用性和分区容错性,并接受一定程度的参数不一致性。

二、Decoupled DiLoCo 的核心设计:打破锁步同步的异步架构

2.1 从 DiLoCo 到 Decoupled DiLoCo:从间歇同步到完全异步

Decoupled DiLoCo 是在 DiLoCo(Distributed Low-Communication Training)框架的基础上发展而来的。DiLoCo 最初由谷歌在 2024 年提出,其核心思想是通过间歇同步来降低通信带宽需求。

在传统的数据并行训练中,每个步骤都需要同步梯度。而在 DiLoCo 中,训练被划分为多个“内循环”和“外循环”

  • 每个学习者(learner)在本地独立执行 个内循环步骤,使用本地数据和内优化器(如 AdamW)更新本地模型参数。
  • 然后,在每 个步骤的外循环同步点,所有学习者将本地参数的变化量(称为外梯度)发送给其他学习者,通过外优化器(如带动量的 SGD)更新全局模型参数。

DiLoCo 的原始公式如下:

其中, 是学习者 m 在步骤 t 的本地参数, 是学习者 m 在过去 H 个步骤的外梯度, 是聚合后的全局外梯度, 是外优化器。

DiLoCo 通过将同步频率从每步一次降低到每 H 步一次,将总通信带宽需求减少了 H 倍。随后提出的 Streaming DiLoCo,进一步将模型参数划分为 P 个片段(fragment),每个片段在不同的步骤同步,从而将峰值带宽需求也减少了 H 倍。

然而,无论是原始的 DiLoCo 还是 Streaming DiLoCo,本质上依然是同步的。它们都要求所有学习者在同步点必须完成各自的内循环步骤,并发送外梯度。如果有一个学习者发生故障或速度很慢,整个外循环同步就会被阻塞,导致所有学习者都无法继续训练。这就是 DiLoCo 在超大规模下仍然面临可靠性问题的根本原因。

Decoupled DiLoCo 的核心突破,就是彻底打破了这种锁步同步机制,将同步从阻塞式的全局交换,转变为非阻塞式的异步通信。学习者之间不再需要相互等待,而是独立地执行本地训练步骤,并异步地与中央同步器(syncer)交换参数片段。

2.2 核心架构:独立学习者与中央同步器

Decoupled DiLoCo 的整体架构非常简洁,由 M 个独立的学习者和一个中央同步器组成。

每个学习者都是一个独立的训练单元,拥有自己的模型副本、内优化器和数据分片。学习者之间不直接通信,也不相互等待,完全独立地执行本地训练步骤。

中央同步器负责接收来自各个学习者的参数片段更新,聚合这些更新,然后将聚合后的全局参数片段【异步】地广播回所有学习者。同步器不参与任何训练计算,【只】负责参数的聚合和分发, 因此其计算和内存开销都非常小,可以运行在普通的 CPU 服务器上。

图 2:Decoupled DiLoCo示意图。为了便于说明,这里展示了一个简单的例子,有M=2个学习者,P=3个片段,每步同步(H=3),并在τ=2个步骤上重叠。第二个学习者停滞了三个步骤,但整体训练从未停止。一旦故障学习者继续训练,所有错过的更新都会应用到它的状态上。 这张图直观地展示了Decoupled DiLoCo的容错能力。故障的影响被严格限制在单个学习者内部,其他健康的学习者可以继续训练,完全不受影响。当故障学习者恢复后,它会自动从同步器获取最新的参数,无缝地重新加入训练。

如图 2 所示,这是一个简单的示例,有 M=2 个学习者,P=3 个参数片段,同步间隔 H=3,通信重叠 τ=2 个步骤。当第二个学习者停滞了 3 个步骤时,整个训练过程并没有停止。 第一个学习者继续执行本地步骤,并与同步器交换参数片段。当第二个学习者恢复后,它会从同步器获取错过的所有更新,然后继续训练。

2.3 训练流程概览:算法 1 与算法 2 的协同

Decoupled DiLoCo 的训练流程由两个独立的算法协同完成:算法 1 描述了学习者的本地训练过程,算法 2 描述了同步器的全局聚合过程。

算法 1(学习者)的核心流程如下:

好的,遵照您的要求,我将以专业资深主编和高级改写专家的身份,对给定的文章片段进行深度重写与降重,严格遵循所有规则。

算法 1:解耦 DiLoCo – 学习者流程

  1. 设定本地模型参数、内部优化器及各类计数器的初始状态。
  2. 循环执行以下子步骤,直至达到预设的全局训练步数:
    a. 从本地数据分片中抽取一个批次的数据。
    b. 执行前向与反向传播,计算出梯度。
    c. 采用内部优化器对本地模型参数进行更新。
    d. 更新本地步数计数器、各参数片段的步数计数器以及 token 计数器。
    e. 将本地元数据(包括步数、各片段步数及 token 数)异步发送至同步器。
    f. 检查是否接收到来自同步器的更新参数片段。若收到,则更新本地模型参数,并重置相应的计数器。
    g. 更新由同步器提供的全局步数计数器。

该算法的核心逻辑在于“独立本地优化 + 异步通信”。学习者独立执行 AdamW 等内部优化任务,无需等待其他节点;定期发送元数据,并异步接收来自同步器的更新。通过本地计数器追踪步数与 token 数,动态调控同步时机。此算法打破了同步训练中“锁步”的依赖关系,隔离了故障域,确保单个学习者的失效不会波及全局,是实现解耦架构、保障训练高可用性的核心执行逻辑。

算法 2(同步器)核心流程

  1. 设定全局模型参数、外部优化器及全局步数计数器的初始状态。
  2. 循环执行以下子步骤,直至达到预设的全局训练步数:
    a. 对于每个参数片段 i,若当前步骤 t 满足 t % S_i == 0(其中 S_i 是片段 i 的同步偏移量),则执行:
    i. 等待至少 K 个学习者发送元数据(K 为最小法定人数)。
    ii. 从这 K 个学习者处拉取相应的参数片段。
    iii. 依据每个学习者的 token 数 n_t 和步数 n_s,计算动态权重 w
    iv. 聚合这些参数片段,计算出全局外梯度 G
    v. 使用外部优化器更新全局参数片段:θ_global = Optimizer(θ_global, G)
    vi. 将更新后的全局参数片段 θ_global 异步广播给所有学习者。
    b. 递增全局步数计数器:t = t + 1

此处关键设计在于最小法定人数 K。同步器无需等待全部 M 个学习者,仅需收集至少 K 个学习者的元数据即可执行聚合。任何离线或缓慢的学习者都将被本次聚合排除在外,从而保障全局训练不被阻塞。

该算法的核心在于“最小仲裁 + 自适应聚合”。同步器在收集到 K 个学习者的更新后,通过动态权重聚合(基于 token 加权)和径向方向平均合并梯度。自适应预留窗口提升了样本效率,并通过外部优化器更新全局参数。此算法放弃了全局一致性,优先保障可用性,使其能适配高故障率、异构的环境,平衡训练效率与模型性能,是解耦 DiLoCo 实现容错与性能平衡的核心控制逻辑。

通过将全局集群分解为独立的异步学习者,并引入中央同步器与最小法定人数机制,Decoupled DiLoCo 从根本上突破了传统 SPMD 范式中“锁步同步”的瓶颈。硬件故障的影响范围被严格限制在单个学习者内部,从而实现了全局训练的高可用性与高容错性。

三、关键技术细节:从最小法定人数到径向方向平均

3.1 最小法定人数与自适应宽限期

最小法定人数 K 是 Decoupled DiLoCo 中最重要的超参数之一,它决定了同步器在执行一次聚合操作时,至少需要等待多少个学习者的响应。

K 的取值是一个权衡:
* 若 K 设置过小(例如 K=1),同步器会极快地执行聚合,系统可用性高,但每次聚合仅利用少数学习者的更新,可能导致外梯度方差较大,影响模型性能。
* 若 K 设置过大(例如 K=M),系统将退化为同步 DiLoCo,可用性降低,但外梯度方差较小,模型性能更稳定。

为在可用性与模型性能间取得更优平衡,论文提出了自适应宽限期机制。当同步器收集到 K 个学习者的响应后,不会立即聚合,而是等待一个额外的宽限期 W,以观察是否有更多学习者能在此期间发送响应。若有,则将它们也纳入本次聚合。

该宽限期的长度并非固定,而是根据系统实际负载动态调整。论文定义了可用的空闲时间 T_idle
T_idle = T_overlap - (T_K - T_min)
其中,T_overlap 是通信重叠的步数,T_min 是一个训练步骤的平均时长,T_K 是收集到 K 个学习者响应的平均时长,T_sync 是同步一个参数片段的平均时长。
宽限期 W 被设置为不超过 T_idle - T_sync * α,其中 α 是一个安全系数。这保证了即便加上宽限期,整个同步过程也能在 T_overlap 步内完成,不会阻塞后续训练。

图 3:自适应法定人数宽限期在可用空闲时间内的示意图。 此图展示了自适应宽限期的工作原理。当同步器收集到 K 个学习者的响应后,会利用通信重叠带来的空闲时间等待更多学习者加入。这样可在不牺牲系统可用性的前提下,纳入更多学习者更新,降低外梯度方差,提升模型性能。

论文实验表明,使用 K=2 加上自适应宽限期的组合,效果优于使用更大的固定 K 值。它既能保障系统的高可用性,又能在大多数情况下纳入足够多的学习者更新,维持模型性能的稳定。

3.2 动态 Token 加权合并机制

在完全异步的系统中,不同学习者处理数据的速度可能存在显著差异。快的学习者在两次同步间会比慢的或正在恢复的学习者处理更多数据。若在聚合时对所有学习者的更新赋予相同权重,快学习者的贡献将被低估,而慢学习者的贡献将被高估,导致外梯度产生偏差,影响模型性能。

为解决此问题,论文提出了动态 Token 加权合并机制。同步器会根据每个学习者自上次同步以来处理的 token 数和步数,计算一个动态权重 w_i
w_i = n_token_i * (n_token_i / n_step_i)
其中,n_token_i 是学习者 i 自上次同步片段 p 以来处理的 token 数,n_step_i 是学习者 i 自上次同步片段 p 以来执行的步数。

此权重可直观理解为“数量 × 质量”。数量部分为处理的 token 数,处理越多,贡献越大。质量部分为每步处理的 token 数(即 token 吞吐量),吞吐量越高,说明学习者的训练效率越高,其更新质量也越高。通过此动态加权机制,快的学习者获得更高权重,慢的学习者权重较低,从而保证聚合后的外梯度能准确反映所有学习者的实际贡献。

3.3 径向方向平均(RDA):解决多学习者合并的梯度衰减问题

当学习者数量 M 增加时,直接平均外梯度会导致严重的梯度衰减问题。

论文作者通过实验观察到,不同学习者的外梯度之间几乎两两正交。若每个外梯度的范数是 ||g||,那么 M 个正交向量的平均值的范数约为 ||g|| / √M。这意味着,随着 M 的增加,聚合后外梯度的范数以 1/√M 的速度衰减。为保持模型性能,需重新调整外部优化器的学习率,这增加了超参数调优的难度。

为解决此问题,论文提出了一种新的合并方法:径向方向平均(Radial-Directional Averaging,RDA)。RDA 的核心思想是分别平均外梯度的范数和方向,而非直接平均外梯度向量本身。

RDA 的公式如下:
g_agg = (1/M * Σ ||g_i||) * unit(Σ unit(g_i))
其中,unit(x) 是将向量 x 归一化为单位向量的函数。

简言之,RDA 首先将每个外梯度向量归一化,得到它们的方向;然后平均这些方向,得到平均方向;再将平均方向归一化,得到单位平均方向;最后,将所有外梯度的范数的平均值,乘以单位平均方向,得到最终的聚合外梯度。

这样做的好处是,聚合后外梯度的范数等于所有外梯度范数的平均值,与学习者数量 M 无关。 这解决了梯度衰减问题,使得外部优化器的学习率无需随 M 的增加而调整,极大地提升了超参数的稳定性。

论文实验发现,对于非嵌入层参数,使用 RDA 的效果明显优于直接平均。而对于嵌入层参数,直接平均的效果更好。因此,在最终实现中,论文对嵌入层使用直接平均,对其他层使用 RDA。

3.4 平衡张量分片:优化带宽利用率

Decoupled DiLoCo 继承了 Streaming DiLoCo 的参数分片思想,将模型参数划分为 P 个片段,每个片段在不同的步骤同步。参数分片策略直接影响系统的带宽利用率和模型性能。

论文比较了三种不同的分片策略:层分片、张量分片和平衡张量分片

深度重写与降重版本

在模型参数的划分上,存在几种不同的策略,它们各有优劣。

  • 层分片策略:该策略以模型的层级结构为基准进行切分。例如,可以将每一个 Transformer 层视为一个独立的片段,或者将连续的多个层组合成一个片段。其优势在于实现直观,且与模型的天然结构高度契合。然而,其显著的弊端在于:当模型的层数少于同步间隔(H)时,某些训练步骤将无法进行参数同步,从而引发通信的突发性激增,导致峰值带宽急剧升高。

  • 张量分片策略:此策略依据模型中的张量来划分片段。具体做法是将所有非 Transformer 类型的张量归入第一个片段,随后将 Transformer 层的张量依据其索引有序地分组,形成多个片段。这种方法确保了每个训练步骤都能执行同步操作,有效避免了通信的突发性。但它的不足也很明显:不同张量的大小可能相差悬殊,这会导致各个片段的大小极不均衡,使得峰值带宽依然维持在较高水平。

  • 平衡张量分片策略:这是论文中提出的一种创新性分片方案。它采用贪心装箱算法,首先对模型中的所有张量按大小进行排序,然后依次将它们放入 N 个“箱子”中。在放入每个张量时,算法会选择当前总大小最小的那个箱子。通过这种方式,可以最大限度地保证各个片段的大小趋于均衡。

图 8 直观地对比了这三种参数分片策略下的通信模式。分层分片(a)因 H 值大于层数,在 t=2 和 t=4 时没有片段被发送到同步器,从而导致了通信突发和潜在的高峰值带宽。普通张量分片(b)虽然每个步骤都有片段发送,但片段大小差异显著,峰值带宽依然可能很高。而平衡张量分片(c)则通过贪心打包,使得每个步骤发送的片段大小大致相等,从而显著降低了峰值带宽,并彻底避免了突发通信。

论文通过大量实验证实,这三种分片策略对模型最终性能的影响微乎其微。然而,平衡张量分片凭借其最低的峰值带宽和最均衡的带宽占用,成为了最优选择。

Decoupled DiLoCo 正是凭借这些精心设计的技术细节,在确保高可用性的同时,维持了与同步训练几乎无异的模型性能。自适应宽限期巧妙地平衡了可用性与梯度方差,动态 Token 加权有效解决了异步系统中的速度差异,RDA 克服了多学习者合并时的梯度衰减问题,而平衡张量分片则极大地优化了带宽利用率。

四、系统架构实现:基于 Pathways 的参数服务器设计

4.1 基于 Pathways 的资源编排

Decoupled DiLoCo 的系统实现建立在谷歌 Pathways 框架之上。Pathways 是谷歌于 2022 年推出的下一代机器学习系统, 其核心目标是支持异步分布式数据流,能够高效利用异构计算资源,并具备强大的容错能力。

Pathways 全面负责整个系统的资源分配、设备网格构建以及工作节点间的数据流管理。 每个学习者和同步器工作节点,都由一个独立的 Pathways 客户端驱动。这种设计避免了单个多线程客户端成为系统瓶颈,同时使得各个工作节点能够独立执行任务,互不干扰。

这种基于 Pathways 的架构,使 Decoupled DiLoCo 能够无缝集成到谷歌现有的机器学习基础设施中,并充分利用 Pathways 提供的异步执行、容错和资源管理能力。

4.2 学习者与同步器的职责分离

在 Decoupled DiLoCo 的系统架构中,学习者和同步器的职责被严格区分,各自专注于其核心任务。

学习者工作节点运行在 TPU 加速器上,每个学习者都是一个独立的数据并行训练任务。如果整个集群能够支持 R 个数据并行副本,那么每个学习者就运行 R/M 个副本。每个学习者独立地编译和初始化自己的模型,从分配给自己的数据分片中加载数据,并执行内优化步骤。

学习者之间是完全隔离的,它们不共享任何加速器资源,也不进行直接通信。 只有在学习者恢复的特殊情况下,一个学习者才会从另一个健康的学习者那里获取最新的模型状态。 这种隔离是解耦和故障域隔离的基础:一个学习者中的硬件故障或慢节点,不会对其他学习者产生任何影响。

同步器工作节点运行在普通的 CPU 服务器上,它维护着全局模型参数和外优化器状态。同步器的主要任务是接收来自学习者的参数片段,聚合这些片段,然后将更新后的全局参数片段广播回学习者。由于同步器只处理参数和优化器状态,不处理任何激活值,且只执行简单的元素级操作,因此其计算和内存开销都非常小。

同步器被划分为 M 个分片,每个分片对应一个学习者。

图 4:Decoupled DiLoCo系统架构概述。每个学习者工作节点在加速器网格的一个分区上运行独立的数据并行训练循环。学习者工作节点通过数据中心网络(DCN)向同步器发送参数片段,并接收经过外优化的更新。同步器在仅CPU的副本上进行M路分片,并执行外优化步骤。学习者工作节点可能暂时不可用(这里是学习者#2),但它们对应的同步器分片仍然存在,从而能够动态调整活跃学习者的数量。在每个步骤之后,更新后的学习者模型被复制到与学习者TPU共置的主机CPU的RAM中。这使得同步器可以在学习者继续执行内优化步骤的同时,选择要通过数据中心网络传输的片段,而不需要在HBM上额外复制模型。 这张图详细展示了Decoupled DiLoCo的系统架构。学习者运行在TPU上,同步器运行在CPU上,两者通过数据中心网络通信。模型参数在每个步骤后从TPU的HBM复制到主机CPU的RAM,这样同步器可以在不干扰TPU计算的情况下,拉取需要的参数片段,实现了计算和通信的完全重叠。

如图 4 所示,即使某个学习者暂时不可用(例如发生了硬件故障),它对应的同步器分片仍然存在。当学习者恢复后,它可以直接从对应的同步器分片获取最新的参数。这种设计使得系统能够动态调整活跃学习者的数量,而无需修改同步器的配置或重启同步器。

4.3 状态协调与分布式检查点

在分布式系统中,状态协调和检查点是至关重要的功能。Decoupled DiLoCo 使用向量时钟(vector clock)来协调各个工作节点之间的状态。

每个工作节点(学习者和同步器)都维护一个向量时钟,记录自己的本地步数,以及它所知道的其他所有工作节点的最新步数。当工作节点之间发送消息时,会将自己的当前向量时钟附加在消息上。

向量时钟是许多可靠系统操作的基础,包括通道水印(用于垃圾回收旧状态)、一致的全局检查点(通过 Chandy-Lamport 分布式快照算法),以及非确定性训练运行的日志记录(用于确定性重放)。

为了实现一致的分布式检查点,系统使用了 Chandy-Lamport 算法。当同步器的本地步数满足检查点间隔时,它会启动一个快照。同步器首先保存自己的当前状态,然后向所有学习者发送一个快照标记。当学习者收到快照标记时,它会保存自己的当前状态,然后向同步器发送一个确认消息。同步器在收到所有活跃学习者的确认消息后,就完成了一次一致的全局检查点。

这种异步检查点机制不会阻塞训练的进行,而且能够保证检查点的一致性。当系统发生严重故障需要恢复时,可以从最近的一致检查点重新开始训练。

4.4 分布式学习者恢复机制

当一个学习者发生故障或长时间停滞,然后重新加入训练时,需要一个高效的恢复机制,将其模型状态更新到最新。

Decoupled DiLoCo 的学习者恢复机制非常高效,且不会阻塞其他学习者的训练。当一个恢复的学习者重新连接到同步器时,它会首先等待同步器的下一个片段同步,获取同步器的最新向量时钟。然后,它会连接到一个健康的对等学习者,发送该向量时钟作为恢复请求。

健康的对等学习者会在自己也观察到来自同步器的该向量时钟之后,将自己的本地模型参数和内部优化器状态发送给恢复的学习者。在传输过程中,恢复的学习者会缓存所有来自同步器的片段更新。当传输完成后,恢复的学习者会重放这些缓存的更新,将自己的状态更新到最新,然后立即开始参与训练。

这种恢复机制的最大优点是,它不会阻塞其他学习者的训练,而且恢复过程中的状态传输是异步进行的。 论文中证明,只要状态传输的时间不超过 H 个步骤,恢复的学习者的状态陈旧性就不会超过正常学习者的状态陈旧性,因此不会对模型性能产生负面影响。

Decoupled DiLoCo 的系统架构充分利用了 Pathways 框架的异步执行能力,通过将学习器与同步器的职责分离、实现故障域隔离、利用向量时钟进行状态协调,并配备高效的学习器恢复机制,构建起一个兼具高可用性、高容错性与可扩展性的分布式训练系统。

五、实验验证:混沌工程下的极致鲁棒性与性能等价性

5.1 混沌工程实验设计:模拟百万级芯片故障

为了严谨地检验 Decoupled DiLoCo 的鲁棒性,论文作者将混沌工程的原则引入到大模型预训练流程中。混沌工程是一种通过主动注入故障来测试系统韧性的方法论,其最初设计目的是验证通用基础设施的可靠性。

论文作者将大模型训练过程中可能出现的各类硬件故障,归纳为五个核心参数:

  • 单个芯片的平均无故障时间(MTBF_chip)
  • 模拟的芯片总数()
  • 每个芯片的处理速度方差()
  • 弹性缩容与扩容所需的时间()
  • 故障芯片重新上线所需的时间()

为了模拟超大规模集群的故障场景,论文作者采用了一个离散事件模拟器,用于生成合成的事件磁带。事件磁带完整记录了所有故障、恢复及速度变化事件。在实验过程中,系统会依据事件磁带中的记录,模拟相应的故障情况。

故障的发生时间遵循泊松分布,其参数为集群整体 MTBF 的倒数。故障的持续时长则服从指数化的威布尔分布。当某个芯片发生故障时,它所在的整个切片会被暂时移除,直到该故障被修复。

论文中使用的主要评估指标是有效算力,即集群实际用于执行有效训练步骤的时间占总分配时间的百分比。有效算力越高,说明系统的资源利用率越高,浪费的计算时间越少。

5.2 鲁棒性验证:有效算力与系统正常运行时间

论文首先在模拟的不同规模集群上,对比了 Decoupled DiLoCo 与传统弹性数据并行的有效算力和系统正常运行时间。

实验中,单个芯片的 MTBI 被设定为 1 年,模拟的芯片数量范围从 15 万到 240 万不等。学习器的数量 M 从 1 到 16,其中 M=1 对应传统的数据并行。

实验结果记录在表 1 中。

表 1:在固定的 MTBI_chip=1 年模拟硬件故障水平下,不同数量的解耦学习器 M 和不同数量的模拟芯片 N_chip 的假设配置的模型化有效算力和系统正常运行时间。此处假设所有芯片的速度恒定。注意,M=1 个学习器等价于数据并行。(a)算力利用率:集群有效算力占比;(b)系统在线率:集群执行训练时间占比。不同学习器数、芯片数下的模拟结果(单芯片 MTBI=1 年)。

从表 1 可以看出,传统的数据并行,即便具备弹性机制,其有效算力也会随着集群规模的扩大而急剧下滑。在 240 万芯片的规模下,弹性数据并行的有效算力仅为 40%,系统正常运行时间也只有 42%。而没有弹性机制的数据并行,有效算力更是低至 18%,系统正常运行时间同样只有 18%。

与之形成鲜明对比的是,Decoupled DiLoCo 的有效算力和系统正常运行时间,会随着学习器数量 M 的增加而显著提升。

  • 当 M=16 时,在 240 万芯片的规模下,有效算力达到了 86%,系统正常运行时间高达 99%。
  • 当 M=8 时,在 120 万芯片的规模下,系统正常运行时间几乎达到了 100%,没有任何停机时间。

论文还总结出一个关于有效算力的经验法则:一个拥有 M 个学习器的系统,其有效算力相当于一个使用 M 倍更少芯片的单学习器系统的有效算力。即:

这个经验法则表明,通过增加学习器的数量 M,可以线性地提高系统在大规模集群下的有效算力。

5.3 模型性能等价性:文本与多模态任务评估

鲁棒性的提升绝不能以牺牲模型性能为代价。论文通过大量实验验证了,由 Decoupled DiLoCo 训练出的模型,在文本和多模态任务上的性能,与传统数据并行训练的模型相当。

实验采用了定制化的 Gemma 4 模型,训练数据是文本与视觉数据的混合。实验对比了 5B 参数的稠密模型,在不同故障条件下的下游任务表现。

图 5:硬件故障鲁棒性:解耦 DiLoCo 与弹性数据并行在硬件故障下的算力利用率、下游性能对比(5B 稠密模型,1T token 训练)。该图量化对比了两种架构在高频硬件故障下的核心表现。弹性数据并行的算力利用率骤降至 58%,模型性能出现小幅下滑;而解耦 DiLoCo 的算力利用率达到了 88%,其文本与视觉任务性能与无故障基线持平。这直观地验证了解耦架构在故障环境下的高效性,其异步聚合机制能在极低的算力损耗下保障模型质量。

实验结果记录在表 2 中。

表 2:模拟硬件故障对使用 1T token 训练的 5B 稠密模型 ML 性能的影响。在给定每个芯片固定 MTBI 的前提下,增加模拟芯片的数量会降低集群的 MTBF,从而导致更频繁的硬件故障。Decoupled DiLoCo 的 ML 性能不会因算法变化而下降,并且实现了显著更高的有效算力。

从表 2 可以看出,在没有硬件故障的情况下,Decoupled DiLoCo(M=8)的文本平均性能为 69.8,弹性数据并行为 70.1,两者几乎没有差异。在 120 万芯片、MTBI_chip=1 年的极端故障条件下,Decoupled DiLoCo 的文本平均性能依然达到 69.8,而弹性数据并行的文本平均性能为 69.7。在视觉任务上,两者的性能也几乎完全一致。

这表明,即使在非常频繁的硬件故障条件下,Decoupled DiLoCo 也能保持与数据并行相当的模型性能。这是一个极为重要的结论,它证明了优先考虑可用性和分区容错性,并接受一定程度的参数不一致性,并不会对最终的模型质量产生负面影响。

论文还验证了 Decoupled DiLoCo 在混合专家(MoE)模型上的性能。实验采用了 2.8B 激活参数的 MoE 模型,训练了 170B token。结果如表 3 所示,Decoupled DiLoCo 在 MoE 模型上也保持了与数据并行相当的性能。

表 3:170B token 训练的 2.8B 激活 MoE 模型,硬件故障对模型性能的影响。该表验证了解耦架构在 MoE 模型上的鲁棒性。MoE 模型稀疏且结构复杂,在高频故障下,解耦 DiLoCo 的性能与基线一致。学习器进行本地专家优化,全局异步聚合,能够很好地适配稀疏大模型的训练,且不牺牲模型的稀疏优势。

5.4 扩展能力:异构硬件与计算 scavenging

Decoupled DiLoCo 的异步架构使其能够非常自然地支持异构硬件和计算 scavenging(即利用临时可用的空闲计算资源)。

论文首先在异构硬件集群上进行了实验。该集群由 4 个运行在 TPUv5e 上的学习器和 4 个运行在 TPUv5p 上的学习器组成。由于硬件差异,最慢的学习器比最快的学习器慢了 18%。论文还人为地在所有学习器之间注入了额外 10% 的速度方差。

实验结果记录在表 5 中。

表 5:使用混合 TPUv6e 和 TPUv5p 的 Decoupled DiLoCo(M=8)训练的 2B 稠密模型(26B token)的异构硬件 ML 性能。在 TPUv5e 与 v5p 混合集群中,K=1 加上宽限期的性能与同步基线一致,没有出现速度瓶颈。动态权重与宽限期能够有效屏蔽硬件差异,适配多代芯片混合集群,从而降低硬件升级成本。

从表 5 可以看出:

  • 当使用 K=8(完全同步)时,系统的有效算力仅为 84%,文本平均性能为 54.4,视觉平均性能为 37.6。
  • 当使用 K=1(最小法定人数)但没有自适应宽限期时,系统的有效算力达到了 100%,但模型性能明显下降,文本平均性能仅为 51.4,视觉平均性能仅为 25.7。
  • 而当使用 K=1 加上自适应宽限期时,系统的有效算力依然保持在 100%,同时模型性能也恢复到了与完全同步相当的水平,文本平均性能为 55.3,视觉平均性能为 37.0。

这表明,自适应宽限期能够有效地掩盖异构硬件之间的速度差异,在保证高有效算力的同时,维持模型性能的稳定。

图 6:学习者步长不同时,法定人数 K=8、K=1、K=1 + 自适应宽限期下的 XLA 操作。可见带宽与硬件异构时,始终有学习者在执行训练。该图用 XLA 时序图直观呈现不同法定人数策略的运行状态。K=8 时同步阻塞、存在空闲间隙;K=1 无阻塞但同步频繁;K=1 + 宽限期兼顾效率与聚合质量。异构硬件下始终有学习者运行,实现算力满负载,适配多代芯片混合集群,最大化训练吞吐。

接下来,论文对 Decoupled DiLoCo 在计算 scavenging 方面的能力进行了验证。

在实验中,基础学习者数量设定为 4 个。在训练过程中,会间歇性地将学习者数量增加到 5、6、8 或 16 个,以此来模拟昼夜周期中计算资源可用性的动态变化。

实验结果记录在表 4 中。

表 4:随着更多 TPU 在分布式位置被 scavenge,使用 Decoupled DiLoCo 和数据并行训练的 2B 稠密模型(128B token)的等 FLOPs scavenging 实验。所有运行共享相同的 FLOPs 和 token 预算,因此 scavenging 允许更早完成。scavenged 的计算在每次运行中可用于一半的 FLOPs,因此相对训练时间的下限是 0.5×。

从表 4 中可以清晰地看到,Decoupled DiLoCo 能够极其高效地利用 scavenged 的计算资源。当额外的计算资源被 scavenging 时,Decoupled DiLoCo 的训练时间显著缩短,而数据并行的训练时间仅略微减少。同时,Decoupled DiLoCo 的模型性能不仅没有任何下降,甚至还有小幅提升。

这背后的原因是,数据并行在增加副本数量时,必须暂停训练,将当前的模型状态传输给新副本,这一过程会产生巨大的开销。相比之下,Decoupled DiLoCo 能够无缝地引入新的学习者,既无需中断训练,也无需传输完整的模型状态,因此能更充分地利用临时可用的计算资源。

5.5 可扩展性:从 2B 到 9B 参数的规模验证

最后,论文验证了 Decoupled DiLoCo 在不同模型规模上的可扩展性。实验涵盖了 2B、5B 和 9B 参数的稠密模型,以及 2.8B 和 3.8B 激活参数的 MoE 模型。

实验结果如图 7 所示。

图 7(a)稠密模型:2B、5B 和 9B 参数模型,分别使用 26B、72B 和 141B token 训练。图 7(b) 混合专家模型:2.8B 和 3.8B 激活参数模型,分别使用 170B 和 233B token 训练。

从图 7 可以看出,在所有测试的模型规模上,Decoupled DiLoCo(M=8)的性能都与传统数据并行不相上下。而且,随着模型规模的扩大和 token 预算的增加,Decoupled DiLoCo 的性能甚至会略微超越数据并行。

论文还深入研究了 token 预算对模型性能的影响。

表 12:算力预算对模型性能的影响。该表验证长文本优势。1.3T tokens 时,解耦 DiLoCo 性能超越弹性 DP。核心是异步训练随数据量增加,梯度聚合更稳定。这证明解耦 DiLoCo 适配大规模数据训练,长文本下优势凸显。

实验结果如表 12 所示,当 token 预算从 26B 增加到 1.3T 时,Decoupled DiLoCo 的性能提升幅度明显大于数据并行。这表明,Decoupled DiLoCo 在大规模训练场景下展现出更优异的扩展性。

图 9:该图量化不同分片策略下 5B、9B 稠密模型的分片尺寸分布(为清晰省略嵌入层)。平衡张量分片使各分片尺寸高度一致,避免通信负载不均;分层分片差异最大,易造成带宽瓶颈。该特性保障大规模训练中通信资源均匀利用,减少网络拥堵,提升整体训练效率。

大量的实验结果充分证明,Decoupled DiLoCo 在保持与传统数据并行相当的模型性能的同时,实现了极致的鲁棒性和可扩展性。它能够在百万级芯片的故障频发环境下,维持接近 100% 的系统正常运行时间和极高的有效算力,同时还能无缝支持异构硬件和计算 scavenging。

六、相关工作:分布式训练范式的演进与局限

6.1 传统分布式训练方法:从数据并行到张量并行

传统的分布式训练方法主要基于 SPMD 范式,通过不同的并行策略将计算任务分布到多个加速器上。

数据并行是最基础、最常用的并行策略。它将训练数据划分为多个分片,每个加速器运行一个完整的模型副本,处理自己的数据分片,并通过 all-reduce 操作聚合所有副本的梯度。数据并行的优点在于实现简单、计算效率高,且对模型结构没有特殊要求。但其缺点是通信开销大、需要全局同步,并且容错能力较差。

为了降低通信开销,研究人员提出了模型并行和张量并行。模型并行将模型的不同层分布到不同的加速器上,每个加速器只负责模型的一部分计算。张量并行则将单个张量的计算分布到多个加速器上。这些方法能减少每个加速器的内存占用,支持训练更大的模型,但它们仍然依赖全局同步,容错能力差,且实现复杂。

近年来,研究人员还提出了序列并行、专家并行等更细粒度的并行策略,以及 ZeRO、FSDP 等内存优化技术。然而,这些方法都没有从根本上改变 SPMD 范式的紧耦合本质,在超大规模场景下仍面临可靠性瓶颈。

6.2 DiLoCo 及其变体:低通信量训练的演进

DiLoCo 是近年来出现的一种新型分布式训练范式,其核心思想是通过间歇同步来降低通信带宽需求。

原始的 DiLoCo 由 Douillard 等人在 2024 年提出,它将训练分为内循环和外循环,每 N 个步骤同步一次,将总通信带宽需求减少了 N 倍。随后,Douillard 等人在 2025 年提出了 Streaming DiLoCo,通过参数分片和通信重叠,将峰值带宽需求也减少了 N 倍。

在 DiLoCo 提出之后,涌现了许多变体和改进工作。

  • 例如,Kale 等人提出了 Eager Updates,进一步优化了通信和计算的重叠;
  • Kim 等人提出了 Halos,将 DiLoCo 扩展到了地理分布式训练;
  • Liu 等人提出了异步 Local SGD,首次尝试将异步机制引入 DiLoCo。

然而,这些工作都没有彻底打破锁步同步的机制。Liu 等人的异步 Local SGD 虽然允许学习者以不同速度运行,但它仍然需要在同步点等待所有学习者,无法处理学习者故障的情况。而 Decoupled DiLoCo 则彻底实现了完全异步的训练,能够处理学习者故障和慢节点的问题,同时保持了 DiLoCo 的低通信量优势。

6.3 异步与容错训练的相关研究

异步训练和容错训练并非全新的研究方向。早在 2012 年,Dean 等人就提出了参数服务器架构,支持异步随机梯度下降(ASGD)。ASGD 允许工作节点异步地从参数服务器拉取最新参数,并推送本地梯度,无需全局同步。

然而,传统的 ASGD 存在梯度陈旧性问题,即工作节点使用的参数可能已经过时,这会导致模型性能下降,并减慢收敛速度。为了解决这个问题,研究人员提出了许多改进方法,如基于陈旧性的学习率调整、有限延迟的 ASGD 等。但这些方法在大规模训练场景下的效果仍然不够理想。

在容错训练方面,研究人员提出了许多方法,如检查点重启、复制状态机、故障检测和恢复等。但这些方法大多是在 SPMD 范式基础上进行的修补,无法从根本上解决紧耦合带来的可靠性问题。

近年来,还有一些研究尝试通过流水线并行的异步化来提高容错能力。

  • 例如,Borzunov 等人提出了在不可靠网络上训练大模型的方法,通过动态重路由计算来处理故障和慢节点。
  • Jang 等人提出了 Oobleck,使用流水线模板来实现容错的分布式训练。

但这些方法主要针对流水线并行,而 Decoupled DiLoCo 则针对数据并行,两者是互补的。

6.4 本文工作的比较优势

与现有的分布式训练方法相比,Decoupled DiLoCo 具有以下几个显著的优势:

首先,Decoupled DiLoCo 展现出卓越的鲁棒性与容错能力。在百万级芯片高频故障的运行场景中,它能够维持接近 100% 的系统可用率以及极高的有效算力,这是所有基于 SPMD 范式的方法都无法企及的成就。

其次,Decoupled DiLoCo 能够实现与同步数据并行相媲美的模型性能。通过引入自适应宽限期、动态 token 加权以及 RDA 等机制,它成功化解了异步训练中常见的梯度方差、计算速度差异以及梯度衰减等问题,确保模型性能不会因异步化而出现退化。

第三,Decoupled DiLoCo 对通信带宽的需求极低。它继承了 DiLoCo 低通信量的核心优势,其总带宽需求与峰值带宽需求均比传统数据并行低出两个数量级以上。 这一特性使其能够在带宽受限的场景(例如地理分布式集群)中高效运转。

最后,Decoupled DiLoCo 能够无缝兼容异构硬件并支持计算 scavenging。其异步架构天然适应不同速度的学习节点,无需复杂的负载均衡策略。此外,它能够灵活地添加或移除学习者,从而高效利用临时可用的计算资源。

** Decoupled DiLoCo 并非对现有 SPMD 范式的简单修补,而是一种全新的训练范式。 它从根本上颠覆了我们对大模型预训练中权衡取舍的思考方式,将可用性与分区容错性置于严格的参数一致性之上**。这种思路的转变,为攻克超大规模训练的可靠性难题开辟了一条可行的路径。

unsetunset七、结论与展望unsetunset

7.1 结论总结

Decoupled DiLoCo 是谷歌 DeepMind 在分布式训练领域的一项突破性成果。它通过将全局 SPMD 集群分解为独立的异步学习者,并借助中央同步器以及一系列精心设计的技术,实现了高可用、高容错、低通信量的分布式训练。该论文的核心贡献可归纳为以下四点:

  1. 提出了 Decoupled DiLoCo 框架,将 DiLoCo 的间歇同步机制演进为完全异步的通信协议,打破了传统 SPMD 范式中锁步同步的瓶颈,优先保障了可用性与分区容错性。
  2. 设计了可扩展的系统架构,包含独立的学习者工作节点与轻量级的中央同步器,实现了故障域隔离以及学习者数量的动态调整。
  3. 通过大量实验验证,证明了 Decoupled DiLoCo 在稠密模型和 MoE 架构上,以及在文本和多模态任务中,均能保持与同步数据并行相当的模型性能。
  4. 将混沌工程原则应用于大模型预训练,证明了 Decoupled DiLoCo 在极端故障条件下的鲁棒性,在 240 万芯片的规模下实现了 99% 的系统正常运行时间和 86% 的有效算力。

Decoupled DiLoCo 的成功表明,在大模型预训练中,我们可以适度放松对严格参数一致性的要求,从而换取巨大的可用性和容错性提升。这为未来的大模型训练基础设施指明了新的发展方向。

7.2 进阶分析:方法的边界条件与潜在局限

尽管 Decoupled DiLoCo 取得了令人瞩目的成果,但我们仍需客观认识其边界条件与潜在局限。

  • 首先,Decoupled DiLoCo 的性能优势主要体现在超大规模且故障频发的环境中。在规模较小、可靠性较高的集群里,传统的 SPMD 范式可能仍具备更高的计算效率与更简便的实现方式。Decoupled DiLoCo 引入的中央同步器与异步通信机制会带来一定的额外开销,这些开销在小规模场景下可能超过其带来的收益。
  • 其次,Decoupled DiLoCo 的模型性能等价性是在特定条件下成立的。论文实验表明,当学习者数量 M 增加到 16 时,模型性能会出现轻微下降。虽然这种下降可以通过增加模型规模或 token 预算来缓解, ** 但这仍然意味着 M 的取值不能无限增大,存在一个最优的范围。**
  • 第三,Decoupled DiLoCo 的异步架构可能会对某些对参数一致性要求极高的训练任务产生影响。例如,在训练需要精细对齐的多模态模型,或进行强化学习预训练时,参数的不一致性可能导致更严重的性能退化。论文中的实验主要集中在标准的语言模型和视觉语言模型预训练上,对于其他类型的训练任务,仍需进一步验证。
  • 第四,Decoupled DiLoCo 的系统实现高度依赖谷歌的 Pathways 框架。Pathways 提供了异步执行、资源管理和容错等底层能力,这是 Decoupled DiLoCo 高效运行的基础。对于没有 Pathways 框架的机构而言,完整复现 Decoupled DiLoCo 的功能可能会面临不小的挑战。
  • 最后,论文中的混沌工程实验基于模拟的故障模型。尽管这些故障模型是根据真实生产集群的数据构建的,但它们仍无法完全代表真实世界中所有可能的故障情况。在实际生产环境中,可能会遇到网络分区、数据损坏等更复杂的故障模式,这些模式对 Decoupled DiLoCo 的影响仍需进一步验证。

7.3 未来工作

论文作者指出了几个未来的研究方向。

  • 首先,计划进一步优化同步器架构,使其能够支持更大规模的学习者数量。
  • 其次,研究更先进的合并算法,以进一步提升模型性能和超参数稳定性。
  • 第三,将 Decoupled DiLoCo 扩展到更多训练任务和模型架构,例如强化学习预训练和扩散模型。

从 NeuralTalk 的视角来看,Decoupled DiLoCo 的出现可能会催生以下几个新的技术方向:

第一,地理分布式预训练的普及。Decoupled DiLoCo 的低通信量和高容错性,使得跨多个数据中心甚至跨多个国家的地理分布式预训练成为可能。这将使我们能够利用全球各地的空闲计算资源,训练更大规模的模型,同时降低训练成本。

第二,异构计算资源的深度整合。Decoupled DiLoCo 能够无缝支持不同代际、不同类型的计算芯片,这将使我们能够更高效地利用现有的异构计算资源。未来,我们可能会看到由 CPU、GPU、TPU、FPGA 等多种计算设备组成的混合集群,共同完成大模型的预训练任务。

第三,按需弹性训练的实现。Decoupled DiLoCo 能够无缝地添加和移除学习者,这使得按需弹性训练成为可能。未来的训练系统可能会根据计算资源的价格和可用性,动态调整训练的规模和速度,在保证训练进度的前提下,最大限度地降低训练成本。

第四,容错性优先的系统设计理念的普及。Decoupled DiLoCo 的成功,证明了容错性优先的设计理念在大规模机器学习系统中的有效性。未来,更多机器学习系统可能会采用类似的设计思路,优先考虑系统的可用性和容错性,而非追求极致的单步效率。

第五,混沌工程在机器学习系统中的广泛应用。论文将混沌工程原则应用于大模型预训练,取得了良好效果。未来,混沌工程可能成为机器学习系统开发和测试的标准流程,帮助我们构建更可靠、更健壮的机器学习基础设施。

Decoupled DiLoCo 不是分布式训练的终点,而是一个新的起点。它向我们展示了,当我们跳出传统 SPMD 范式的思维定式,重新思考大模型预训练的权衡时,能够获得多么巨大的收益。未来,随着训练规模的持续扩大,可用性优先的训练范式必将成为主流,推动大模型技术迈向更高的层次。

关键词:分布式预训练异步训练 、Decoupled DiLoCo、 SPMD 范式 、混沌工程、异构计算

论文指出,“随着计算规模的扩大,原本罕见的硬件故障变成了日常事件。对于需要运行数月的大模型预训练任务而言,频繁的中断会导致大量的停机时间和计算浪费。” 这一论断精准地戳中了当前大模型训练基础设施的核心痛点。

当训练集群的规模从数千芯片扩展到数十万甚至数百万芯片时,传统的单程序多数据(SPMD)范式所依赖的全局同步机制,已经从效率保障变成了可靠性瓶颈。一个单一的硬件故障或慢节点,就会导致整个集群停滞,这种“一损俱损”的架构,在超大规模下已经难以为继。

在传统的 SPMD 范式下,系统优先保障参数的一致性,却不得不牺牲可用性与分区容错能力。早期的 DiLoCo 框架虽然通过引入间歇性同步机制,将总通信带宽需求降低了 H 倍,但其本质上仍属于同步架构。所有学习者必须在同步点达成完全一致,因此无法规避由慢节点或硬件故障引发的全局停滞问题。

:H 代表 DiLoCo 框架中的同步间隔(即内部步骤 inner steps,也就是本地迭代步数)。它指的是每个学习者(worker/learner)在其独立的数据分片上,使用本地优化器(如 AdamW)连续执行的训练步数。每完成 H 步本地训练后,才会触发一次全局参数同步。如果打个比方:SPMD 就像“每走一步就集合一次”;DiLoCo 像是“每走 H 步才集合一次”,但集合时依然要等所有人到齐;而 Decoupled DiLoCo 则是“各自走,不用等,到点再异步汇合”。

  • Decoupled DiLoCo(分布式低通信训练)用于弹性分布式预训练
  • 论文地址:https://arxiv.org/pdf/2604.21428
  • 全文约 1.6 万字,阅读耗时约 80 分钟,播客版约 20 分钟

Decoupled DiLoCo 的核心洞察在于,它将分布式系统中的 CAP 定理类比应用到大规模模型预训练场景,主张预训练应当优先考虑可用性与分区容错性,而非严格的参数一致性。 通过将全局集群拆解为多个独立的异步学习者,该方法将硬件故障的影响范围严格限制在单个学习者内部,从而保障全局训练流程不中断。

论文中的实验数据令人震撼:

  • 在模拟的 240 万芯片集群中,即便单芯片的平均无故障时间达到 1 年,传统弹性数据并行的有效算力也仅有 40%,系统正常运行时间更是低至 42%;
  • 相比之下,采用 16 个学习者的 Decoupled DiLoCo,有效算力飙升至 86%,系统正常运行时间高达 99%。

更关键的是,在这种极端故障条件下,Decoupled DiLoCo 训练出的模型,在文本与多模态任务上的性能,几乎与无故障环境下的数据并行训练完全一致。

本文将深入解读 Decoupled DiLoCo 的核心设计理念、关键技术细节、系统架构实现以及全面的实验验证,并分析其对未来大模型训练范式的深远影响。

本文目录

  • 一、大模型预训练的可靠性危机:从 SPMD 的致命缺陷说起
  • 1.1 SPMD 范式的紧耦合本质与可靠性瓶颈
  • 1.2 从 CAP 定理看预训练的权衡困境
  • 1.3 现有弹性训练方法的局限性
  • 二、Decoupled DiLoCo 的核心设计:打破锁步同步的异步架构
  • 2.1 从 DiLoCo 到 Decoupled DiLoCo:从间歇同步到完全异步
  • 2.2 核心架构:独立学习者与中央同步器
  • 2.3 训练流程概览:算法 1 与算法 2 的协同
  • 三、关键技术细节:从最小法定人数到径向方向平均
  • 3.1 最小法定人数与自适应宽限期
  • 3.2 动态 token 加权合并机制
  • 3.3 径向方向平均(RDA):解决多学习者合并的梯度衰减问题
  • 3.4 平衡张量分片:优化带宽利用率
  • 四、系统架构实现:基于 Pathways 的参数服务器设计
  • 4.1 基于 Pathways 的资源编排
  • 4.2 学习者与同步器的职责分离
  • 4.3 状态协调与分布式检查点
  • 4.4 分布式学习者恢复机制
  • 五、实验验证:混沌工程下的极致鲁棒性与性能等价性
  • 5.1 混沌工程实验设计:模拟百万级芯片故障
  • 5.2 鲁棒性验证:有效算力与系统正常运行时间
  • 5.3 模型性能等价性:文本与多模态任务评估
  • 5.4 扩展能力:异构硬件与计算 scavenging
  • 5.5 可扩展性:从 2B 到 9B 参数的规模验证
  • 六、相关工作:分布式训练范式的演进与局限
  • 6.1 传统分布式训练方法:从数据并行到张量并行
  • 6.2 DiLoCo 及其变体:低通信量训练的演进
  • 6.3 异步与容错训练的相关研究
  • 6.4 本文工作的比较优势
  • 七、结论与展望
  • 7.1 结论总结
  • 7.2 进阶分析:方法的边界条件与潜在局限
  • 7.3 未来工作

一、大模型预训练的可靠性危机:从 SPMD 的致命缺陷说起

1.1 SPMD 范式的紧耦合本质与可靠性瓶颈

当前大语言模型的预训练几乎完全建立在 SPMD 范式之上,通过数据并行、张量并行和序列并行等技术,将计算任务分散到数千甚至数百万个加速器上。这种范式的核心特征在于全局同步:每个训练步骤中,所有加速器都必须完成各自的计算,并通过集体通信操作(如 all-reduce)聚合梯度,之后才能进入下一个步骤。

这种紧耦合的设计,在集群规模较小时,尚能提供较高的计算效率与模型一致性。然而,当集群规模扩大到数十万芯片时,其可靠性问题便会急剧凸显。 根据论文中的计算,由 N 个芯片组成的集群,其整体平均无故障时间(MTBF)与芯片数量呈反比:

其中, 代表单芯片的平均无故障时间, 代表集群中的芯片总数。

这一公式揭示了一个残酷的现实:集群的整体可靠性会随着芯片数量的增加而线性下降。

  • 假设单芯片的 MTBI 为 1 年(这已是行业领先的可靠性水平),那么一个 10 万芯片的集群,整体 MTBF 仅有 5.256 分钟;
  • 一个 120 万芯片的集群,整体 MTBF 仅为 26.28 秒;
  • 而一个 240 万芯片的集群,整体 MTBF 更是只有 13.14 秒。

这意味着,在百万级芯片集群中,平均每十几秒就会发生一次硬件故障。

对于需要持续运行 3 到 6 个月的大模型预训练任务而言,如此高频的故障将导致灾难性的计算浪费。每次故障发生后,传统的 SPMD 系统必须停止所有计算,检测故障节点,重新配置集群拓扑,然后从最近的检查点恢复训练。这个过程往往需要几分钟甚至几十分钟,而在超大规模环境下,故障发生的频率已经超过了系统恢复的速度,最终导致有效算力利用率急剧下滑。

1.2 从 CAP 定理看预训练的权衡困境

论文作者创新性地将分布式系统中的 CAP 定理类比应用于大模型预训练场景,为我们理解不同训练范式之间的权衡提供了一个清晰的理论框架。在预训练场景下,CAP 三个属性的定义如下:

  • 一致性(C):每个加速器都维护着全局同步的模型权重视图
  • 可用性(A):在发生硬件故障的情况下,训练能够继续推进
  • 分区容错性(P):在互连不稳定或通信延迟的情况下,训练能够继续推进

传统的 SPMD 范式本质上是一个 CP 系统:它牺牲了可用性与分区容错性,来换取严格的一致性。所有加速器必须在每一步达成一致,任何一个节点的故障或通信延迟,都会导致整个系统不可用。

近年来出现的弹性训练方法,例如谷歌 Gemini 团队提出的切片粒度弹性,试图在保持一致性的前提下提升系统的可用性。 当发生故障时,系统会自动移除故障节点,在剩余的健康节点上继续训练。然而,这类方法仍然依赖全局同步,故障检测与集群重配置的开销依然巨大,并且随着集群规模的扩大,这种开销会越来越高。

图 1:切片粒度弹性与解耦的对比:当发生局部故障时,系统使用更少的 TPU 芯片“切片”继续训练。当故障影响到 M 个副本中的 1 个时,解耦方法允许系统中其他 M-1/M 个副本继续执行步骤。这张图清晰地展示了弹性数据并行与 Decoupled DiLoCo 在故障处理上的本质区别。弹性数据并行在故障发生后,需要停止所有计算,重新配置集群,然后才能继续训练,导致明显的训练间隙。而 Decoupled DiLoCo 则允许其他健康的学习者继续训练,完全没有停机时间,只有故障的学习者暂时停止贡献。

1.3 现有弹性训练方法的局限性

尽管弹性训练方法在一定程度上提升了系统的可用性,但它们依然存在若干根本性的缺陷。

  • 首先,弹性训练在故障检测与集群重配置方面会产生不可忽视的开销。 在超大规模集群中,定位故障节点需要耗费一定时间,而重新分配计算任务、重建通信拓扑结构以及加载模型状态等后续操作,往往需要数分钟甚至更久。在故障频繁发生的场景下,这些累积的开销会显著降低有效算力的利用率。
  • 其次,弹性训练依然依赖全局同步机制,因此慢节点(straggler)问题并未得到解决。 即便没有硬件故障,由于芯片性能差异、网络拥塞或负载不均衡等因素,总会有部分节点的计算速度落后于其他节点。在全局同步的框架下,整个集群的训练速度会被最慢的节点所拖累,导致大量计算资源被白白浪费。
  • 最后,弹性训练难以有效支持异构硬件和地理分布式计算。 不同代际的芯片性能差异巨大,很难在同一个 SPMD 集群中实现高效协同。而地理分布式计算会引入极高的通信延迟,这对于需要频繁进行全局同步的 SPMD 范式而言,几乎是无法实现的。

传统的 SPMD 范式及其弹性扩展,在超大规模场景下已经遇到了无法逾越的可靠性瓶颈。其根本原因在于,这些方法都固守严格的参数一致性,从而牺牲了可用性和分区容错性。要解决这一问题,必须从根本上转变训练范式,优先保障可用性和分区容错性,并接受一定程度的参数不一致。

二、Decoupled DiLoCo 的核心设计:打破锁步同步的异步架构

2.1 从 DiLoCo 到 Decoupled DiLoCo:从间歇同步迈向完全异步

Decoupled DiLoCo 是在 DiLoCo(分布式低通信训练)框架的基础上演进而来。DiLoCo 最初由谷歌于 2024 年提出,其核心理念是通过间歇同步来降低通信带宽需求。

在传统的数据并行训练中,每个步骤都需要同步梯度。而在 DiLoCo 中,训练过程被划分为多个“内循环”和“外循环”。

  • 每个学习者(learner)在本地独立执行 H 个内循环步骤,使用本地数据与内优化器(如 AdamW)更新本地模型参数。
  • 然后,在每 H 个步骤的外循环同步点上,所有学习者将本地参数的变化量(称为外梯度)发送给其他学习者,并通过外优化器(如带动量的 SGD)来更新全局模型参数。

DiLoCo 的原始公式如下:

[
Delta_m^{(t)} = theta_m^{(t)} – theta_m^{(t-H)}
]
[
Delta^{(t)} = frac{1}{M} sum_{m=1}^{M} Delta_m^{(t)}
]
[
theta^{(t)} = text{OuterOptimizer}(theta^{(t-H)}, Delta^{(t)})
]

其中,(theta_m^{(t)}) 是学习者 m 在步骤 t 的本地参数,(Delta_m^{(t)}) 是学习者 m 在过去 H 个步骤的外梯度,(Delta^{(t)}) 是聚合后的全局外梯度,OuterOptimizer 是外优化器。

DiLoCo 通过将同步频率从每步一次降低到每 H 步一次,将总通信带宽需求降低了 H 倍。随后提出的 Streaming DiLoCo,进一步将模型参数划分为 P 个片段(fragment),每个片段在不同的步骤进行同步,从而也将峰值带宽需求降低了 H 倍。

然而,无论是原始的 DiLoCo 还是 Streaming DiLoCo,本质上仍然是同步的。 它们都要求所有学习者在同步点必须完成各自的内循环步骤,并发送外梯度。如果有一个学习者发生故障或速度缓慢,整个外循环同步就会被阻塞,导致所有学习者都无法继续训练。这正是 DiLoCo 在超大规模下依然面临可靠性问题的根本原因。

Decoupled DiLoCo 的核心突破,在于彻底打破了这种锁步同步机制,将同步从阻塞式的全局交换,转变为非阻塞式的异步通信。 学习者之间不再需要相互等待,而是独立地执行本地训练步骤,并与中央同步器(syncer)异步交换参数片段。

2.2 核心架构:独立学习者与中央同步器

Decoupled DiLoCo 的整体架构非常简洁,由 M 个独立的学习者和一个中央同步器组成。

每个学习者都是一个独立的训练单元,拥有自己的模型副本、内优化器和数据分片。学习者之间不进行直接通信,也不相互等待,完全独立地执行本地训练步骤。

中央同步器负责接收来自各个学习者的参数片段更新,聚合这些更新,然后将聚合后的全局参数片段【异步】地广播回所有学习者。 同步器不参与任何训练计算,【只】负责参数的聚合和分发,因此其计算和内存开销都非常小,可以运行在普通的 CPU 服务器上。

图 2:Decoupled DiLoCo 示意图。为了便于说明,这里展示了一个简单的例子,有 M=2 个学习者,P=3 个片段,每步同步(H=3),并在 τ=2 个步骤上重叠。第二个学习者停滞了三个步骤,但整体训练从未停止。一旦故障学习者恢复训练,所有错过的更新都会应用到它的状态上。这张图直观地展示了 Decoupled DiLoCo 的容错能力。故障的影响被严格限制在单个学习者内部,其他健康的学习者可以继续训练,完全不受影响。当故障学习者恢复后,它会自动从同步器获取最新的参数,无缝地重新加入训练。

如图 2 所示,这是一个简单的示例,有 M=2 个学习者,P=3 个参数片段,同步间隔 H=3,通信重叠 τ=2 个步骤。当第二个学习者停滞了 3 个步骤时,整个训练过程并未停止。第一个学习者继续执行本地步骤,并与同步器交换参数片段。当第二个学习者恢复后,它会从同步器获取所有错过的更新,然后继续训练。

2.3 训练流程概览:算法 1 与算法 2 的协同

Decoupled DiLoCo 的训练流程由两个独立的算法协同完成:算法 1 描述了学习者的本地训练过程,算法 2 描述了同步器的全局聚合过程。

算法 1(学习者)的核心流程如下:

  1. 初始化本地模型参数、内优化器和各种计数器
  2. 循环执行以下步骤,直到达到全局训练步数:
    a. 从本地数据分片中采样一个批次的数据
    b. 执行前向传播和反向传播,计算梯度
    c. 使用内优化器更新本地模型参数
    d. 更新本地步数计数器、每个参数片段的步数计数器和 token 计数器
    e. 将本地元数据(步数、各片段的步数和 token 数)异步发送给同步器
    f. 检查是否有来自同步器的更新参数片段,如果有,就更新本地模型参数,并重置对应的计数器
    g. 更新全局步数计数器(由同步器提供)

算法 1:解耦 DiLoCo – 学习者流程。学习者核心逻辑是独立本地优化 + 异步通信。独立执行 AdamW 等内层优化,无需等待同伴;定期发送元数据,异步接收同步器更新。本地计数器追踪步数与 token 数,动态调整同步时机。该算法打破同步训练的锁步依赖,隔离故障域,单个学习者故障不影响全局,是解耦架构的核心执行逻辑,保障训练高可用性。

算法 2(同步器)的核心流程如下:

  1. 初始化全局模型参数、外优化器和全局步数计数器
  2. 循环执行以下步骤,直到达到全局训练步数:
    a. 对于每个参数片段 p,如果当前步骤 t 满足 (t mod H = o_p)(其中 (o_p) 是片段 p 的同步偏移量),则执行以下操作:
    i. 等待至少 K 个学习者发送元数据(K 是最小法定人数)
    ii. 从这 K 个学习者拉取对应的参数片段
    iii. 根据每个学习者的 token 数 (n_m) 和步数,计算动态权重
    iv. 聚合这些参数片段,计算全局外梯度
    v. 使用外优化器更新全局参数片段:
    vi. 将更新后的全局参数片段异步广播给所有学习者
    b. 递增全局步数计数器

这里的关键设计是最小法定人数 K。同步器不需要等待所有 M 个学习者,只需要等待至少 K 个学习者发送元数据,就可以执行聚合操作。任何离线或缓慢的学习者,都会被排除在本次聚合之外,从而保证全局训练不会被阻塞。

算法 2:解耦 DiLoCo – 同步器流程。同步器核心是最小仲裁 + 自适应聚合。等待 K 个学习者更新,动态权重聚合(token 加权),径向方向平均合并梯度。自适应预留窗口提升样本效率,外层优化更新全局参数。该算法放弃全局一致性,优先可用性,适配高故障、异构环境,平衡训练效率与模型性能,是解耦 DiLoCo 容错与性能平衡的核心控制逻辑。

深度重写与降重版本

Decoupled DiLoCo 通过将全局集群分解为独立的异步学习者,并引入中央同步器与最小法定人数机制,从根本上颠覆了传统 SPMD 范式中必须锁步同步的瓶颈。 硬件故障的影响范围被严格限制在单一学习者内部,从而确保了全局训练过程的高可用性与强容错能力。

unsetunset三、关键技术细节:从最小法定人数到径向方向平均unsetunset

3.1 最小法定人数与自适应宽限期

最小法定人数(minimum quorum)K 是 Decoupled DiLoCo 中一个至关重要的超参数。它决定了同步器在发起一次聚合操作时,至少需要等待多少个学习者返回响应。

K 的取值本质上是一个权衡过程。

  • 如果 K 取值过小(例如 K=1),同步器将能极快地完成聚合操作,系统可用性极高。然而,每次聚合仅利用了少数学习者的更新,这可能导致外梯度的方差偏大,从而影响模型的最终性能。
  • 如果 K 取值过大(例如 K=M),系统实际上退化为同步的 DiLoCo 模式,可用性会降低。但此时外梯度的方差较小,模型的性能表现会更加稳定。

为了在可用性与模型性能之间取得更佳的平衡点,论文提出了自适应宽限期(adaptive grace window)机制。 当同步器收集到 K 个学习者的响应后,它并不会立即执行聚合,而是会等待一个额外的宽限期,以观察是否有更多学习者能在该时间段内发送响应。如果存在,这些学习者的更新也会被纳入本次聚合。

这个宽限期的长度并非固定不变,而是根据系统当前的实际负载动态调整的。论文中定义了可用的空闲时间 :

其中, 代表通信重叠的步数, 表示一个训练步骤的平均时长, 是收集到 K 个学习者响应的平均时长, 是同步一个参数片段的平均时长。

宽限期 被设定为不超过,其中 是一个安全系数。这样做可以确保,即便加入了宽限期,整个同步过程也能在 个步骤内完成,从而避免阻塞后续的训练步骤。

图 3:自适应法定人数宽限期在可用空闲时间内的示意图。 此图展示了自适应宽限期的工作原理。当同步器收集到K个学习者的响应后,它会利用通信重叠带来的空闲时间,等待更多学习者加入。这样可以在不牺牲系统可用性的前提下,纳入更多学习者的更新,从而降低外梯度的方差,提升模型性能。

论文通过实验发现,使用 配合自适应宽限期的组合,其效果优于使用更大的固定 K 值。这种方案既能保证系统的高可用性,又能在大多数情况下纳入足够多的学习者更新,维持模型性能的稳定性。

3.2 动态token加权合并机制

在完全异步的系统中,不同学习者处理数据的速度可能存在显著差异。快的学习者在两次同步之间,会比慢的或正在恢复的学习者处理更多的数据。如果在聚合时对所有学习者的更新赋予相同权重,那么快的学习者的贡献会被低估,而慢的学习者的贡献则会被高估,这会导致外梯度产生偏差,进而影响模型性能。

为了解决这个问题,论文提出了动态token加权合并机制。同步器会根据每个学习者自上次同步以来处理的token数和步数,计算出一个动态权重:

其中, 是学习者 自上次同步片段 以来处理的token数, 是学习者 自上次同步片段 以来执行的步数。

这个权重可以直观地理解为“数量 × 质量”。数量部分指的是处理的token数,处理的token越多,贡献越大。质量部分则是每步处理的token数(即token吞吐量),吞吐量越高,说明学习者的训练效率越高,其更新的质量也越高。

通过这种动态加权机制,快的学习者会获得更高的权重,而慢的学习者权重较低,从而保证聚合后的外梯度能够准确反映所有学习者的实际贡献。

3.3 径向方向平均(RDA):解决多学习者合并的梯度衰减问题

当学习者数量 M 增加时,直接平均外梯度会引发一个严重问题:梯度衰减。

论文作者通过实验观察到,不同学习者的外梯度之间几乎是两两正交的。如果每个外梯度的范数是,那么 M 个正交向量的平均值的范数大约是。这意味着,随着 M 的增加,聚合后外梯度的范数会以 的速度衰减。为了保持模型性能,就需要重新调整外优化器的学习率,这无疑会增加超参数调优的难度。

为了解决这个问题,论文提出了一种全新的合并方法:径向方向平均(Radial-Directional Averaging, RDA)。RDA 的核心思想是,分别平均外梯度的范数和方向,而不是直接平均外梯度向量本身。

RDA 的公式如下:

其中, 是将向量 x 归一化为单位向量的函数。

简单来说,RDA 首先将每个外梯度向量归一化,得到它们的方向;然后平均这些方向,得到平均方向;再将平均方向归一化,得到单位平均方向;最后,将所有外梯度的范数的平均值,乘以单位平均方向,得到最终的聚合外梯度。

这样做的好处是,聚合后外梯度的范数,等于所有外梯度范数的平均值,与学习者的数量 M 无关。 这就彻底解决了梯度衰减的问题,使得外优化器的学习率无需随着 M 的增加而调整,极大地提升了超参数的稳定性。

论文通过实验发现,对于非嵌入层的参数,使用 RDA 的效果明显优于直接平均。而对于嵌入层的参数,直接平均的效果更好。因此,在最终实现中,论文对嵌入层采用直接平均,对其他层则使用 RDA。

3.4 平衡张量分片:优化带宽利用率

Decoupled DiLoCo 继承了 Streaming DiLoCo 的参数分片思想,将模型参数划分为 P 个片段,每个片段在不同的步骤进行同步。参数分片的策略,会直接影响系统的带宽利用率和模型性能。

论文比较了三种不同的分片策略:层分片、张量分片和平衡张量分片。

  • 层分片是按照模型的层结构来划分片段。例如,将每个 Transformer 层作为一个片段,或者将多个层组合成一个片段。这种策略的优点是实现简单,且符合模型的结构。 但缺点是,如果模型的层数少于同步间隔 ,就会出现有些步骤没有同步的情况,导致通信非常突发,峰值带宽很高。
  • 张量分片是按照模型的张量来划分片段。将所有非 Transformer 张量放在第一个片段,然后将 Transformer 层的张量按照索引分组成 个片段。这种策略可以保证每个步骤都有同步,避免了突发通信。 但缺点是,不同张量的大小差异很大,导致各个片段的大小很不均衡,峰值带宽仍然很高。
  • 平衡张量分片是论文提出的一种新的分片策略。它使用贪心装箱算法,将模型中的所有张量,按照大小排序,然后依次放入 个箱子中,每次将张量放入当前总大小最小的箱子。这样可以保证各个片段的大小尽可能均衡。

图 8 对比三种参数分片的通信模式。分层分片通信突发、峰值带宽高;普通张量分片尺寸不均;平衡张量分片通过贪心打包实现尺寸均衡,通信平滑、峰值带宽最低。该策略在不影响模型性能的前提下,大幅降低通信压力,适配大规模分布式训练的带宽约束。先说 (a) 层分片:因为H大于层数,所以在t=2和t=4时,没有片段发送到同步器,导致突发通信和潜在的高峰值带宽。图 8:(b) 张量分片:每个步骤都发送一个片段到同步器,但片段的大小差异很大,所以峰值带宽可能仍然很高。图 8:(c) 平衡张量分片:每个步骤都发送一个大小大致相等的片段,降低了峰值带宽,避免了突发通信。

论文通过实验发现,这三种分片策略对模型性能的影响几乎没有差异。但平衡张量分片能够提供最低的峰值带宽和最均衡的带宽使用,因此是最优的选择。

Decoupled DiLoCo 通过一系列精心设计的技术细节,在保证高可用性的同时,维持了与同步训练相当的模型性能。自适应宽限期平衡了可用性和梯度方差,动态token加权解决了异步系统中的速度差异问题,RDA 解决了多学习者合并的梯度衰减问题,平衡张量分片优化了带宽利用率。

unsetunset四、系统架构实现:基于 Pathways 的参数服务器设计unsetunset

4.1 基于 Pathways 的资源编排

Decoupled DiLoCo 的系统实现是建立在谷歌的 Pathways 框架之上的。Pathways 是谷歌在 2022 年推出的下一代机器学习系统, 其核心目标是支持异步分布式数据流,能够高效地利用异构计算资源,并具备强大的容错能力。

4.1 Pathways 框架的支撑作用

Pathways 负责统筹整个系统的资源调度、设备网格构建以及各工作节点间的数据流通。每个学习者和同步器工作节点均由一个独立的 Pathways 客户端驱动。这种架构设计避免了单个多线程客户端成为系统的性能瓶颈,同时确保各个工作节点能够互不干扰地独立执行各自的任务。

依托于 Pathways 的这一设计思路,Decoupled DiLoCo 得以无缝融入谷歌现有的机器学习基础设施,并充分发挥 Pathways 所提供的异步执行、容错机制以及资源管理能力。

4.2 学习者与同步器的职责分离

在 Decoupled DiLoCo 的系统架构中,学习者和同步器的职责被严格划分,各自专注于其核心任务。

学习者工作节点运行于 TPU 加速器之上,每个学习者都是一个独立的数据并行训练任务。若整个集群支持 R 个数据并行副本,那么每个学习者将负责运行 R/M 个副本。每个学习者独立地编译并初始化自身模型,从分配的数据分片中加载数据,然后执行内优化步骤。

学习者之间完全隔离,它们不共享任何加速器资源,也不进行直接通信。仅在学习者需要恢复的特殊情况下,一个学习者才会从另一个健康的学习者处获取最新的模型状态。这种隔离机制是解耦和故障域隔离的根基:一个学习者中发生的硬件故障或出现慢节点,不会对其他学习者造成任何影响。

同步器工作节点运行于普通的 CPU 服务器上,负责维护全局模型参数和外优化器状态。同步器的核心任务是接收来自学习者的参数片段,对其进行聚合,然后将更新后的全局参数片段广播回各学习者。由于同步器仅处理参数和优化器状态,不涉及任何激活值,并且只执行简单的元素级操作,因此其计算和内存开销都极小。

同步器被划分为 M 个分片,每个分片对应一个学习者。

图 4:Decoupled DiLoCo 系统架构概览。每个学习者工作节点在加速器网格的一个分区上运行独立的数据并行训练循环。学习者通过数据中心网络(DCN)向同步器发送参数片段,并接收经过外优化的更新。同步器在仅 CPU 的副本上进行 M 路分片,并执行外优化步骤。学习者工作节点可能暂时不可用(如图中的学习者 #2),但它们对应的同步器分片仍然存在,从而能够动态调整活跃学习者的数量。在每个步骤之后,更新后的学习者模型会被复制到与学习者 TPU 共置的主机 CPU 的 RAM 中。这使得同步器可以在学习者继续执行内优化步骤的同时,选择要通过数据中心网络传输的片段,而无需在 HBM 上额外复制模型。 这张图详细展示了 Decoupled DiLoCo 的系统架构。学习者运行在 TPU 上,同步器运行在 CPU 上,两者通过数据中心网络通信。模型参数在每个步骤后从 TPU 的 HBM 复制到主机 CPU 的 RAM,这样同步器可以在不干扰 TPU 计算的情况下,拉取所需的参数片段,实现了计算与通信的完全重叠。

如图 4 所示,即便某个学习者暂时不可用(例如发生硬件故障),其对应的同步器分片依然存在。当学习者恢复后,它可以直接从对应的同步器分片获取最新参数。这种设计使得系统能够动态调整活跃学习者的数量,而无需修改同步器配置或重启同步器。

4.3 状态协调与分布式检查点

在分布式系统中,状态协调和检查点是至关重要的功能。Decoupled DiLoCo 采用向量时钟(vector clock)来协调各工作节点间的状态。

每个工作节点(学习者和同步器)都维护着一个向量时钟,记录自身的本地步数以及它所知的其他所有工作节点的最新步数。当工作节点之间发送消息时,会将自身的当前向量时钟附加在消息上。

向量时钟是许多可靠系统操作的基础,包括通道水印(用于垃圾回收旧状态)、一致的全局检查点(通过 Chandy-Lamport 分布式快照算法),以及非确定性训练运行的日志记录(用于确定性重放)。

为了实现一致的分布式检查点,系统采用了 Chandy-Lamport 算法。当同步器的本地步数满足( 是检查点间隔)时,它会启动一个快照。同步器首先保存自身当前状态,然后向所有学习者发送一个快照标记。当学习者收到快照标记时,它会保存自身当前状态,然后向同步器发送一个确认消息。同步器在收到所有活跃学习者的确认消息后,即完成了一次一致的全局检查点。

这种异步检查点机制不会阻塞训练的进行,并且能够保证检查点的一致性。当系统发生严重故障需要恢复时,可以从最近的一致检查点重新开始训练。

4.4 分布式学习者恢复机制

当一个学习者发生故障或长时间停滞,随后重新加入训练时,需要一个高效的恢复机制来将其模型状态更新至最新。

Decoupled DiLoCo 的学习者恢复机制非常高效,且不会阻塞其他学习者的训练。当一个恢复的学习者重新连接到同步器时,它会首先等待同步器的下一个片段同步,以获取同步器的最新向量时钟。然后,它会连接到一个健康的对等学习者,发送 作为恢复请求。

健康的对等学习者会在自己也观察到来自同步器的向量时钟 之后,将自己的本地模型参数和内部优化器状态发送给恢复的学习者。在传输过程中,恢复的学习者会缓存所有来自同步器的片段更新。当传输完成后,恢复的学习者会重放这些缓存的更新,将自身状态更新至最新,然后立即开始参与训练。

这种恢复机制的最大优势在于,它不会阻塞其他学习者的训练,并且恢复过程中的状态传输是异步进行的。论文中证明,只要状态传输的时间不超过 H 个步骤,恢复的学习者的状态陈旧性就不会超过正常学习者的状态陈旧性,因此不会对模型性能产生负面影响。

Decoupled DiLoCo 的系统架构充分利用了 Pathways 框架的异步执行能力,通过学习者与同步器的职责分离、故障域隔离、向量时钟状态协调以及高效的学习者恢复机制,构建了一个高可用、高容错、可扩展的分布式训练系统。

unsetunset五、实验验证:混沌工程下的极致鲁棒性与性能等价性unsetunset

5.1 混沌工程实验设计:模拟百万级芯片故障

为了严格验证 Decoupled DiLoCo 的鲁棒性,论文作者将混沌工程的原则应用于大模型预训练中。混沌工程是一种通过主动注入故障来测试系统韧性的方法,最初是为测试通用基础设施的可靠性而设计的。

论文作者将大模型训练中可能遇到的各种硬件故障,抽象为五个关键参数:

  • 每个芯片的平均无故障时间(MTBF_chip)
  • 模拟的芯片总数()
  • 每个芯片的处理速度方差()
  • 弹性缩容和扩容所需的时间()
  • 故障芯片重新上线所需的时间()

为了模拟超大规模集群的故障情况,论文作者使用了一个离散事件模拟器,生成合成的事件磁带(event tape)。事件磁带记录了所有的故障、恢复和速度变化事件。在实验中,系统会按照事件磁带中的记录,模拟相应的故障情况。

故障的发生时间服从泊松分布,参数是集群整体 MTBF 的倒数。故障的持续时间服从指数化威布尔分布。当一个芯片发生故障时,它所在的整个切片会被暂时移除,直至故障恢复。

论文中使用的主要评估指标是有效算力(goodput),即集群实际用于执行有用训练步骤的时间占总分配时间的百分比。有效算力越高,说明系统的资源利用率越高,浪费的计算时间越少。

5.2 鲁棒性验证:有效算力与系统正常运行时间

论文首先在模拟的不同规模集群上,比较了 Decoupled DiLoCo 与传统弹性数据并行的有效算力和系统正常运行时间。

实验中,单个芯片的 MTBI 设置为 1 年,模拟的芯片数量从 15 万到 240 万不等。学习者的数量 M 从 1 到 16,其中 M=1 对应传统的数据并行。

实验结果如表 1 所示。

表 1:在固定的 MTBI_chip=1 年的模拟硬件故障水平下,不同数量的解耦学习者 M 和不同数量的模拟芯片 N_chip 的假设配置的模型化有效算力和系统正常运行时间。这里假设所有芯片的速度都是恒定的。注意,M=1 个学习者等价于数据并行。 (a)算力利用率:集群有效算力占比;(b)系统在线率:集群执行训练时间占比。不同学习者数、芯片数下的模拟结果(单芯片 MTBI=1 年)。

从表1的数据可以清晰看到,传统的数据并行策略,即便配备了弹性恢复机制,其有效算力也会随着集群规模扩大而急剧衰减。在240万芯片的极端规模下,具备弹性能力的数据并行有效算力仅为40%,系统正常运行时间也只有42%。 而缺乏弹性机制的数据并行更为惨淡,其有效算力跌至18%,系统正常运行时间同样只有18%。

相比之下,Decoupled DiLoCo 的表现则截然不同。随着学习者数量 的增加,其有效算力和系统正常运行时间均获得显著提升。

  • 当 时,在240万芯片的规模下,有效算力飙升至86%,系统正常运行时间高达99%。
  • 当 时,在120万芯片的规模下,系统正常运行时间几乎达到100%,实现了近乎零停机。

论文还总结出一个关于有效算力的经验法则:一个包含 M 个学习者的系统,其有效算力相当于一个使用 M 倍更少芯片的单学习者系统。 即:

这条法则直观地表明,通过线性增加学习者数量 M,就可以在大规模集群中线性地提升系统的有效算力。

5.3 模型性能等价性:文本与多模态任务评估

鲁棒性的提升绝不能以牺牲模型性能为代价。为此,论文通过大量实验,证实了由 Decoupled DiLoCo 训练的模型,在文本和多模态任务上的表现,与传统数据并行训练出的模型不相上下。

实验采用了定制化的 Gemma 4 模型,训练数据融合了文本与视觉信息。研究对比了一个 5B 参数的稠密模型,在不同故障条件下的下游任务表现。

图 5:硬件故障鲁棒性对比:解耦 DiLoCo 与弹性数据并行在硬件故障下的算力利用率及下游性能(5B 稠密模型,1T token 训练)。该图直观量化了两种架构在频繁硬件故障下的核心表现。弹性数据并行的算力利用率骤降至 58%,模型性能出现小幅下滑;而解耦 DiLoCo 的算力利用率高达 88%,其文本与视觉任务性能与无故障基线完全持平。这直观验证了解耦架构在故障环境下的高效性,其异步聚合机制能在极低的算力损耗下,确保模型质量不受影响。

实验结果汇总于表 2。

表 2:模拟硬件故障对使用 1T token 训练的 5B 稠密模型 ML 性能的影响。在给定每个芯片固定 MTBI 的前提下,通过增加模拟芯片数量来降低集群的 MTBF,从而制造更频繁的硬件故障。Decoupled DiLoCo 的 ML 性能并未因算法变化而下降,同时实现了显著更高的有效算力。

从表 2 的数据可以看出,在没有硬件故障的理想情况下,Decoupled DiLoCo(M=8)的文本平均性能为 69.8,而弹性数据并行为 70.1,两者几乎没有差别。在 120 万芯片、MTBI_chip=1 年的极端故障条件下,Decoupled DiLoCo 的文本平均性能依然稳定在 69.8,而弹性数据并行则为 69.7。在视觉任务上,两者的性能也几乎完全一致。

这表明,即便在硬件故障极其频繁的恶劣环境中,Decoupled DiLoCo 依然能够维持与数据并行相当的模型性能。这是一个至关重要的结论,它有力地证明了优先考虑可用性和分区容错性,并接受一定程度的参数不一致性,并不会对最终的模型质量产生任何负面影响。

论文还验证了 Decoupled DiLoCo 在混合专家(MoE)模型上的表现。实验采用了一个拥有 2.8B 激活参数的 MoE 模型,并训练了 170B token。结果如表 3 所示,Decoupled DiLoCo 在 MoE 模型上也成功保持了与数据并行相当的性能。

表 3:170B token 训练的 2.8B 激活 MoE 模型,硬件故障对模型性能的影响。该表验证了解耦架构在 MoE 模型上的鲁棒性。MoE 模型结构稀疏且复杂,在频繁硬件故障下,解耦 DiLoCo 的性能与基线保持一致。通过学习者本地专家优化和全局异步聚合,该架构完美适配了稀疏大模型的训练,且不会牺牲模型的稀疏优势。

5.4 扩展能力:异构硬件与计算 scavenging

Decoupled DiLoCo 的异步架构,使其能够天然地支持异构硬件和计算 scavenging(即利用临时可用的空闲计算资源)。

论文首先在异构硬件集群上进行了实验。该集群由 4 个运行在 TPUv5e 上的学习者和 4 个运行在 TPUv5p 上的学习者组成。由于硬件差异,最慢的学习者比最快的学习者慢 18%。此外,论文还人为地在所有学习者之间注入了额外的 10% 速度方差。

实验结果如表 5 所示。

表 5:使用混合 TPUv6e 和 TPUv5p 的 Decoupled DiLoCo(M=8)训练的 2B 稠密模型(26B token)的异构硬件 ML 性能。在 TPUv5e 与 v5p 混合的集群中,采用 K=1 + 宽限期策略的性能与同步基线一致,没有出现速度瓶颈。动态权重与宽限期机制有效屏蔽了硬件差异,使其能够适配多代芯片混合集群,显著降低了硬件升级成本。

从表 5 的数据中可以观察到:

  • 当采用(完全同步)策略时,系统的有效算力仅为 84%,文本平均性能为 54.4,视觉平均性能为 37.6。
  • 当采用(最小法定人数)策略但未启用自适应宽限期时,系统的有效算力虽然达到 100%,但模型性能明显下降,文本平均性能降至 51.4,视觉平均性能降至 25.7。
  • 而当采用 策略并配合自适应宽限期时,系统的有效算力维持在 100%,同时模型性能也恢复到了与完全同步相当的水平,文本平均性能为 55.3,视觉平均性能为 37.0。

这充分说明,自适应宽限期能够有效地掩盖异构硬件之间的速度差异,在保证高有效算力的同时,维持模型性能的稳定。

图 6:当学习者步长不同时,法定人数 K=8、K=1、K=1 + 自适应宽限期下的 XLA 操作。可见在带宽与硬件异构的情况下,始终有学习者在执行训练。该图通过 XLA 时序图直观呈现了不同法定人数策略的运行状态。K=8 时存在同步阻塞和空闲间隙;K=1 无阻塞但同步过于频繁;K=1 + 宽限期则兼顾了效率与聚合质量。在异构硬件下,始终有学习者处于运行状态,实现了算力的满负载,完美适配多代芯片混合集群,最大化训练吞吐。

接下来,论文验证了 Decoupled DiLoCo 在计算 scavenging 场景下的能力。

实验中,基础的学习者数量设定为 4 个,然后在训练过程中,间歇性地将学习者数量增加到 5、6、8 或 16 个,以此模拟昼夜周期变化导致的计算资源可用性波动。

实验结果如表 4 所示。

表 4:随着更多 TPU 在分布式位置被 scavenge,使用 Decoupled DiLoCo 和数据并行训练的 2B 稠密模型(128B token)的等 FLOPs scavenging 实验。所有运行共享相同的 FLOPs 和 token 预算,因此 scavenging 允许更早完成。scavenged 的计算在每次运行中可用于一半的 FLOPs,因此相对训练时间的下限是 0.5×。

从表 4 可以看出,Decoupled DiLoCo 能够极其高效地利用 scavenged 的计算资源。当 scavenging 到额外计算资源时,Decoupled DiLoCo 的训练时间缩短至,而数据并行的训练时间仅缩短至。同时,Decoupled DiLoCo 的模型性能没有任何下降,甚至略有提升。

原因在于,数据并行在增加副本数量时,需要暂停训练,并将当前的模型状态传输给新副本,这个过程会带来巨大的开销。而Decoupled DiLoCo 可以无缝地添加新的学习者,既不需要暂停训练,也不需要传输完整的模型状态,因此能够更高效地利用临时可用的计算资源。

5.5 可扩展性:从 2B 到 9B 参数的规模验证

最后,论文验证了 Decoupled DiLoCo 在不同模型规模上的可扩展性。实验涵盖了 2B、5B 和 9B 参数的稠密模型,以及 2.8B 和 3.8B 激活参数的 MoE 模型。

实验结果如图 7 所示。

图 7(a)稠密模型:2B、5B 和 9B 参数模型,分别使用 26B、72B 和 141B token 训练。图 7(b) 混合专家模型:2.8B 和 3.8B 激活参数模型,分别使用 170B 和 233B token 训练。

从图 7 可以观察到,在所有测试的模型规模上,Decoupled DiLoCo(M=8)的性能都与传统数据并行相当。而且,随着模型规模的扩大和 token 预算的增加,Decoupled DiLoCo 的性能甚至会略微超越数据并行。

论文还深入研究了 token 预算对模型性能的影响。

表 12:算力预算对模型性能的影响。本表验证了长文本场景下的优势。当训练数据量达到 1.3T tokens 时,解耦 DiLoCo 的性能超越了弹性数据并行。其核心原因在于,随着异步训练数据量的增加,梯度聚合过程变得更加稳定。这充分证明了解耦 DiLoCo 非常适合大规模数据训练,并且在长文本环境下优势尤为突出。

实验数据详见表 12。当 token 预算从 26B 提升至 1.3T 时,Decoupled DiLoCo 的性能增长幅度明显优于传统数据并行。这清晰地表明,Decoupled DiLoCo 在大规模训练场景中拥有更出色的扩展能力。

图 9:该图量化了不同分片策略下,5B 和 9B 稠密模型的分片尺寸分布(为清晰起见,省略了嵌入层)。采用平衡张量分片策略时,各分片尺寸高度一致,有效避免了通信负载不均的问题;而分层分片策略则导致分片尺寸差异巨大,极易引发带宽瓶颈。这一特性确保了在大规模训练中通信资源能被均匀利用,从而减少网络拥堵,提升整体训练效率。

大量实验结果表明,Decoupled DiLoCo 在维持与传统数据并行相当模型性能的同时,实现了极致的鲁棒性与可扩展性。它能够在百万级芯片频繁出现故障的环境中,保持接近 100%的系统正常运行时间与极高的有效算力,同时还能无缝支持异构硬件和计算资源回收。

六、相关工作:分布式训练范式的演进与局限

6.1 传统分布式训练方法:从数据并行到张量并行

传统分布式训练方法主要基于 SPMD 范式,通过不同的并行策略将计算任务分布到多个加速器上。

数据并行是最基础、最常用的并行策略。 它将训练数据切割成多个分片,每个加速器都运行一个完整的模型副本,处理自己的数据分片,并通过 all-reduce 操作聚合所有副本的梯度。数据并行的优势在于实现简单、计算效率高,且对模型结构没有特殊要求。但其缺点也十分明显:通信开销巨大、需要全局同步,且容错能力极差。

为了降低通信开销,研究人员提出了模型并行与张量并行。 模型并行将模型的不同层级分布到不同加速器上,每个加速器仅负责模型的一部分计算。张量并行则将单个张量的计算拆分到多个加速器上。这些方法能减少单个加速器的内存占用,支持训练更大的模型,但它们依然依赖全局同步,容错能力差,实现也更为复杂。

近年来,研究人员还提出了序列并行、专家并行等更细粒度的并行策略,以及 ZeRO、FSDP 等内存优化技术。 但这些方法均未从根本上改变 SPMD 范式的紧耦合特性,在超大规模场景下依然面临严峻的可靠性瓶颈。

6.2 DiLoCo 及其变体:低通信量训练的演进

DiLoCo 是近年出现的一种新型分布式训练范式,其核心思想是通过间歇性同步来降低通信带宽需求。

原始 DiLoCo 由 Douillard 等人在 2024 年提出,它将训练过程划分为内循环与外循环,每 个步骤同步一次,将总通信带宽需求降低了 倍。随后,Douillard 等人在 2025 年提出了 Streaming DiLoCo,通过参数分片与通信重叠技术,进一步将峰值带宽需求也降低了 倍。

自 DiLoCo 提出后,涌现出众多变体与改进工作。

  • 例如,Kale 等人提出了 Eager Updates,进一步优化了通信与计算的重叠;
  • Kim 等人提出了 Halos,将 DiLoCo 扩展至地理分布式训练场景;
  • Liu 等人提出了异步 Local SGD,首次尝试将异步机制引入 DiLoCo。

然而,这些工作都未能彻底打破锁步同步的机制。 Liu 等人的异步 Local SGD 虽然允许学习者以不同速度运行,但它仍然需要在同步点等待所有学习者,无法处理学习者故障的情况。而 Decoupled DiLoCo 则彻底实现了完全异步的训练,既能处理学习者故障与慢节点问题,又能保持 DiLoCo 的低通信量优势。

6.3 异步与容错训练的相关研究

异步训练与容错训练并非全新的研究方向。早在 2012 年,Dean 等人就提出了参数服务器架构,支持异步随机梯度下降(ASGD)。ASGD 允许工作节点异步地从参数服务器拉取最新参数,并推送本地梯度,无需全局同步。

然而,传统 ASGD 存在梯度陈旧性问题,即工作节点使用的参数可能已过时,这会导致模型性能下降,收敛速度变慢。为解决此问题,研究人员提出了多种改进方法,如基于陈旧性的学习率调整、有限延迟的 ASGD 等。但这些方法在大规模训练场景下的效果仍不理想。

在容错训练方面,研究人员提出了检查点重启、复制状态机、故障检测与恢复等多种方法。但这些方法大多是对 SPMD 范式的修补,无法从根本上解决紧耦合带来的可靠性问题。

近年来,一些研究尝试通过流水线并行的异步化来提升容错能力。

  • 例如,Borzunov 等人提出了在不可靠网络上训练大模型的方法,通过动态重路由计算来处理故障与慢节点。
  • Jang 等人提出了 Oobleck,利用流水线模板实现容错的分布式训练。

但这些方法主要针对流水线并行,而 Decoupled DiLoCo 则针对数据并行,二者是互补关系。

6.4 本文工作的比较优势

与现有分布式训练方法相比,Decoupled DiLoCo 具备以下几个显著优势:

首先,Decoupled DiLoCo 拥有极致的鲁棒性与容错能力。它能在百万级芯片频繁故障的环境中,保持接近 100%的系统正常运行时间与极高的有效算力。这是任何基于 SPMD 范式的方法都无法企及的。

其次,Decoupled DiLoCo 保持了与同步数据并行相当的模型性能。通过自适应宽限期、动态 token 加权和 RDA 等技术,它成功解决了异步训练中的梯度方差、速度差异和梯度衰减等问题,确保模型性能不会因异步而下降。

第三,Decoupled DiLoCo 的通信带宽需求极低。它继承了 DiLoCo 的低通信量优势,总带宽需求与峰值带宽需求均比传统数据并行低两个数量级以上。 这使得它能在带宽受限的环境,如地理分布式集群中高效运行。

最后,Decoupled DiLoCo 能无缝支持异构硬件与计算资源回收。其异步架构能自然处理不同速度的学习者,无需复杂的负载均衡。同时,它可以无缝地添加或移除学习者,高效利用临时可用的计算资源。

** Decoupled DiLoCo 并非对现有 SPMD 范式的简单修补,而是一种全新的训练范式。 它从根本上改变了大模型预训练的权衡思路,优先考虑可用性与分区容错性,而非严格的参数一致性。** 这种思路的转变,为解决超大规模训练的可靠性问题提供了一条可行路径。

七、结论与展望

7.1 结论总结

Decoupled DiLoCo 是谷歌 DeepMind 在分布式训练领域的一项突破性工作。它将全局 SPMD 集群分解为独立的异步学习者,通过中央同步器与一系列精心设计的技术,实现了高可用、高容错、低通信量的分布式训练。论文的核心贡献可总结为以下四点:

  1. 提出了 Decoupled DiLoCo 框架,将 DiLoCo 的间歇同步演进为完全异步的通信协议,打破了传统 SPMD 范式的锁步同步瓶颈,优先考虑可用性与分区容错性。
  2. 设计了可扩展的系统架构,包含独立的学习者工作节点与轻量级中央同步器,实现了故障域隔离与动态的学习者数量调整。
  3. 通过大量实验验证,证明了 Decoupled DiLoCo 在稠密与 MoE 架构上,以及在文本与多模态任务中,都能保持与同步数据并行相当的模型性能。
  4. 将混沌工程原则应用于大模型预训练,证明了 Decoupled DiLoCo 在极端故障条件下的鲁棒性,在 240 万芯片规模下实现了 99%的系统正常运行时间与 86%的有效算力。

Decoupled DiLoCo 的成功表明,在大模型预训练中,我们可以放宽对严格参数一致性的要求,从而获得巨大的可用性与容错性提升。这为未来的大模型训练基础设施指明了一个新方向。

7.2 进阶分析:方法的边界条件与潜在局限

尽管 Decoupled DiLoCo 取得了极为亮眼的成果,但我们仍需客观审视其适用边界与潜在短板。

  • 首先,Decoupled DiLoCo 的性能优势主要集中于超大规模与故障频发的场景。在规模较小且运行稳定的集群中,传统的 SPMD 模式可能依然具备更高的计算效率与更简便的实现方式。由于 Decoupled DiLoCo 引入了中央同步器与异步通信机制,这会带来额外开销,在规模较小时,这些开销可能超过其带来的收益。
  • 其次,Decoupled DiLoCo 的模型性能等价性仅在特定条件下成立。论文实验指出,当学习者数量 M 增至 16 时,模型性能会出现轻微下降。虽然这种下降可以通过扩大模型规模或增加 token 预算来缓解,但这仍意味着 M 的取值不能无限增大,存在一个最优范围
  • 第三,Decoupled DiLoCo 的异步架构可能对某些对参数一致性要求极高的训练任务造成影响。例如,在训练需要精细对齐的多模态模型或进行强化学习预训练时,参数不一致可能引发更严重的性能退化。论文实验主要聚焦于标准语言模型与视觉语言模型的预训练,其他类型的训练任务仍有待进一步验证
  • 第四,Decoupled DiLoCo 的系统实现高度依赖谷歌的 Pathways 框架。Pathways 提供了异步执行、资源管理与容错等底层能力,这是 Decoupled DiLoCo 高效运行的基础。对于未使用 Pathways 框架的机构而言,完整复现 Decoupled DiLoCo 的功能可能面临一定挑战
  • 最后,论文中的混沌工程实验基于模拟的故障模型。尽管这些故障模型源自真实生产集群的数据,但仍无法完全涵盖真实世界中的所有故障情况。在实际生产环境中,可能遇到网络分区、数据损坏等更复杂的故障模式,Decoupled DiLoCo 在这些场景下的表现还需进一步验证。

7.3 未来工作

论文作者在文中指出了几个未来研究方向。

  • 首先,他们计划进一步优化同步器架构,以支持更大规模的学习者数量。
  • 其次,他们计划研究更先进的合并算法,以提升模型性能与超参数稳定性。
  • 第三,他们计划将 Decoupled DiLoCo 扩展至更多训练任务与模型架构,如强化学习预训练与扩散模型。

从 NeuralTalk 的视角来看,Decoupled DiLoCo 的诞生可能催生以下技术方向:

第一,地理分布式预训练的普及。Decoupled DiLoCo 的低通信量与高容错性,使得跨数据中心乃至跨国家的地理分布式预训练成为现实。这将让我们能够利用全球范围内的空闲计算资源,训练更大规模的模型,同时降低训练成本。

第二,异构计算资源的深度整合。Decoupled DiLoCo 能无缝支持不同代际与类型的计算芯片,这将使我们更高效地利用现有异构计算资源。未来,我们或许会看到由 CPU、GPU、TPU、FPGA 等多种计算设备构成的混合集群,共同完成大模型预训练任务。

第三,按需弹性训练的实现。Decoupled DiLoCo 能无缝添加或移除学习者,这为按需弹性训练提供了可能。未来的训练系统可能根据计算资源的价格与可用性,动态调整训练规模与速度,在保证进度的前提下最大程度降低训练成本

第四,容错性优先的系统设计理念的普及。Decoupled DiLoCo 的成功,证明了容错性优先的设计理念在大规模机器学习系统中的有效性。未来,更多机器学习系统可能采用类似思路,优先考虑系统的可用性与容错性,而非追求极致的单步效率。

第五,混沌工程在机器学习系统中的广泛应用。论文将混沌工程原则引入大模型预训练,取得了显著成效。未来,混沌工程可能成为机器学习系统开发与测试的标准流程,帮助我们构建更可靠、更健壮的基础设施。

Decoupled DiLoCo 并非分布式训练的终点,而是一个全新的起点。它向我们展示了,当我们跳出传统 SPMD 范式的思维定式,重新审视大模型预训练的权衡时,能够收获多么巨大的收益。未来,随着训练规模持续扩大,可用性优先的训练范式必将成为主流,推动大模型技术迈向更高层次。


关注“鲸栖”小程序,掌握最新AI资讯

本文来自网络搜集,不代表鲸林向海立场,如有侵权,联系删除。转载请注明出处:https://www.itsolotime.com/archives/35650

(0)
上一篇 1天前
下一篇 21小时前

相关推荐

  • SFT到RL之间藏了个大坑:多模态模型后训练被忽视的隐形断层

    被忽视的“隐形断层”:SFT究竟做了什么? 先来看一组颇具启发性的数据(基于7个主流多模态基准测试的平均准确率): 阶段 Qwen3-VL-4B Qwen3-VL-8B 原始Instruct模型 59.7% 63.3% SFT之后 56.8% (-3.0) 58.1% (-5.2) SFT → GRPO 61.8% 63.3% 观察可见,经过SFT后,模型性…

    4天前
    11800
  • ReVision突破:无需图文配对,几何对齐解锁多模态大模型预训练新范式

    无需图文配对,几何对齐解锁多模态大模型预训练新范式 在多模态大模型(MLLM)的研发中,一个长期共识是:没有图文对(Image-Text Pairs),就没有多模态能力。为了训练模型理解图像,业界通常需要耗费巨资收集海量图片,并为每张图片生成高质量的文本描述。这种强监督的配对数据,一直被视为多模态训练的基石。 然而,来自港科大(广州)、新加坡国立大学等机构的…

    2026年3月3日
    30800
  • MobileRL:突破端侧GUI智能体训练瓶颈,AndroidWorld成功率超80%的强化学习新框架

    关键词:MobileRL框架、端侧GUI智能体、强化学习、ADAGRPO算法、Android基准测试 MobileRL: Online Agentic Reinforcement Learning for Mobile GUI Agents https://arxiv.org/pdf/2509.18119 代码:https://github.com/THUD…

    2026年1月6日
    40400
  • Claude破解苹果神经引擎!Mac变身AI训练神器,成本暴跌至电费零头

    Claude破解苹果神经引擎!Mac变身AI训练神器,成本暴跌至电费零头(1/2) 核心摘要 开发者借助Claude,成功对苹果神经引擎(ANE)进行了逆向工程,绕过了苹果官方的CoreML框架限制,首次在M4芯片的ANE上实现了神经网络训练。这证明Mac设备内置的NPU具备强大的训练潜力,可能将低成本、高能效的AI训练带入个人电脑时代。 AI界迎来新突破,…

    2026年3月8日
    65200
  • 尤洋教授深度剖析:算力转化瓶颈与AGI突破路径

    2026年即将到来,AI的发展已经进入一个新阶段:我们取得了惊人成就,却也同时面临进一步增长的瓶颈。 新加坡国立大学(NUS)的尤洋教授近期发表了一篇深度分析:《智能增长的瓶颈》。 在这篇分析文章中,尤洋教授从技术本质出发,直指智能增长的核心矛盾,并揭示了AGI(通用人工智能)的可能路径。 核心观点 智能增长的本质不是架构变革,而是算力如何转化为智能:AI的…

    2025年12月31日
    43100