土法炼钢兴趣小组的算法知识备份

【Transformer 与注意力机制】48|从 logits 到文本:贪心、Beam Search、采样的几何直觉

文章导航

分类入口
transformer
标签入口
#transformer#decoding#sampling#beam-search#logits

目录

语言模型每一步并不会直接吐出“最终答案”。它输出的是一组 logits:词表里每个 token 一个分数。softmax 把这些分数变成概率分布,然后解码策略决定选哪个 token。下一步,选出的 token 又会回到上下文中,影响后续分布。

因此,解码不是模型之外的无关小细节。同一个模型,同一个 prompt,只要 temperature、top-p 或重复惩罚不同,输出风格就可能完全不同。稳定、创造性、幻觉、重复、格式遵循,都和解码策略有关。

本篇能让你学会三件事:

  1. logits 如何变成下一个 token 的概率;
  2. 贪心、Beam Search、采样各自代表什么决策偏好;
  3. 为什么聊天模型常用采样,而不是机器翻译时代常见的 beam。

一、logits、softmax、概率分布

模型最后一层输出一个向量,长度等于词表大小。这个向量就是 logits。logit 越大,对应 token 在当前上下文下越可能。

softmax 把 logits 转成概率:

\[ p_i=\frac{e^{z_i}}{\sum_j e^{z_j}} \]

这里的 \(z_i\) 是第 \(i\) 个 token 的 logit。softmax 保证所有概率非负且总和为 1。

但概率分布还不是文本。解码策略要从这个分布中选择 token。选择方式不同,生成序列就不同。


二、贪心解码

贪心解码每一步选择概率最高的 token。它简单、确定、稳定。对于格式固定、答案明确的任务,贪心可能很好。

问题是,局部最优不等于全局最优。每一步都选当前最高概率,可能让模型走进重复、平庸或过早结束的路径。自然语言生成不是单步分类,而是一条路径。

贪心还会降低多样性。写作、对话、创意任务通常需要在合理范围内探索多个可能表达,而不是永远选最安全的词。


Beam Search 保留多条候选路径。beam size 为 4 时,每一步保留当前总概率最高的 4 条序列,再继续扩展。它比贪心更接近全局搜索。

机器翻译和摘要曾经大量使用 Beam Search,因为这些任务往往有较明确目标:给定源句,找高概率目标句。Beam Search 能减少单步贪心造成的早期错误。

但在开放式聊天中,Beam Search 往往让回答变得保守、重复、缺乏自然变化。高概率文本不一定是最有帮助、最自然或最有信息量的回答。


四、temperature:改变分布尖锐程度

temperature 会缩放 logits:

\[ p_i=\mathrm{softmax}(z_i/T) \]

\(T<1\) 时,分布更尖锐,高概率 token 更占优势;\(T>1\) 时,分布更平,低概率 token 更容易被采到。

temperature 不是“智商旋钮”。它改变的是随机性和探索程度。低 temperature 更稳定但可能死板,高 temperature 更有变化但更容易跑偏。


五、top-k 与 top-p

top-k 只保留概率最高的 k 个 token,然后在其中采样。它直接切掉长尾。k 小,输出更稳定;k 大,多样性更高。

top-p(nucleus sampling)保留累计概率达到 p 的最小 token 集合。它不是固定数量,而是随分布形状变化。分布很尖时保留少量 token;分布很平时保留更多 token。

top-p 更适合自然语言,因为不同上下文下合理候选数量不同。有些位置答案很确定,有些位置可以有多种表达。


六、重复惩罚和停止条件

语言模型容易重复,尤其在长生成中。重复惩罚会降低已经出现过的 token 的概率,避免模型陷入循环。频率惩罚、presence penalty 等策略也有类似目的。

停止条件同样重要。模型需要知道何时停止:遇到 EOS token、达到最大长度、生成特定 stop sequence,或满足工具调用格式。停止条件设计不好,模型可能过早截断,也可能继续输出无关内容。

这些策略看起来工程化,但直接影响用户体验。


七、为什么聊天模型常用采样

聊天任务是开放式生成。很多问题没有唯一答案,好的回答需要自然表达、适度变化和上下文适配。采样比 beam 更适合这种场景。

但采样不是越随机越好。高 temperature 加大 top-p 可能带来创造性,也会增加幻觉和格式漂移风险。生产系统通常会为不同任务设置不同解码参数:代码、JSON、工具调用偏稳定;创意写作可以更开放。

解码策略是模型行为控制的一部分,不是最后的装饰。


八、关键概念回顾


九、常见误解

9.1 “temperature 越高模型越聪明”

不对。temperature 只改变采样随机性,不改变模型知识或推理能力。

9.2 “Beam Search 总比采样好”

Beam 适合目标明确的序列生成,不一定适合开放式聊天。

9.3 “解码策略不影响事实性”

影响。更随机的解码更容易探索低概率路径,也可能增加幻觉风险。


十、下一步

解码策略决定每一步选什么 token,但推理效率还要解决另一个问题:历史前缀能不能复用?下一篇 49|KV Cache 讲自回归推理为什么不像训练那样计算。


十一、参考文献

  1. Graves, A. “Sequence Transduction with Recurrent Neural Networks.” ICML Workshop, 2012. Beam Search 在序列生成中的早期背景之一。
  2. Fan, A. et al. “Hierarchical Neural Story Generation.” ACL 2018. top-k 采样相关实践。
  3. Holtzman, A. et al. “The Curious Case of Neural Text Degeneration.” ICLR 2020. nucleus sampling 代表论文。
  4. Vaswani, A. et al. “Attention Is All You Need.” NeurIPS 2017.

← 上一篇:47|Diffusion + Transformer | 下一篇:49|KV Cache

同主题继续阅读

把当前热点继续串成多页阅读,而不是停在单篇消费。

2026-04-15 · transformer

【Transformer 与注意力机制】39|T5:把所有 NLP 任务统一成 Text-to-Text

T5 的核心不是又发明了一种 Transformer,而是把翻译、摘要、分类、问答都改写成“输入文本到输出文本”的统一格式。本文解释 T5 为什么选择 Encoder-Decoder 架构,span corruption 和 BERT/GPT 的目标有什么差异,C4 和系统化消融实验为什么让 T5 成为迁移学习路线的重要基准。


By .