侧边栏壁纸
博主头像
蜉蝣的博客博主等级

行动起来,活在当下

  • 累计撰写 39 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Resilio: 一种大模型弹性训练容错系统

蜉蝣
2025-06-23 / 0 评论 / 0 点赞 / 8 阅读 / 3137 字

引入

大规模分布式训练大模型时,检查点的读写成为瓶颈,高频加剧训练阻塞与带宽占用,低频导致高重启代价,容错训练需要根据资源动态弹性变化

主要挑战:

  • 准确故障感知和作业恢复

  • I/O性能瓶颈影响检查点写入,保存策略影响训练耗时

  • 现有弹性训练系统缺乏复杂场景下的自动恢复机制

贡献:

  • 准确高效的容错框架,故障定位快速准确,层次化恢复,兼容主流大模型训练框架

  • 多层次异步检查点读写,通过共享内存和本地磁盘缓存降低故障恢复和加载开销,故障时即时保存检查点,优化通信操作的故障识别与恢复

  • 低开销自动并行策略搜索,资源动态变化时自动调整训练并行度

Resilio系统

容错框架

  • 故障感知:拦截函数调用,统计CUDA核心指标到共享内存,持续监控并判定Error、Slowdown

  • 生命周期管理:处理提交的作业、调度资源、检验环境可用性、创建分布式进程、故障后启动层次化恢复

  • 检查点控制器:显式保存检查点,初始化(组建通信域等)时从持久化存储中预加载检查点

  • 指标上报:规范上报硬件、训练状态数据,提高故障判断准确性

检查点高效存储

  • 多层次异步访存优化

    • 部分元信息序列化

    • 锁页内存及CUDA多流,充分利用显存到CPU内存间带宽

    • 异步切片传输持久化

    • 模型初始化的同时将本地或远程检查点副本拷贝到内存中,故障恢复时按故障划分:

      • 无需重启:内存读取

      • 需要节点替换:新节点远程拉取,其他进程本地磁盘读取

  • 即时检查点

    • 大模型训练特征

      • 3D并行中的数据并行维度模型副本一致,模型参数更新前需要全局同步

      • 单点故障

      • 进程故障导致集合通信超时

      • FT Master收集超时事件,判定收到的为健康进程、未收到为故障进程,在故障进程的数据并行组内寻找健康进程来保存检查点,若无则结束所有FT Worker

自适应并行策略调整

  • 模拟器实例接收由模拟器管理组件传入的 GPU 资源类型、资源个数和流水线并行度,自动搜寻当前配置下的最优自动并行策略并评估模型的端到端时延

    • 模型计算图编译和流水线阶段聚合

      • 流水线切分算法

    • 计算资源评估和并行策略搜索

      • 3D并行各维并行度搜索算法

    • 端到端时延计算

  • 根据上述步骤按迭代时间选择最优配置调度,当集群空闲资源不足时选择次优

  • 当任务选择分布式数据并行配置时,自动弹性扩缩容

实验与结果

  • 结合Megatron-LM测试12节点8卡A100集群训练GPT-109B的故障端到端恢复耗时

  • 对比DLRover 4.0测试故障端到端恢复耗时、检查点保存加载耗时

  • 测试系统性能开销

  • 对比Alpa测试模拟器并行度搜索耗时、精度与MFU

0

评论区