更新时间:2025-09-26 GMT+08:00
分享

设置断点续训

断点续训练是指因为某些原因(例如容错重启、资源抢占、作业卡死等)导致训练作业还未完成就被中断,下一次训练可以在上一次的训练基础上继续进行。这种方式对于需要长时间训练的模型而言比较友好。

断点续训练是通过checkpoint机制实现。

checkpoint的机制是:在模型训练的过程中,不断地保存训练结果(包括但不限于EPOCH、模型权重、优化器状态、调度器状态)通过设置环境变量SAVE_INTERVAL来配置训练多少步保存一次断点。即便模型训练中断,也可以基于checkpoint接续训练。

当需要从训练中断的位置接续训练,只需要加载checkpoint,并用checkpoint信息初始化训练状态即可。

模型训练过程中点开训练详情页面,会展示所有保存的checkpoint信息,选择需要恢复的checkpoint,可以看到三种续训方式:1)从所选checkpoint创建新训练;2)从所选checkpoint继续训练;3)从所选checkpoint跳过step继续训练。三者的区别如下:

表1

序号

续训方式

说明

1

从所选checkpoint创建新训练

创建新的训练任务,可以重新选择数据集,只会使用checkpoint中权重的信息,其余的如优化器状态、调度器状态不会读取。

2

从所选checkpoint继续训练

继续原有的任务,会读取模型权重、优化器状态、调度器状态并用于初始化,主要解决由于硬件、网络相关的故障导致训练的中断。

3

从所选checkpoint跳过step继续训练

继续原有的任务,会读取模型权重、优化器状态、调度器状态并用于初始化,但会跳过该checkpoint之后的部分数据(用户可配置),用于解决由于数据质量差导致的loss不收敛问题。

训练详情页的CheckPoint输出发布成资产之后,与正常训练结束的模型产物一致,可以支持增量微调,LoRA微调,部署等功能。

相关文档