界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

select-and-verify-best-checkpoint

select-and-verify-best-checkpoint

【开发与工程】Proves that evaluation ran at the intended cadence, the tracked metric selected the true best checkpoint, and held-out inference loaded that checkpoint. Use with Hugging Face Trainer or compatible training-state artifacts before trusting test metrics.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: select-and-verify-best-checkpoint description: Proves that evaluation ran at the intended cadence, the tracked metric selected the true best checkpoint, and held-out inference loaded that checkpoint. Use with Hugging Face Trainer or compatible training-state artifacts before trusting test metrics.

Select and Verify Best Checkpoint

Treat checkpoint identity as an evidence requirement, not a configuration assumption.

Configure selection explicitly

Set evaluation and saving to compatible cadences. Specify the metric, whether greater is better, and best-model loading. Ensure the configured metric name matches the emitted evaluation key; account for frameworks that add an eval_ prefix.

Verify trainer state

After training, run:

python scripts/verify_checkpoint.py output/trainer_state.json \
  --metric eval_loss \
  --expected-eval-steps 50,100,150 \
  --evaluation-manifest held-out-run.json \
  --loaded-checkpoint-field loadedCheckpoint \
  --output checkpoint-proof.json

The script fails unless:

  • the expected evaluation steps are present;
  • best_metric and best_model_checkpoint are non-null;
  • the recorded metric equals the optimum in evaluation history;
  • the best checkpoint step matches the optimum step;
  • the held-out manifest identifies that exact checkpoint.

Use --greater-is-better for maximized metrics and repeat --required-file to require adapter or model files inside the best checkpoint.

Preserve proof

Record the trainer state hash, checkpoint path and hash inventory, best metric and step, evaluation manifest, and evaluation command. If ties exist, report the framework's selected tied checkpoint rather than pretending the optimum is unique. Never claim held-out results came from the best checkpoint without an explicit load identity.

我的收藏