Logits 处理管线(Logits Processor)是一串在模型吐出词表分数之后、真正掷骰子选词之前,依次运行的调分规则。它决定了“下一个词”最终从哪个概率分布里抽出来。
模型最后一层会输出一个和词表一样长的向量,每个位置叫 logit(Logits),可以理解成每个候选词的原始得分。分数本身不是概率,要经过 softmax 才变成概率。管线就是在这条路上插队:有的规则改原始得分,有的规则改分布形状,有的规则直接砍掉候选。
打个比方:你要选一家餐厅吃饭,词表里每家店都有一个评分。Logit Bias 像手动给某家店加星或扣星;重复惩罚(Repetition Penalty)像“刚吃过的店今天别老去”,给已经出现过的词扣分;温度(AI 词典:Temperature">Temperature)像把评分表的差距整体拉平或拉开——温度高,评分差距缩小,冷门店也有机会;温度低,高分店更稳赢;Top-p(Nucleus Sampling)像最后只保留累计概率达到 p 的那一档餐厅,其余直接关门。
那么顺序呢?常见实现里,逻辑上大致分三段:先改原始分数,比如 Logit Bias 和重复惩罚;再调分布形状,比如温度;最后截断候选,比如 Top-k、Top-p,然后 softmax 和采样。原因是:前两步改的是同一份 logits,温度会整体缩放这些分数,如果先截断再改分,被砍掉的词就再也回不来了。不过不同框架、不同 API 的实际排列并不完全统一,温度和惩罚谁先谁后可能影响结果,具体以官方文档为准。
| 参数 | 作用位置 | 干什么 | 典型用途 |
|---|---|---|---|
| Logit Bias | 原始 logits | 给指定词加固定分/扣固定分 | 强制或禁止某些词 |
| 重复惩罚 | 原始 logits | 给已出现的词降权 | 减少复读 |
| 温度 | softmax 前缩放 | 拉平或拉开分差 | 控制随机性 |
| Top-p | 排序后的概率 | 只留累计概率到 p 的候选 | 砍掉长尾胡言 |
和相邻概念的区别:Top-p 和 Top-k 都是截断,一个按概率累计,一个按数量;温度不砍候选,只改形状;Logit Bias 不靠提示词,直接改分数。实际意义是,调参不是玄学:想让某词更容易出现,用 Logit Bias 比写提示词更直接;但如果温度很高,bias 的效果会被稀释。理解管线顺序,能帮你更快定位“为什么模型开始复读”“为什么改了 top-p 却没什么变化”。
