← 大模型应用基础

大模型生成时 logits、概率和 token 之间是什么关系?

高频 中等 Token 与生成原理 · 第 2 / 2 问 更新于 2026/09/25
LLMTokenLogitsSoftmax解码
学习 AI 实战项目

简化版

大模型每一步不是直接输出文字,而是先对词表中每个 token 给出一个 logit,再经温度、约束或采样处理形成选择分布,最后选出下一个 token 并追加到序列。Logit 是相对分数,不是概率;Softmax 概率也不是答案正确率。理解这条链路,才能正确解释随机性、受限解码和 Logprob 的能力边界。

详细版

  • token 是模型读写文本的最小离散单元,可能是一个字、一个词片段或标点。
  • logit 是归一化前的分数,大小表示当前上下文下模型偏向某个 token 的程度。
  • softmax 把 logits 转成概率,temperature 会改变分布尖锐程度。
  • 采样策略从概率分布中选 token,因此生成质量不仅取决于模型,也取决于解码参数。
  • 面试中要能把“模型算分、概率化、抽样、拼回文本”这四步讲清楚。

完整版教学

核心边界:Softmax 把相对分数归一化为“下一个 token 的模型分布”,不是把答案校准成事实正确概率。

一、生成闭环从哪里开始

文本先由 Tokenizer 变成 token id,模型为词表中每个候选输出 logit,再经 softmax 得到条件概率。采样策略只在这组概率上选下一个 token,选中后追加到上下文并重复计算。

这个过程一直运行到生成 EOS、命中停止条件、达到长度上限或被外部取消。前一步选中的 token 会改变下一步上下文,因此微小差异可能在后续不断放大。

二、核心机制怎么工作

前向计算会得到一个长度等于词表大小的向量,向量中每个位置对应一个候选 token 的 logit。softmax 会让这些分数变成和为 1 的概率分布,解码器再根据业务目标选择保守或开放的生成方式。

logit 是未归一化分数,加同一常数不会改变 softmax;temperature 用除法缩放 logit 差距,T<1 让分布更尖,T>1 更平。top-k 固定保留 k 个候选,top-p 保留累计概率达到 p 的最小集合。

三、带数字的拆解

假设词表只有 5 个候选 token,logits 分别是 [6.0, 4.0, 2.0, 1.0, 0.0]。temperature=1 时第一个 token 已经明显占优;temperature=0.5 会进一步放大差距,输出更稳定;temperature=1.5 会拉平分布,输出更发散。

p_i = exp(logit_i / T) / sum_j exp(logit_j / T)
T 越小,分布越尖锐;T 越大,分布越平。
greedy decoding = argmax(p_i)

四、流程图和工程落点

可以把它拆成下面这条链路来讲:

上下文 token ids
        |
Transformer 前向计算
        |
词表 logits
        |
softmax + temperature/top-p/top-k
        |
选择下一个 token 并追加到上下文

五、和相近方案怎么区分

概念作用常见面试点
token离散输入输出单元为什么中文、英文长度估算不同
logit模型未归一化偏好为什么不能直接当概率
probability可采样分布temperature 如何影响稳定性
decoder选择 token 的规则业务场景如何调参数

六、上线或训练时最容易踩的坑

  • 把 logit 当成概率会导致解释错误,因为 logit 可以为负,也不要求求和为 1。

  • 只调 temperature 不能解决所有幻觉问题,检索、约束解码和答案校验同样重要。

  • 不同 Tokenizer 会改变 token 数、截断位置和成本,即使可见文本完全相同也不能直接比较 logits。

  • 服务端可能同时应用 temperature、top-p、重复惩罚和 logit bias,复现实验必须记录完整解码配置。

七、把 logits 真正算成概率

对 logits [6,4,2,1,0],为数值稳定可先减去最大值 6,再做 Softmax。T=1 时概率约为 [0.860, 0.116, 0.016, 0.006, 0.002];T=0.5 时第一项约为 0.982;T=1.5 时第一项约为 0.721,分布明显变平。

所有 logits 同时加 100,Softmax 结果不变,因为只看相对差值。实际实现也通常先减最大值避免 exp 溢出;这说明 logit 的绝对零点没有独立概率含义。

八、常见误区与追问

  • 误区:token 就等于中文的一个字。 常见字可能独立成 token,生僻字、空格、英文和代码可能被拆成多个子词或字节片段。
  • 误区:概率最高的 token 一定组成最好的答案。 局部贪心不保证整段联合概率或任务质量最高,早期选择还会改变后续条件分布。
  • 误区:temperature 越高模型越聪明。 高温只让低概率候选更容易被采到,增加多样性同时也提高跑题和错误风险。
  • 追问:为什么 top-p 比 top-k 更适合开放式生成? top-p 的候选数会随分布置信度变化:分布尖时集合小,分布平时自动保留更多可能。
  • 追问:如何用 logits 做结构化输出约束? 根据 JSON 语法状态屏蔽非法 token,把其 logit 设为负无穷,再在剩余合法集合中归一化采样。
  • 追问:为什么同样 prompt 在不同服务端参数下结果不同? Tokenizer、模型版本、浮点实现、随机种子和采样过滤顺序任一不同,都可能改变生成路径。

九、加强记忆

记住“分词进来,logits 出来,softmax 成概率,解码定风格”。面试时按这条链路讲,既能落到数学,也能落到工程调参。

生成链路按“文本分词—模型给 logits—softmax 成概率—过滤与采样—追加 token”记。temperature 改尖锐度,top-k 固定个数,top-p 固定累计概率。