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 选错工具的机制根源。