数据性质与适用范围
本篇为S1工程模拟方案,按公开技术资料与明确的业务假设编制。容量计算使用文中假设;验收数值是待验证目标,没有本站实机测试日志。实际交付应保存硬件、版本、请求集和原始结果,再确定服务能力。
有模型权重还不等于能续训
模拟一个研究团队在八张80GB GPU上持续微调模型,单个作业计划运行三天。任务使用参数分片和混合精度,历史上出现进程退出后只能重新开始的问题。设计目标是故障后最多损失15分钟进度,30分钟内恢复训练;这分别是RPO和RTO的项目目标,未经演练不能宣布已达到。
恢复需要权重、优化器、调度器、训练步数、随机状态及数据采样进度。仅导出推理权重可以部署,却不一定能继续同一训练过程。模型结构、词表、数据清单和并行配置同时进入运行清单,恢复时先核对,禁止用不同数据版本无提示续训。
存储路径与容量规划
计算节点配1TB ECC内存、独立系统盘、NVMe临时盘和至少100Gb级别存储网络;GPU与主板平台按整机厂商认证组合确定。持久检查点写入独立共享存储或框架支持的持久路径,本机NVMe只作为缓冲。随后由备份任务复制到独立对象存储,记录对象校验和;对象存储是否可直接作为框架后端要单独核对。
先测一次实际完整检查点大小。若试算为200GB,每15分钟保留一个、滚动保存8份,热区至少1.6TB;每日另外留一个,7天另需1.4TB。再考虑正在写入、复制临时文件和20%以上余量,至少规划约3.6TB。这是容量示例,真正大小取决于参数、优化器和精度,不能按模型下载大小估备份。
完整提交再更新latest
每次保存使用唯一目录,先写分片,再写包含预期文件、大小和校验的清单。所有分片完成且通过检查后,才创建完成标志并更新最新可恢复指针。进程中断留下的半成品不能覆盖上一份有效检查点。框架已有相应机制时按官方接口实现,不自行拼接不兼容的分片格式。
异步保存与复制必须区分:训练线程释放不代表持久副本已完成。记录快照时刻、本地完成时刻、备份完成时刻,监控两者延迟。清理任务只删除已经验证的旧副本,保留至少两份完整可恢复状态,最近一次校验失败时暂停滚动删除。
写入性能与训练干扰
200GB数据在2GB/秒实际写入带宽下,纯传输约100秒;还需加状态整理、分片、同步与校验。这个100秒是下限推算,不是保存耗时承诺。测量保存前后GPU空闲时间、训练step时长和存储队列,如果每15分钟保存一次造成明显停顿,应评估异步机制或调整周期。
冻结单机与八卡基线,观察至少十次检查点,报告P50、P95保存时间及最长一次。对象存储上传不与数据读取争抢全部带宽,设置复制速率上限,并保证仍能满足RPO。如果副本落后超过一个保存周期,告警中明确指出容灾进度不足。
三类故障演练
第一类是在检查点已经完成后结束训练进程,重新加载最新状态,核对步数、优化器和数据游标。第二类是在保存中途结束进程,确认最新指针仍指向上一份完整状态,半成品有明确标记。第三类为试验环境中的节点不可用,使用持久副本在替代节点恢复,并重新核对设备数量及框架支持的重分片能力。
每次记录故障发现、资源就绪、下载、加载和第一步训练完成的时间。RTO从故障时刻计算,不能只量最后一次加载。数据恢复验证要观察接下来100个batch的样本ID和损失变化,防止大量重复或跳过数据;随机性和非确定性差异也应说明,不保证浮点结果逐位一致。
恢复方案的边界
跨GPU数、并行策略或框架版本恢复取决于检查点格式和工具支持,必须单独演练,不能因单机重启成功就认定所有拓扑可恢复。驱动故障和文件系统损坏也不等价于进程退出,各自需要资源与恢复预案。
交付包含运行清单、分片校验、保留规则、三类演练原始时间线、恢复后的样本记录和已知不支持条件。正式运维每月做一次选定检查点的恢复抽查,证明保存结果仍可使用;监控“备份任务成功”不能替代恢复验证。
技术依据与复现资料
- NVIDIA NeMo分布式检查点指南:https://docs.nvidia.com/nemo-framework/user-guide/25.07/nemotoolkit/checkpoints/dist_ckpt.html
- PyTorch FSDP官方文档:https://docs.pytorch.org/docs/stable/fsdp.html
本案例由网昱算力学院按公开技术资料和工程约束编制,用于展示方案设计与验收方法,不对应真实客户项目。配置和性能数字必须在目标硬件、软件版本与业务数据上重新验证。
- 编制方式
- 工程模拟
- 客户授权证据
- 未提供
- 原始测试日志
- 未公开


