问 AI 一个问题,它给出的往往不是唯一答案,而是每个候选词的一串分数。这些分数有大有小、还能是负数,人看着没感觉。Softmax 的作用,就是把这串分数变成一组加起来等于 1 的概率。理解它,你就明白大模型为什么有时「很自信」、有时「很犹豫」。
先说结论:变成概率是为了能解释、能采样
模型在输出前,会对词表里的每个候选词打一个分,这个分数叫 logits,可以是任意实数。分数本身没有尺度,人也读不出「这个词有多大机会被选中」。Softmax 把分数压缩到 0 到 1 之间并归一化,让它们变成可读的概率,也为后续的采样策略提供了依据。
Softmax 的三步运算
第一步,对每个分数取指数,把负数也变成正数,同时放大分数之间的差距;第二步,把所有指数值加总;第三步,用每个指数值除以这个总和。结果是:大的分数变得更大、小的分数被压得更小,且全部加起来正好等于 1。
可以这样记:如果两个候选词的分数分别是 2 和 3,取指数后差距会被拉大,最终高分的那个分到的概率占比会明显高于低分。分数差距越大,概率分布越集中,模型表现得越自信;分数越接近,概率越平均,模型越犹豫。
为什么需要概率:两个实际用途
概率的第一个用途是可解释。你可以直接说「模型认为这个词的可能性是 60%」,而不是面对一串无意义的数字。第二个用途是配合采样:按概率高低决定要不要冒险选一个次优词,这让输出既不完全死板、也不完全随机。
这里的关键是,概率给「不确定性」提供了一个统一刻度,后续的温度、top-k、top-p 等策略,本质上都是在调整或利用这个概率分布。
温度是怎么改变分布的
很多工具里的「温度」参数,就是在 Softmax 之前对分数做一次缩放。把温度调低,分数差距被放大,Softmax 之后的分布更尖锐,输出更稳定、更保守;把温度调高,分数差距被压缩,分布更平缓,输出更多样、更有创造性。
温度的取值通常在 0 到 2 之间,具体默认值因产品而异。理解了这一层,你就明白为什么调温度会直接改变 AI 的「创造性」和「确定性」。
速查:Softmax 与温度
- Softmax 作用:把任意分数变成 0 到 1、总和为 1 的概率。
- 分数差距大:分布集中,模型自信。
- 分数接近:分布平均,模型犹豫。
- 温度低:分布尖锐,输出稳定;温度高:分布平缓,输出多样。
一张表:分布形态对输出的影响
| 分布形态 | 模型表现 | 典型适用场景 |
|---|---|---|
| 概率高度集中 | 很自信,输出稳定 | 事实问答、代码生成 |
| 概率均匀分散 | 很犹豫,输出多样 | 头脑风暴、起名、文案 |
| 概率中等集中 | 确定性与多样性平衡 | 通用对话、改写 |
判断该不该调温度,先看任务要「准确」还是要「多样」。追求准确时把随机性压低,追求创意时适度放宽,这和AI 素养里「按任务选参数」的原则一致。
Softmax 给不了你的东西
一个常见误解是:Softmax 输出的概率,反映的是模型内部的倾向,并不等于客观正确率。模型说 90%,不代表这件事真有九成把握,这类过度自信正是「幻觉」的来源之一。
另一个边界是,Softmax 本身无法校准概率。要判断模型的自信是否可靠,需要额外的标定工作,这已经进入模型可靠性与AI 对齐的范畴。此外,Softmax 的指数运算在词表很大时也有计算开销,理解FLOPS这样的算力单位,能帮你估算这类操作的成本。它解决的是「分数怎么变成概率」,不解决「概率是否可信」。


