Zubnet AI学习Wiki › Logits
基础

Logits

别名:原始分数、Softmax 前输出
模型在通过 softmax 函数转换为概率之前输出的原始、未归一化的分数。对于语言模型,logits 是一个向量,词汇表中每个 token 对应一个值——值越高表示模型认为该 token 越可能。Logits 是模型产生的最具信息量的输出,包含的信息比最终概率分布更多。

为什么重要

理解 logits 有助于你理解模型如何“思考”。温度、top-p 和 top-k 采样都在 logits 上操作。图像生成中的无分类器引导操纵 logits。Logit 偏置(向特定 token 添加偏移量)让你引导模型行为。如果你在构建超越基本聊天的 AI 应用,你最终需要直接处理 logits。

深度解析

模型的最后一层产生一个大小为 V(词汇表大小,通常为 32K–128K)的向量。每个元素是该 token 的 logit。Softmax 将其转换为概率:P(token_i) = exp(logit_i) / ∑ exp(logit_j)。在 softmax 之前,logits 可以是任何实数——正数、负数或零。logit 为 10 vs. 5 意味着模型认为第一个 token 大约 e^5 ≈ 150 倍更可能。

Logit 操纵

几种技术直接在 logits 上工作。温度在 softmax 之前将所有 logits 除以 T(T<1 使分布更尖锐,T>1 使分布更平坦)。Top-k 将除了 k 个最高值之外的所有 logits 清零。Top-p(核采样)将超出累积概率 p 的最小集合之外的 token 的 logits 清零。Logit 偏置为特定 token 的 logits 添加固定偏移量——为"JSON"的 logit 加 +10 会使模型强烈倾向于以 JSON 开头。重复惩罚降低最近生成的 token 的 logits。

对数概率

大多数 API 可以返回对数概率(softmax 输出的对数)以及生成的 token。这对以下用途很有价值:衡量模型信心(低对数概率 = 不确定)、校准输出(90% 置信度的预测是否有 90% 的时间是正确的?),以及从 LLM 构建分类器(比较不同补全的对数概率)。对于极端值,对数概率比原始概率在数值上更稳定。

相关概念

← 所有术语
← llama.cpp LoRA →
ESC