LLM 基础概念交叉熵语言模型训练LLM 基础速答 · 约 5 分钟更新 2026-09-28

交叉熵损失是什么?训练大模型时模型到底在优化什么?

一句话结论

交叉熵衡量模型预测分布和真实分布的差距,训练大模型就是让真实的下一个 token 概率更高,也就是最大化它的对数似然。

先这样答

交叉熵可以理解为模型预测的概率分布和真实分布之间的差距。训练大模型时,目标只有一句话:让模型给下一个真实 token 更高的概率。模型先输出一组 logits,经过 softmax 变成词表上的概率分布,再根据训练数据中真正出现的下一个 token 计算交叉熵损失。

对语言模型来说,真实分布通常可以看成真实 token 位置为 1、其他位置为 0 的分布,所以交叉熵主要惩罚模型没有给真实 token 足够高的概率。损失越小,说明模型给真实下一个 token 的概率越高,这和最大化正确 token 的对数似然是等价的。多个 token 的损失取平均后,还可以通过 perplexity 衡量预测难度,困惑度等于平均交叉熵的指数。之所以不用准确率直接训练,是因为概率是连续且可导的,可以做梯度下降,而准确率依赖离散的最大概率选择,不可导,无法直接提供有效梯度。

所以,训练大模型本质上是在不断调整参数,让真实文本中每个下一个 token 的条件概率更高。

面试官会怎么追问

  • 「softmax 和交叉熵分别做什么?」 logits 是模型输出的未归一化分数,softmax 把它们转换成总和为 1 的概率分布。交叉熵再用真实 token 的位置评估这个分布,真实 token 概率越低,损失越大。

  • 「为什么说交叉熵等价于最大化对数似然?」 对单个真实 token,交叉熵就是负的真实 token 概率的对数。最小化负对数概率,就等价于最大化真实 token 的对数概率;对整段文本求和或求平均,就是最大化整段数据的对数似然。

  • 「perplexity 越低说明什么?」 困惑度是平均交叉熵取指数后的结果,因此交叉熵降低时,困惑度也会降低。它可以直观反映模型对真实 token 的平均不确定性,但不同词表、分词方式或数据集之间不能简单横向比较。

回答的坑

  • 常见错误是说模型在直接最大化准确率,正确方向是说明它通过最小化交叉熵来提高真实下一个 token 的概率。

  • 常见错误是把交叉熵说成两个向量做距离,正确方向是强调它衡量概率分布差异,并且对语言模型对应真实 token 的负对数概率。

—— 本题完 ——