系统 · 多区域 · 故障中恢复续跑

跨分布式集群的弹性训练

在计算、数据和团队跨越多个大洲时保持前沿训练稳定性的技术方法。

稳定性、可复现性与可恢复性,是训练运行本身的属性。我们为之而设计,而非绕之而行。

吸收故障 确定性数据 可复现恢复
为何训练同样是研究

前沿训练是一道拥有研究预算的系统工程问题

稳定性、可复现性与可恢复性,都是训练运行本身的属性。将它们当作系统工程问题来对待,而非琐碎的工程杂务,正是一个成型模型与一个半成品之间的分野。我们的分布式训练工作在不构成差异化优势之处对外发表,从而让规模较小的实验室也能在同一基础之上构建。

我们为之而设计的三项属性

「弹性」在实践中意味着什么

D1 跨异构计算的稳定性

硬件故障、网络抖动与局部失效都能被吸收,无需从头重启。

D2 确定性数据

版本化的数据集、确定性的加载,以及同时记录权重与产生它们的训练上下文的检查点。

D3 可复现的恢复

从检查点恢复,可在相同条件下复现出相同的训练轨迹。

多区域集群

计算、数据与团队横跨各大洲。

一次实时运行可在四个区域、约 46 个节点上保持续跑。运行时将局部失效视为重新调度的问题,而非重启事件。

46 节点总数
4 区域数
1 实时吸收的故障
0 重启次数
运行时所吸收的内容

四类失效,无一会导致运行重启。

01
hardware fault
GPU SXM link drop
replicate · resume · continue
no restart
02
network jitter
cross-region latency spike
gradient backpressure · scheduler reslot
no restart
03
partial cluster loss
EU-west rack power event
shard reweight · 2 region failover
no restart
04
data shard skew
one shard yields NaN
shard quarantine · resample
no restart
检查点剖析

仅有权重还不够。

一个检查点不仅记录权重,还记录产生这些权重的上下文。缺少该上下文,重启便只是一次猜测。

weights tensor 1.2 TB
optimizer state tensor 480 GB
rng seeds context 48 KB
data offset context 8 KB
config hash context 64 B
cluster topology context 12 KB
commit sha provenance 40 B
全部七个字段一并写入·一并加载
开放基础设施

凡不构成差异化优势之处,我们都向上游开源贡献。

01 fault-tolerant scheduler upstream contributed to ray + nccl ecosystems
02 deterministic data loader upstream sharded streaming · pinned offsets
03 checkpoint format + context upstream spec + reference reader
04 gradient-aware re-slotting internal differentiating · in-house
05 cross-region training runbook internal differentiating · in-house
01

开放基础设施工作

对于该技术栈中不构成差异化优势的部分,我们向上游开源项目贡献。构成差异化优势的部分则留在内部。

训练,是一道拥有研究预算的系统工程问题。