跳转至

训练调试与稳定性

训练调试要避免只盯最终指标。更有效的方式是从数据、前向、反向、优化器和系统资源逐层定位。

监控指标

  • loss:训练 loss、验证 loss、分任务 loss。
  • 梯度:范数、异常值、是否为 NaN/Inf。
  • 学习率:warmup、峰值、衰减曲线。
  • 吞吐:samples/s、tokens/s、step time。
  • 显存:峰值、碎片、OOM 位置。
  • 数据:样本长度、空样本、标签分布。

排查顺序

  1. 用很小数据集确认模型能过拟合。
  2. 固定随机种子,减少不可复现因素。
  3. 检查输入、label、mask 的 shape 和语义。
  4. 检查混合精度和梯度缩放。
  5. 检查优化器参数组和 weight decay 设置。
  6. 扩大到真实数据和多卡环境。

常见症状

  • loss 为 NaN:学习率过大、数据异常、精度溢出。
  • loss 不动:标签错位、mask 错误、参数未更新。
  • 训练慢:数据加载慢、通信慢、算子不融合。
  • 多卡不一致:随机种子、dropout、同步点或数据切分问题。