滚动新闻 →
习近平反腐行动直指军队高层 欧洲多国航班接连遭遇炸弹威胁紧急迫降 地基裂缝哪些情况需要专业检查 陕西商南县重大刑案嫌疑人逃入山林 警方展开大规模搜捕 AI 训练为什么需要 Checkpoint,GPU 集群发生故障后如何减少重复计算 美国第一夫人主持俄乌官员会谈 推动停火进程 新竹县工厂火灾续:1名失联者遗体被寻获,另1人仍在搜救中 浙江湖州商铺门被封堵引发纠纷 费女士维权遭阻挠 Google Cloud 数据迁移怎么规划,本地服务器搬到云端需要经历哪些步骤 浙江女子误用筋膜枪减肥意外发现卵巢癌 台中警方因男子车内呼救展开围捕 台股单月重挫逾8000点 证交所呼吁理性投资 国有保险公司或成中国股市下跌新推手 短视频平台助力失散20年双胞胎姐妹重逢 河北村官持刀伤人潜逃15年 期间领取140万空饷并晋升 柏林饭店发现德国巴伐利亚副邦长遗体 死因成谜 SaaS 数据库分表之前,开发人员应该先解决哪些实际问题 孙俪携儿女助阵邓超音乐会 高个帅儿引爆全场 中国男子全款购7斤黄金 金价暴跌致亏损超百万 新增内存后电脑无法开机,兼容性和插槽问题应该怎样检查 黄之锋再获10年监禁 外界谴责中共司法手段 韩国金融业遭遇资安危机 37家机构47万笔数据外泄 Windows 11 Wi-Fi 信号差怎么办?从路由器到电脑设置逐步排查 MySQL 查询速度突然变慢怎么办?建立一套系统化排查方法 古代文学为什么总是在写人生无常 双重轰炸袭击基辅能源设施 伤亡惨重视频曝光 巴黎家长轮班守校门反对学生封校抗议 林青霞72岁生日晒照 热心推广‘脑智同护’服务 中医里的经络究竟是什么概念 马兴瑞涉受贿案告破 涉及政商腐败网络 加拿大参议院二读通过反跨国镇压法案 德州检察长强生曾为‘七龙珠Z’美国版创作配乐 全球旅游支出创新高 战乱与通胀未阻游客热情 篆刻为什么被称为金石艺术 大选引发华尔街震荡 道指单日飙升1035点 美元指数创逾月新低 美国对伊战争决策引争议 伊朗误判风险引担忧 马斯克删帖疑惧报复 共和党力挺遭挫 美国中期选举耗资超11比1 顶级金主名单揭晓 迈阿密近海直升机坠毁致1死2伤 匈牙利解密冷战时期秘密警察档案 暴露监控网络

AI 训练为什么需要 Checkpoint,GPU 集群发生故障后如何减少重复计算

发布时间: 2026-11-05 04:00:02    最后更新: 2026-11-05 05:32:04    阅读:10  约11 分钟阅读     

AI 训练为什么需要 Checkpoint,GPU 集群发生故障后如何减少重复计算
图片说明:示意图   图片来源:Public Domain(公有领域)
AI训练为什么需要Checkpoint GPU集群发生故障后如何减少重复计算

在大规模AI训练集群中,GPU故障、节点宕机、网络异常、驱动崩溃甚至存储故障都可能导致训练任务中断。对于运行数天甚至数周的大模型训练任务,如果每次发生故障都必须从头开始计算,浪费的不只是几个小时的GPU时间,而可能是数百万甚至更高的计算资源。

Checkpoint的作用,就是把训练过程中的关键状态周期性持久化。当训练任务发生故障后,可以从最近一次成功保存的状态继续,而不必重新计算全部历史训练步骤。不过,Checkpoint并不是简单地“把模型参数保存到硬盘”,在分布式训练环境中,它本身就是一个需要认真设计的存储、通信和一致性问题。

Checkpoint究竟保存什么

最简单的训练程序可能只保存模型权重,但真正需要支持断点续训的训练系统通常还需要保存优化器状态、学习率调度器状态、当前训练step以及随机数生成器状态等信息。

优化器状态尤其重要。例如Adam等优化器除了模型参数之外,还维护一阶和二阶动量。如果只保存模型权重而没有保存优化器状态,恢复之后虽然可以继续计算,但训练过程已经不再严格等价于原来的训练过程。

对于混合精度训练,还可能涉及GradScaler等状态。对于数据并行、张量并行、流水线并行或其他分布式训练方式,还需要考虑各个Rank对应的状态以及Checkpoint的分片布局。

