Logit(对数几率)

模型输出层在 Softmax 之前的原始数值,是未经归一化的"对每个候选 token 的打分"。Logit 值越高,对应 token 被选中的概率越大。Temperature、Top-k 等采样策略都作用于 logit 阶段。

Logit 在生成流程中的位置

LLM 每一步生成一个 token 的流程:

text
输入序列 → Transformer 前向传播 → 最后一层输出向量
→ 乘以词表矩阵 → logits(词表大小的数组)
→ softmax → 概率分布 → 采样 → 输出 token

Logits 就是 softmax 之前的那组原始数值。一个 50,000 词表的模型,每一步会输出 50,000 个 logit 值,每个值代表对应 token 的"原始得分"。

为什么不直接用 Logit?

Logit 可以是任意实数(正的、负的、很大、很小),不能直接当概率用。Softmax 把它们压缩到 (0, 1) 区间并且求和为 1,变成合法的概率分布。

采样策略都作用在 Logit 上

  • Temperature:softmax 之前把 logits 除以 T。T < 1 让高分更高(更确定),T > 1 让分布更平坦(更随机)
  • Top-k:只保留 logit 值最高的 k 个 token,其余设为负无穷
  • Top-p:按 logit 排序后累积概率,截断到 p

理解 logit 是理解模型输出控制(temperature、采样策略)的前提。当两个 token 的 logit 值接近时,softmax 后的概率也接近——模型在这两个选项之间"犹豫不决",这就是 Agent 选错工具的机制根源。