目录
同一组 Logits 可以生成完全不同的文本。Greedy 每次选最高分,Sampling 按概率抽取;Temperature、Top-K、Top-P 会在抽样前重新塑造候选分布。
模型给出概率,解码策略决定如何从概率里选出下一个 Token。
1、Greedy 与 Sampling
Greedy decoding 总选概率最高的 Token,结果稳定,但容易重复或过于保守。Sampling 按分布随机抽取,让低一些的候选也有机会出现,文本更多样。
2、Temperature 调整分布
Softmax 前把 Logits 除以温度 T。T 小于 1 时差距被放大,分布更尖;T 大于 1 时分布更平,随机性更强。
T 接近 0 常退化为近似 Greedy。Temperature 不会直接删除候选,只改变相对概率。
3、Top-K 固定保留 K 个
Top-K 只保留概率最高的 K 个 Token,其余设为不可选,再重新归一化。它简单,但无论当前分布很确定还是很分散,候选数量都固定。
4、Top-P 保留累计概率
Top-P 又叫 Nucleus Sampling。把 Token 按概率排序,从高到低累加,保留累计概率达到阈值 p 的最小集合。
分布很集中时候选少,分布很平时候选多,因此能随上下文自适应。
5、组合顺序
常见流程是先用 Temperature 调整 Logits,再应用 Top-K / Top-P 截断,重新归一化后抽样。不同框架在细节和默认值上可能不同,应查看实际实现。
6、参数没有万能答案
事实问答和代码生成通常需要更稳定;创意写作可以增加随机性。采样参数还会与重复惩罚、最大长度、停止词和模型本身交互。评估时应固定随机种子与配置。
容易混淆的三件事
- Temperature 不是直接删词。
- Top-P 的候选数不是固定值。
- 更随机不等于更有创造力或更正确。
记住这 5 件事
- Greedy 总选最大概率
- Temperature 改变分布尖锐度
- Top-K 固定候选数
- Top-P 固定累计概率
- 截断后必须重新归一化
参考资料
第十七课复习总图
下一课解释 KV Cache:为什么逐 Token 生成时不必反复计算整个历史?