因此,一个真正的训练Checkpoint可以理解为某个训练时刻的完整恢复状态,而不仅仅是一份模型权重文件。

Checkpoint频率决定了故障时需要重复多少计算

Checkpoint最直接的作用,是限制故障发生后需要重新计算的训练量。

假设训练任务每两个小时保存一次Checkpoint,而故障发生在距离上一次成功保存Checkpoint约90分钟之后,那么恢复时通常最多需要重新计算这90分钟左右的训练进度。

如果Checkpoint每10分钟保存一次,理论上的重复计算窗口会明显缩小,但Checkpoint本身会产生额外的I/O、网络流量和存储压力。

因此Checkpoint并不是越频繁越好。

实际系统通常需要根据训练任务的GPU成本、Checkpoint大小、存储吞吐量、恢复时间目标以及故障概率综合决定保存频率。对于超大模型,单次Checkpoint可能非常庞大,如果每几分钟都把完整状态写入远程对象存储,Checkpoint本身就可能成为训练性能瓶颈。

分布式训练的Checkpoint比单GPU复杂得多

在单GPU训练中,可以简单地保存模型和优化器状态。但在大规模GPU集群中,一个训练任务可能同时运行数百甚至数千个GPU。

此时模型参数可能已经按照数据并行、张量并行、流水线并行或其他并行策略分布在不同GPU和节点上。

因此Checkpoint也经常采用分片方式保存。

例如模型状态被分散到多个Rank,每个Rank负责保存自己对应的一部分状态。恢复时,再根据当前训练拓扑把这些状态重新映射到对应的计算进程。

这里不能简单地认为“发生故障后只读取故障节点的Checkpoint即可”。如果训练任务的并行拓扑发生变化,或者某些分片状态位于其他节点,那么恢复过程可能需要重新加载和重新分布整个训练状态。

现代训练系统因此越来越重视与并行策略配合的Sharded Checkpoint以及高效的分布式状态保存机制。

故障发生之后并不是简单地重新启动程序

GPU集群发生故障后,系统首先需要判断故障属于哪一种类型。

如果只是某个训练进程崩溃,调度系统可能重新启动对应任务;如果整个节点不可用,则需要重新分配计算资源;如果网络或存储系统发生异常,则必须先恢复通信或存储能力。

在很多分布式训练框架中,只要一个Rank发生严重故障,整个训练Job可能都需要重新建立进程组,而不是简单地让其他GPU继续运行。

重新启动之后,训练程序从最近一次一致的Checkpoint读取状态,并恢复模型、优化器以及其他训练状态。

因此,真正的故障恢复过程通常包括故障检测、资源重新调度、进程组重建、Checkpoint读取、状态恢复以及重新建立通信等多个步骤。

为什么Checkpoint也需要一致性

分布式训练最大的难点之一,是Checkpoint必须代表一个可以恢复的训练状态。

假设部分Rank已经把step 100000的状态写入存储,而另外一些Rank仍然保存的是step 99950的数据,如果此时发生故障,简单地把所有文件放在一起并不能保证得到一个一致的训练状态。

因此分布式Checkpoint通常需要相应的协调机制,使系统知道哪些分片属于同一个有效Checkpoint,并能够判断一次保存操作是否真正完成。

工程上经常会使用临时目录、完成标记、manifest、版本号或其他提交机制,避免恢复程序误读尚未完成的Checkpoint。

这也是为什么“每个节点异步把自己的文件上传到对象存储”并不等于已经实现了可靠的分布式Checkpoint。

如何减少Checkpoint对训练性能的影响

Checkpoint最大的成本通常来自I/O和网络传输。

一个大型模型的完整训练状态可能远大于模型本身,因为优化器状态、混合精度状态以及其他训练信息都会增加存储规模。

因此工程系统通常会采用分片Checkpoint、异步写入、分层存储以及专门的Checkpoint服务等方式降低影响。

一种常见思路是先把Checkpoint写入本地NVMe或高速并行文件系统,再异步复制到更可靠的共享存储或对象存储。这样可以减少训练主路径等待远程存储写入的时间。

不过异步Checkpoint也必须解决一致性问题。训练进程不能简单地在状态仍然发生变化时随意复制内存中的数据,否则保存出来的内容可能并不是一个可以可靠恢复的状态。

增量Checkpoint和状态压缩并非万能方案

为了降低Checkpoint存储量,可以研究增量Checkpoint,只保存与上一次Checkpoint相比发生变化的部分。

也可以使用压缩技术降低存储空间和网络传输量。

