3
点赞
0
评论
0
转载
我要入驻

PPoPP 2026 | Elastor:面向故障恢复的弹性模型切分与高效检查点

 

 

PPoPP(Principles and Practice of Parallel Programming)是并行与高性能计算领域的CCF-A类国际会议,关注并行程序设计、系统与运行时等研究方向。第31届“ACM SIGPLAN并行编程原理与实践研讨会”(ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP '26)将于2026年1月31日至2月4日在澳大利亚悉尼召开,本次会议从280篇投稿论文中接收51篇,接收率为18.2%。PKU-DAIR实验室论文《Elastic and Efficient Model Partitioning and Checkpointing for Fault-Tolerant Distributed Training》被接收。

 

Elastor: Elastic and Efficient Model Partitioning and Checkpointing for Fault-Tolerant Distributed Training

 

作者:Xuanyu Wang,Fangcheng Fu,Haoyang Li,Hao Ge,Sheng Lin,Jiawen Niu,Bin Cui

代码链接:https://github.com/PKU-DAIR/Hetu

 

一、 背景

大模型训练离不开分布式:数据并行(DP)负责扩吞吐,张量并行(TP)/流水并行(PP)负责把超大模型拆到多张GPU上。但现实世界的集群并不“理想”:GPU宕机、节点掉线、网络故障会让可用GPU数量在训练中波动。如果系统只能按“整节点失败”去设计,一旦出现“部分GPU不可用”,要么浪费仍然健康的GPU,要么被迫长时间停机等待。

更麻烦的是,训练策略一变(例如从32卡变成28卡、PP stage数和TP组大小都发生变化),检查点也随之变得难处理。很多框架按“当前并行策略切分参数”来存储权重,恢复时如果切分方式不同,就会出现冗余读取与重分片开销,在共享文件系统(如NAS)上尤其致命——I/O调用次数多、单次I/O延迟高,恢复速度很容易被拖垮。

《Elastor: Elastic and Efficient Model Partitioning and Checkpointing for Fault-Tolerant Distributed Training》聚焦于以上两个问题:”当GPU/节点在训练过程中失效、可用GPU数量发生变化时,如何既能快速恢复训练,又不把时间浪费在反复的检查点保存/加载与重分片上”,并提供了创新的协同设计解决方案:一方面让模型切分足够弹性,能在任意数量GPU上恢复;另一方面让检查点足够“策略无关”,尽量避免因为切分变化而产生重复I/O,并把周期性检查点的额外开销隐藏到训练流水线里。

 

二、方法

Elastor的核心可以概括为四件事:弹性切分(HMP)、策略搜索、细粒度检查点、以及训练-保存的重叠优化。

1. 异构模型并行(HMP, Heterogeneous Model Parallelism):当某些GPU失效时,系统仍能用剩余GPU继续训练。HMP允许不同DP rank内的TP组大小不一致,并在此基础上组织PP阶段与通信组,从而适配“非整除”的GPU数量。

图1:异构模型并行切分方案

 

2. 恢复时的策略搜索(Strategy Searching):当GPU数量变化后,Elastor会在候选的{DP, TP_max}组合中搜索合适的并行策略。其流程包含:①把可用GPU划分成若干TP组并分配给各DP rank;②在每个DP rank内部进一步决定层/数据如何分配,并通过微批(micro-batch)分配平衡不同rank的计算。在论文的模拟中,策略搜索在1024张GPU规模下也能在数秒内完成。

图2:自适应策略搜索示意图

 

3. 细粒度、分片驱动的检查点(Fine-grained Checkpointing via Splits):将参数张量统一切成全局的global_split份(split),并保证任意HMP策略下每张GPU都持有整数个split。这样恢复时每张GPU只需要加载“自己负责的split”,避免了因切分变化导致的冗余读取。同时,Elastor用JSON元数据记录split与文件位置的映射,做到策略变化下仍能精确定位所需数据。

图3: 细粒度,自适应模型切分

 

4. 高效保存/加载与重叠(Overlapping Training & Checkpointing):保存过程被拆成GPU→CPU内存与CPU内存→文件系统两段,通过共享内存与多进程/多线程把参数搬运、序列化(Safetensors)和写盘解耦,并与训练计算流并行执行,尽量把检查点成本“藏起来”。加载阶段则通过重排与合并I/O,把大量小I/O尽可能合并为更少的顺序读取,降低共享文件系统上的开销。

图4: 高效的异步存储方案和流水线

 

三、实验

论文在32张A100-40G的集群上评估Elastor:4台服务器每台8卡,机内NVLink带宽约600GB/s,机间InfiniBand带宽约200GB/s。文件系统使用NAS,单文件写入带宽约800MB/s、读取约1800MB/s,总带宽超过5TB/s。

工作负载选择了3个LLM:LLaMA2-7B、LLaMA2-13B与Qwen2.5-32B;默认上下文长度4096,全局batch size为256。为了贴近真实环境,作者根据集群故障统计构造了5种GPU可用性轨迹(Case A-E),包括单GPU故障、多个节点内GPU故障、整节点掉线/断网、以及混合故障等。

对比基线主要包括:FSDP2+PyTorch Distributed Checkpoint(DCP),以及Megatron配合不同检查点方案(如MCP与BCP)。实验从三个维度评估:训练效率、模型加载效率、以及模型保存效率。

  • 训练效率:在无故障(Case A)下,Elastor与强基线训练效率接近;当GPU数量动态变化(Case B-E)时,Elastor能更稳定地维持MFU,并在端到端训练时间上取得约1.12×–1.40×的加速。

图5: 训练效率

  • 加载效率:由于检查点对并行策略更“无关”,且I/O合并更充分,Elastor在不同故障场景下的加载耗时显著降低,整体可达约1.95×–4.98×的加速。
  • 保存效率:通过训练-保存流水线化与线程解耦,模型保存阶段也获得约1.62×–3.94×的提升,降低了周期性检查点对长期训练的侵蚀。

 

四、总结

Elastor把“弹性训练”往前推进了一步:不再只假设整节点失败,而是正面面对更常见的部分GPU不可用。它通过HMP让模型切分能适配任意GPU数量,又通过细粒度split把检查点做成策略无关,避免了恢复时的冗余I/O与重分片;最后再用重叠与I/O合并把检查点成本压到更低。

对工程实践而言,这篇工作有两个启示:一是故障恢复能力要与并行策略的动态变化绑定考虑;二是检查点格式与加载路径的设计,往往比“写不写检查点”本身更决定系统能否在真实集群里跑得稳、跑得快。

 

 

实验室简介

 

北京大学数据与智能实验室(Data And Intelligence Research Lab at Peking Univeristy,PKU-DAIR实验室)由北京大学计算机学院崔斌教授领导,长期从事数据库系统、大数据管理与分析、人工智能等领域的前沿研究,在理论和技术创新以及系统研发上取得多项成果,已在国际顶级学术会议和期刊发表学术论文200余篇,发布多个开源项目。课题组同学曾数十次获得包括CCF优博、ACM中国优博、北大优博、微软学者、苹果奖学金、谷歌奖学金等荣誉。PKU-DAIR实验室持续与工业界展开卓有成效的合作,与腾讯、阿里巴巴、苹果、微软、百度、快手、中兴通讯等多家知名企业开展项目合作和前沿探索,解决实际问题,进行科研成果的转化落地。


北京大学数据与智能实验室,PKU-DAIR,Peking University Data And Intelligence Research Lab,负责人为北京大学计算机学院崔斌教授。
返回顶部