采样与解码

别名:Sampling / Decoding / Temperature / Top-P / Top-K / Beam Search / Greedy Search / Autoregressive Decoding / 温度系数 / 束搜索 / 贪心解码 / 自回归解码

把模型输出的概率分布变成具体 token 序列的策略:贪心、束搜索、温度、Top-K、Top-P。

更新于 2026/11/08
解码采样生成

一句话定义

采样与解码是把模型每步输出的概率分布变成具体 token 的策略;它决定回答的确定性、多样性和稳定性。

为什么需要它

模型只输出下一个 token 的分数。直接取最高分(贪心)最稳定但容易重复;按概率采样更自然,却可能跑偏。温度、Top-K、Top-P 和束搜索就是在这两者之间调平衡。

怎么工作

  1. 模型输出 logits,经 Softmax 与 Logits 变成概率。
  2. 贪心:每步取概率最高的 token。
  3. 束搜索:保留 k 条候选序列,按累计分数选最优;适合翻译等确定性任务。
  4. 温度 T:把 logits 除以 T;T<1 更集中,T>1 更发散。
  5. Top-K:只保留概率最高的 K 个 token;Top-P:保留累计概率达到 P 的最小集合。
  6. 选出 token 后追加到输入,进入下一轮;这就是自回归解码。

采样与解码:从 logits 到下一个 token

关键点与取舍

  • 确定性任务(抽取、代码、评测)优先低温/贪心;开放创作可以调高温度或 Top-P。
  • Top-P 通常比固定 Top-K 更自适应;两者可以叠加。
  • 束搜索提升序列分数,但延迟和显存更高,开放对话不一定更好。
  • 束搜索适合离线、可打分的任务;在线对话通常用采样以降低延迟。

常见误区

  • 温度不是“创造力开关”,它只改变分布的平坦程度。
  • Top-P=1 不代表不采样,只代表不截断。
  • 采样不会给模型增加知识;它只改变从已有分布里怎么选。

用在哪里

  • 调 API 的 temperature / top_p / top_k;离线评测固定解码参数。
  • 需要可复现结果时用贪心或固定种子;需要多样性时用采样。
  • 同一模型在不同解码参数下表现差异很大,评测时要写清楚配置。

相关概念