但是对于训练状态来说,压缩并不一定总能获得理想收益。GPU训练产生的大量浮点状态并不一定具有很高的压缩率,而压缩和解压本身还会消耗CPU、GPU或I/O资源。

量化更需要谨慎。推理模型的量化与训练Checkpoint压缩并不是同一个概念。直接对训练状态进行低精度量化,可能改变恢复后的数值状态,从而影响训练过程。因此不能简单把“量化Checkpoint”理解成无损的存储优化。

实际工程中更重要的往往是选择合理的Checkpoint格式、分片方式、存储层级以及写入路径。

如何真正减少故障后的重复计算

减少重复计算主要有三个方向。

第一是合理设置Checkpoint间隔。Checkpoint越频繁,理论上的最大重复计算窗口越小,但I/O开销越高。

第二是提高Checkpoint恢复速度。如果保存Checkpoint需要十分钟,而恢复又需要二十分钟,那么即使重复计算量很小,故障恢复的总时间仍然可能很长。因此Checkpoint系统不仅要关注保存速度,也必须关注恢复吞吐量。

第三是提高训练任务本身的容错能力。例如通过可靠的集群调度、GPU健康检查、节点自动替换以及故障预测减少训练中断次数。

需要注意的是,不能简单认为“只恢复故障GPU”就一定能够减少重复计算。在数据并行训练中,如果训练进程组必须整体重新启动,那么其他GPU同样可能需要从一致的Checkpoint重新恢复。

真正能够减少恢复成本的关键,是让Checkpoint状态、并行拓扑和训练框架的恢复机制能够相互配合。

存储系统决定了Checkpoint能否真正发挥作用

Checkpoint最终必须进入可靠存储。

本地SSD速度很快,但节点发生故障时本地数据可能同时丢失,因此通常不能把它作为唯一Checkpoint副本。

对象存储具有较好的持久性和扩展能力,但远程写入延迟和吞吐量需要认真评估。对于大规模训练,也可能采用本地高速存储、并行文件系统和对象存储组成的分层架构。

例如最近的Checkpoint可以暂存在高速存储中,用于快速恢复;更长期的Checkpoint则复制到持久化对象存储中。

与此同时,还应该保留多个Checkpoint版本。如果最新Checkpoint因为存储损坏或写入异常无法恢复,可以回退到更早的有效版本。

Checkpoint不是备份系统的替代品

Checkpoint主要服务于训练任务恢复,而传统备份解决的是更广泛的数据保护问题。

训练数据集、代码、配置文件、Tokenizer、数据处理版本以及依赖环境同样需要进行版本化管理。如果只有模型Checkpoint而训练数据和代码已经发生变化,即使成功恢复模型,也未必能够得到原来的训练结果。

因此真正可恢复的训练环境应该尽量保存模型状态、优化器状态、训练配置、代码版本、数据版本以及运行环境信息。

对于长期训练任务,还应该定期验证Checkpoint是否真的可以恢复,而不是等GPU集群发生故障之后才第一次尝试读取。

AI训练的容错能力最终是一套系统工程

随着GPU集群规模不断扩大,故障已经不能被简单看成偶发事件。GPU、节点、网络、存储和软件都可能成为训练任务的故障点。

Checkpoint解决的是“故障发生以后从哪里继续”的问题,但它不能单独解决整个系统的可靠性。

一个成熟的训练平台需要把GPU健康监控、集群调度、分布式Checkpoint、可靠存储、故障检测、自动重启以及恢复验证结合起来。

最理想的状态不是让GPU集群永远不发生故障,而是即使某个GPU、节点或者训练进程发生故障,系统也能够快速发现问题,从最近一次有效Checkpoint恢复训练,并把重复计算控制在可以接受的范围内。

对于大模型训练来说,Checkpoint最终追求的并不是“保存一个模型文件”,而是建立一条可靠的恢复链路:训练状态能够正确保存,故障能够及时发现,计算资源能够重新调度,训练状态能够一致恢复,并且恢复后的训练能够继续沿着原来的状态向前推进。

喜欢这篇报道?

使用下面的功能,方便以后继续阅读和分享 MNewsTV

设为 Google 新闻首选来源 让 Google 新闻优先显示 MNewsTV 的最新报道 ›
★ 我的收藏 查看已经收藏的文章
关于文章收藏 收藏不需要注册帐号,收藏信息仅保存在当前浏览器中。 删除收藏请进入「我的收藏」进行管理。
分享这篇报道

捐助(Paypal): https://www.paypal.me/observeccp
订阅中国观察电报 Telegram : https://t.me/s/ObserveCCP