詳細解釋
檢查點(Checkpointing)是保存模型狀態(參數、優化器狀態等)的技術,用於訓練恢復、模型版本管理和部署。
用途:
- 訓練恢復:
- 中斷後繼續
- 從最佳點重新開始
- 故障恢復
- 模型選擇:
- 保存最佳驗證性能模型
- 早停時使用
- 版本管理:
- 實驗追蹤
- 可重現性
- 部署:
- 導出推理模型
- 轉換格式(ONNX等)
保存內容:
- 模型參數(state_dict)
- 優化器狀態(繼續訓練)
- 輪數/步數
- 最佳驗證指標
- 損失曲線數據
策略:
- 定期保存:每N輪或N步
- 最佳保存:驗證改善時
- 最近N個:防止存儲爆炸
- 最後一個:最終模型
格式:
- 原生:PyTorch .pth, TF .h5
- 通用:ONNX、SafeTensors
- 優化:TensorRT、OpenVINO
檢查點是訓練管理的重要實踐。