Google Colab训练后模型Checkpoint丢失,如何恢复及避免?
Colab训练模型Checkpoint丢失的恢复方法与预防方案
一、已丢失Checkpoint的恢复尝试
- 检查Colab文件面板的「回收站」:如果断开时间不长,丢失的
checkpoints文件夹可能被移到回收站,进入回收站查找并恢复。 - 回溯训练日志:查看训练过程的输出日志,确认是否有中途保存checkpoint的记录,如果日志显示有保存过,尝试重新连接会话(时效性短,断开久了没用),赶紧复制文件到云端。
- 尝试恢复最近会话:在Colab的「文件」>「最近的会话」里找到之前的训练会话,重新连接,看看临时存储里是否还残留文件,若有立刻转移到Drive。
二、避免Checkpoint再次丢失的方案
1. 直接将Checkpoint保存到Google Drive
这是最可靠的方法,先挂载Drive:
from google.colab import drive drive.mount('/content/drive')
然后修改训练命令的--output_dir参数,替换为Drive路径:
python finetune/finetune.py \ --model_path="bigcode/starcoder"\ --dataset_name="ArmelR/stack-exchange-instruction"\ --subset="data/finetune"\ --split="train"\ --size_valid_set 10000\ --streaming\ --seq_length 2048\ --max_steps 1000\ --batch_size 1\ --input_column_name="question"\ --output_column_name="response"\ --gradient_accumulation_steps 16\ --learning_rate 1e-4\ --lr_scheduler_type="cosine"\ --num_warmup_steps 100\ --weight_decay 0.05\ --output_dir="/content/drive/MyDrive/colab_checkpoints/starcoder_finetune" \
这样训练时checkpoint会直接写入Drive,即使Colab断开,文件也不会丢失。
2. 开启定期自动保存Checkpoint
添加--save_steps 100参数(可根据训练步长调整),让训练过程每100步自动保存一次checkpoint,就算中途断开,也能找回最近的进度。
3. 延长会话时长,减少意外断开
- 避免闲置:训练时保持浏览器活跃,或者在代码里加个简单的循环打印日志,防止Colab因闲置断开。
- 升级Colab Pro:付费版会话闲置断开时间延长到12小时,资源优先级更高,稳定性更好。
4. 手动备份关键文件
训练过程中,每隔一段时间手动将checkpoint下载到本地,或者用脚本定时同步Drive里的文件到本地存储。
内容的提问来源于stack exchange,提问作者Haris Sheikh
相关产品推荐
相关产品推荐

