一句话定义
解码策略决定如何从模型输出的概率分布中选出下一个词元:temperature 重塑分布的「尖锐程度」,top-p(核采样)按累积概率截断候选集,二者组合是当代生成应用的标准配置。
为什么重要
同一个模型,temperature 0.2 写合同、0.9 写诗——解码参数直接决定输出的稳定性与创造性。它是使用者控制模型行为的第一层旋钮,也是排查「输出太随机/太呆板」问题的第一站。
前置知识
- kp-002(下一词概率分布)
核心概念
- 贪心解码(Greedy):每步取最高概率词,确定性强但易陷入重复。
- 温度(Temperature):logits 除以 T 后再 softmax;T<1 分布变尖(保守),T>1 变平(多样)。
- top-k:只保留概率最高的 k 个候选再归一化。
- top-p(核采样,Nucleus):保留累积概率达 p 的最小候选集,候选数随分布自适应。
- 重复惩罚 / 频率惩罚:对已出现词元降权,抑制循环。
- 文本退化(Degeneration):朴素采样产生的重复与套话循环(Holtzman 等,2020)。
原理与机制
softmax(T) 通过缩放 logits 指数放大或压缩概率差距:T→0 退化为贪心,T→∞ 趋于均匀分布。top-k 的固定候选数在高熵分布(创作)里截掉好候选、在低熵分布(代码)里放进坏候选;top-p 以累积概率为界,分布尖时候选少、平时候选多,自适应更优。工程细节:这些参数只改变「如何采样」,不改变模型本身;解码循环配合 KV 缓存(kp-014)实现高效生成。
公式或模型
温度缩放与 top-p 截断:
P_T(w) = softmax( logits / T )
TopP: V' = 最小的词集 使 Σ_{w ∈ V'} P(w) ≥ p ,在 V' 内重归一化后采样
TopP: V' = 最小的词集 使 Σ_{w ∈ V'} P(w) ≥ p ,在 V' 内重归一化后采样
图示
原始分布: 好0.50 天0.30 气0.15 不错0.04 ...(尾巴)
T=0.5: 好0.75 天0.22 ... (更尖/保守)
T=1.5: 好0.30 天0.24 气0.18 ... (更平/大胆)
top-p 0.9: 保留 {好,天,气} 累计0.95 → 截掉尾巴 → 重归一化采样
直观类比
temperature 像「室温对果冻的影响」:低温凝固(只走稳妥路线),高温融化(四散流淌、更有创意也易不成形)。top-p 像「只从最有把握的候选人里抽签」:民意集中(分布尖)时两个人选足够,民意分散时扩大入围名单。
实例或案例
典型配置经验:事实问答/代码 completion 用 T≈0-0.3 + top-p≈0.9;创意写作用 T≈0.8-1.2;Agent 工具调用建议低温以稳定输出格式(结构化输出见 kp-028)。Holtzman 等(2020)展示了朴素采样的重复退化与 beam search 在开放生成中的平庸化,推动 top-p 成为默认。
常见误区
- 「温度越高越聪明」:温度不改变知识,只改变采样随机性;高温反而放大错误。
- 「beam search 一定更好」:开放域生成中 beam search 易产出平淡重复文本,适合的是有明确最优解的封闭任务。
- 「重复惩罚能修复一切循环」:循环常是模型能力或上下文问题,参数只是缓解。
与其他知识点的关系
自测题
- temperature 的数学作用是什么?T→0 与 T→∞ 各退化为什么?答案要点:logits 除以 T 重塑分布;T→0 贪心,T→∞ 均匀随机。
- top-p 为什么优于固定 top-k?答案要点:候选数随分布熵自适应;高熵不多留、低熵不硬凑。
- 工具调用场景为什么建议低温度?答案要点:需要稳定的结构与格式,随机性会破坏参数 schema 的合法性。
延伸阅读
- The Curious Case of Neural Text Degeneration(Holtzman 等,2020):核采样