大数跨境

LLM Loss 与评估指标核心概念指南

LLM Loss 与评估指标核心概念指南 AI大模型智能体前沿
2026-08-03
2
导读:Loss 一路漂亮地下跌,跑出来的 Exact Match 却依然是 0?

导读

 

本文剖析了 LLM 训练 Loss 与评估指标的底层区别。Loss 是用于反向传播的可微梯度信号,指标则是离散的任务终局判定。受 Teacher Forcing、概率阶跃及格式约束影响,Loss 下降不等于效果提升,需结合两者诊断。


核心结论

Loss 与评估指标不是同一套逻辑,但目标一致:都用于推动模型取得更好的实际效果。

Loss 是给模型和优化器看的“梯度信号”,评估指标是给人看的“效果报告”。训练 Loss 下降,并不保证某个具体评估指标一定同步提升。


Loss 与评估指标的区别

对比维度
Loss(损失函数)
评估指标(Evaluation Metric)
服务对象
优化器,用于反向传播和参数更新
人或评测系统,用于判断模型效果
形式要求
通常需要几乎处处可微,或至少能提供可用梯度/次梯度
可以不可微,也可以包含任意复杂的判定逻辑
常见粒度
token 级损失,再对 token、样本或 batch 聚合
可以是序列级、集合级或任务级
关注视角
“下一个 token 的概率分布是否接近标准答案?”
“整个任务是否按要求完成?”
典型例子
交叉熵、负对数似然
Exact Match、准确率、F1、BLEU、ROUGE、人工评分

一句话理解:

Loss 负责告诉模型参数应该往哪里调整;评估指标负责告诉人调整后的模型到底好不好用。


LLM 的 Loss 必须可微吗?

严格来说,Loss 不必处处可微,但训练过程必须能够获得对模型参数有用的梯度信号。

LLM 通常使用梯度下降类算法更新参数:

因此,Loss 与模型中的运算通常需要满足以下条件:

  • 在训练经过的绝大多数位置可微;
  • 少数不可微点可以使用约定梯度或次梯度;
  • 梯度能够沿计算图反向传播;
  • 梯度不能长期为零、无穷大或 NaN

例如 ReLU 在   处不可微,但深度学习框架会为该点约定梯度,因此仍然可以正常训练。

相比之下,Exact Match 等评估指标只有 0 和 1,通常不可微,无法直接告诉优化器“参数应该朝哪个方向移动”,所以一般不能直接作为标准反向传播的 Loss。


Causal LM 的训练 Loss 在衡量什么?

Causal Language Model(因果语言模型)的训练 Loss 本质上通常是逐 token 的交叉熵损失

给定前文 $x_{<t}$,模型预测下一个标准 token="" $x_t$="" 的概率:<="" p="">$$L_t=-\log p_\theta(x_t\mid x_{<t}). $$="" 再将各个有效位置的 token loss 聚合,例如取平均:

模型学习的是:

在标准前文条件下,是否给下一个标准 token 分配了足够高的概率?

这与“自由生成出来的完整答案是否严格满足任务要求”有关,但并不等价。训练通常采用 Teacher Forcing:每一步预测所使用的前文来自标准答案,而推理时使用的前文包含模型自己刚刚生成的 token。两种场景之间存在差异。


不同任务的 Loss 一样吗?需要自己设计吗?

不同任务通常使用不同的 Loss,但大多数时候不需要从零设计。经典任务已经有成熟、稳定的选择,优先使用标准实现通常更可靠。

任务
常用 Loss
说明
文本分类、情感分析
Cross-Entropy(交叉熵)
根据类别概率计算损失
Token 分类,如 NER、分词
Cross-Entropy + Mask
忽略 Padding 等不参与训练的位置
句子相似度、语义检索
Cosine Similarity Loss、Contrastive Loss
拉近相似样本,推远不相似样本
Causal LM 文本生成
Cross-Entropy
预测下一个标准 token
回归任务
MSE、L1、Huber Loss
衡量预测数值与真实数值的差距
类别不平衡分类
加权 Cross-Entropy、Focal Loss
提高少数类或难样本的影响

对于常规 Causal LM 监督微调,通常直接使用逐 token 交叉熵。以 TRL 的 SFTTrainer 为例,训练流程已经封装了标准的语言模型损失;只要模型、数据格式和标签设置正确,一般不需要自己实现 Loss。

什么时候需要自定义或组合 Loss?

1. 多任务学习

一个模型同时完成分类、生成等多个任务时,可以组合各任务的 Loss:

其中   控制不同任务对参数更新的影响。权重设置不合理时,一个任务可能压制另一个任务。

2. 特殊训练目标

如果任务特别在意输出长度、格式或重复内容,可以在标准 Loss 上增加辅助惩罚项:

例如,可以尝试惩罚过长输出。但长度和离散生成结果通常难以直接写成稳定、可微的目标;设计不当还可能使模型倾向于输出过短内容。实践中一般先通过高质量训练数据、正确的 <EOS> 标签、提示词和生成参数解决。

3. 序列级或偏好优化

