训练过程中你会关注哪些指标?
一、面试题简述
你在做模型训练的时候,一般重点关注哪些指标?如果不同指标之间出现冲突,比如 loss 在下降但某些行为指标恶化,你如何判断当前训练是健康的,还是已经出现了问题?
二、面试官想听的
这道题本质不是问你看什么指标,而是在看三件事:
1、你是否把训练理解为一个动态演化系统,而不是单点优化问题
2、你是否区分优化目标指标和风险预警指标
3、当指标冲突时,你是否具备判断优先级与干预逻辑
真正高分的回答一定是分层、分阶段、有诊断路径、有干预决策逻辑
三、面试回答举例
在我看来,模型训练不是一个最小化 loss的过程,而是一个受控的动态系统优化过程。
所以我不会只盯单一指标,而是把训练指标分为目标指标、稳定性指标、行为与分布指标三层结构。
并且我会结合训练阶段去动态判断。具体的:
第一层:目标指标,即模型有没有在朝正确方向优化
这类指标是直接对齐任务目标的:
- 监督学习:accuracy、F1、BLEU 等
- 生成模型:perplexity、win-rate、reward
- 强化学习:episode return、success rate
但我更关注的是:
- 趋势是否持续改善
- 是否已经进入平台期
- 是否出现提升很快但泛化停滞的现象
我不会只看训练集指标,而是必须同步看验证集或在线评估指标,否则很容易被表面优化误导。
第二层:稳定性指标,即系统是否处于可控状态
这是我最重视的一类。
包括:
- training loss 是否出现结构性震荡
- gradient norm 是否爆炸或长期趋近于 0
- learning rate 调度前后是否出现跳变
- 是否出现 NaN / overflow
这些指标的意义是判断训练是否仍然处于数值稳定区间。
很多严重问题,比如数值精度错误、优化器配置问题等往往最先在这里暴露,而不是在 accuracy 上。
第三层:行为与分布指标,即模型学到了什么
这一层尤其关键,在生成模型和 RL 中非常明显。
例如:
- token entropy 是否持续下降
- KL divergence 是否异常扩大
- 输出是否出现模式塌缩
- 多样性是否下降
- reward 是否上涨但语言质量下降
这类指标的意义在于判断模型是否在走捷径。
例如在 RLHF 中:
- reward 上升
- 但 KL rapidly 增大
- 输出开始重复或变模板化
这种情况说明模型在 exploit 奖励函数,而不是变得更智能。
指标冲突时如何判断?
如果出现冲突,例如loss 下降但 entropy 快速下降、KL 增大、多样性下降等。
我不会等最终指标崩溃,而是会判断为系统进入退化趋势。
我会结合三个问题判断是否需要干预:
1、这种变化是暂时的震荡,还是结构性趋势?
2、是否跨越关键调度节点?
3、是否在验证集同步出现退化?
如果行为指标恶化趋势持续 1-2 个 evaluation window,我会认为训练已经偏离健康轨道。
四、由浅入深分析
1、指标不是越多越好,而是要分角色
目标指标:是否在优化
稳定性指标:是否在可控区间
行为指标:是否在正确学习
很多人犯的错误是只看目标指标,忽略系统正在退化。
2、不同训练阶段关注重点不同
早期:
- loss 是否正常下降
- 梯度是否稳定
中期:
- 泛化指标是否同步改善
- 是否出现过拟合迹象
后期:
- 是否出现过度拟合
- 是否 reward 上升但行为退化
- 是否需要 early stop
阶段判断能力,是区分工程型和研究型训练者的关键。
3、趋势 > 单点数值
单次异常波动不是问题。
真正的危险信号是:
- 指标斜率改变
- 波动结构改变
- 分布形态改变
训练是一个时间序列问题,不是静态优化问题。
4、很多灾难先发生在非目标指标
真实工程中常见现象:
- entropy 先下降
- KL 先异常
- grad norm 先异常
- 最终 reward 崩掉
如果只看 reward,已经太晚。
五、面试加分点
1、明确区分优化指标和风险指标
2、提到loss 在下降但模型在变差的真实现象
3、提到 reward hacking / mode collapse 这种现象
4、把训练理解为动态系统控制问题
5、强调趋势判断而非单点值
#面试问题记录##面经##字节##大模型#
查看10道真题和解析