标准交叉熵主要优化 token 级预测。如果目标是完整回答的帮助性、安全性或任务得分,可以考虑:

  • 强化学习方法:将序列级评价转化为奖励信号,例如 RLHF 中的策略优化;
  • 偏好优化方法:例如 DPO,通过“更优回答与较差回答”的成对偏好数据构造可微训练目标;
  • 最小风险训练等方法:用候选序列的任务代价近似优化序列级目标。

BLEU、ROUGE、Exact Match 等离散指标通常不可微,不能直接进行普通反向传播。需要使用可微代理目标、采样估计或强化学习等方式间接优化。DPO 也不是直接对这些指标求导,而是学习偏好数据所表达的目标。

4. 类别或样本不平衡

如果少数类别、稀有标签或困难样本被平均 Loss 淹没,可以使用类别权重、样本权重或 Focal Loss。但权重过高也可能导致过拟合少数样本,需要结合验证集调节。

初学者应该如何选择?

对初学者而言,绝大多数常规任务从标准 Loss 开始就足够了。真正决定效果的因素往往包括:

  • 数据质量与标注一致性;
  • 数据量和样本覆盖范围;
  • 学习率、batch size 与训练轮数;
  • 输入输出格式及标签掩码是否正确;
  • 推理时的温度、采样方式和停止条件。

只有在确认标准 Loss 与最终任务目标存在明确偏差,并且数据与训练流程已经可靠之后,才值得设计自定义 Loss。


示例:Loss 降低,Exact Match 仍然为 0

用一个自然的日常文本生成与问答场景来理解:为什么微调时 Loss 曲线一路漂亮地下降,但验证集上的 Exact Match(EM,精确匹配率)却依然是 0?

场景一:替换了近义词或个别字词(连续概率 vs 离散判定)

假设在文本生成任务中,标准答案是一句通顺的自然语言:

标准答案“人工智能正在深刻改变人类的生产与生活方式。”

模型自由生成的结果却是:

模型生成“人工智能正在深刻改变人类的生产与生活习惯。”

  • Loss 视角(极低): 模型对前 18 个字(“人工智能正在深刻改变人类的生产与生活”)预测得极其准确,每个 Token 位置的 Loss 几乎为 0。只有在结尾处,模型给 习惯 分配了 48% 的概率,给 方式 分配了 45% 的概率。全句的平均 Loss 从 3.5 显著下降到了 0.15(损失降低了 95% 以上,训练表现看似极其优秀)。
  • 评估视角(直接为 0): Exact Match 要求生成的字符串与标准答案全字完全匹配。由于最后一个词选成了近义词 习惯,系统判定:

场景二:输出了正确核心词,但带上了自然的回答前缀

假设在知识问答或结构化提取任务中,标准答案要求直接输出答案:

标准答案“巴黎”

模型在自由推理生成时输出的结果却是:

模型生成“法国的首都是巴黎。”

  • Loss 视角:在 Teacher Forcing 训练中,模型对核心词 “巴黎” 的预测概率从 1% 提高到了 90%,验证集 Loss 大幅下降。
  • 评估视角:评估系统直接将 "法国的首都是巴黎。" 与 "巴黎" 进行字符串精确比对,判定不匹配,
  • 根源:模型虽然掌握了事实知识,但未学会严格的输出格式限制。

为什么 Loss 与评估指标可能不同步?

主要原因包括:

  1. 局部与整体不同:Loss 衡量各位置的 token 概率,评估指标衡量完整输出。
  2. 连续与离散不同:概率从 0.60 提升到 0.80 会降低 Loss,但如果最终选出的 token 没变,Exact Match 也不会变。
  3. 平均与关键位置不同:大量容易预测的 token 可以拉低平均 Loss,但某个决定格式、停止或最终答案的关键 token 仍可能出错。
  4. 训练与生成不同:训练时常使用标准前文,推理时模型依赖自己的历史输出,早期错误可能逐步累积。
  5. 任务目标不完全一致:通用的“预测下一个 token”目标,不一定完整表达集合相等、格式合法、事实正确或指令遵循等任务要求。

Loss 是必要条件,不是充分条件

在常规监督训练中,更低的 Loss 通常意味着模型对标准 token 的概率建模有所改善,因此它往往是任务效果提升的重要基础。但它不能单独保证:

  • 完整答案严格匹配;
  • 输出数量和格式正确;
  • 模型在正确位置停止;
  • 事实、逻辑或任务约束全部满足;
  • 自由生成时得到最优结果。

因此,训练和验证模型时通常需要同时观察:

  • Loss:判断模型是否正在学习、训练是否稳定;
  • 任务评估指标:判断端到端效果是否真正提升;
  • 具体错误案例:判断错误发生在内容、格式、停止条件还是生成策略。

Loss 衡量局部 token 预测能力,评估指标衡量端到端任务完成度。Loss 降低通常有帮助,但不是评估指标提升的充分条件。

—THE END—

文章仅做学术分享,如有侵权请联系删除,非常感谢!


【声明】内容源于网络
0
0
AI大模型智能体前沿
分享AI大模型智能体前沿知识,探寻多元应用,洞察未来趋势,带你一路 “卷” 赢行业!🔥
内容 1111
粉丝 0
AI大模型智能体前沿 分享AI大模型智能体前沿知识,探寻多元应用,洞察未来趋势,带你一路 “卷” 赢行业!🔥
总阅读17.0k
粉丝0
内容1.1k