Top-k采样:AI如何从候选词中选择
把概率低的词直接排除,只从"靠谱"的词中选
想象你在考试时遇到一道选择题,有A、B、C、D四个选项。
你很确定答案是B或C,A和D肯定错。那你做题时,会考虑A和D吗?不会,你会把注意力集中在B和C上,从中选择。
Top-k采样就是这个思路:AI在选下一个词时,不是从所有可能的词中选,而是只从概率最高的k个词中选。
把明显不靠谱的选项先排除,只保留"有希望"的候选。这样做既保证了质量,又保留了一定的多样性。
1Top-k 采样原理
Top-k采样是一种文本生成策略:在每一步预测下一个词时,只保留概率最高的k个词作为候选,然后从这k个词中按概率采样。
Step 1:计算所有词的概率
AI预测"今天天气很___"的下一个词,给词表中每个词都算一个概率分数:
好
45%
Rank #1
不错
25%
Rank #2
差
15%
Rank #3
糟
5%
Rank #4
其他
10%
...
Step 2:只保留Top-k个词(假设k=3)
丢弃概率排名k之后的词,只保留前k个:
好
45%
✓ 保留
不错
25%
✓ 保留
差
15%
✓ 保留
糟
✗ 丢弃
其他
✗ 丢弃
Step 3:重新归一化并采样
把保留的k个词的概率重新归一化(总和=1),然后按概率采样:
好
45/85 = 53%
不错
25/85 = 29%
差
15/85 = 18%
然后按这3个概率采样。53%概率选"好",29%选"不错",18%选"差"。
2Top-k 解决的问题
为什么不能直接从所有词中采样?为什么要先截断?
问题1:低概率词可能是"垃圾"
词表中可能有几万个词。大部分词概率极低,选它们会导致输出不连贯甚至无意义。比如"今天天气很香蕉"——语法错误,语义不通。Top-k把这些"垃圾选项"直接排除。
问题2:提高计算效率
如果词表有10万个词,每一步都要计算所有词的概率并采样,计算量很大。Top-k只需要处理k个词,大幅减少计算开销。
问题3:平衡质量与多样性
如果只选概率最高的1个词(贪心),输出会很死板。如果从所有词中随机选,输出可能很离谱。Top-k取中间值:只从"靠谱"的候选中选,既保证质量,又保留多样性。
3如何选择合适的k值?
k的选择直接影响生成效果。选多少合适?
只选概率最高的词。输出完全确定,但可能很死板,缺乏变化。
"今天天气很好。"(每次都一样)
特点:最稳定,但最无趣
保留概率较高的词,排除低概率垃圾。输出有变化但不会太离谱。
"今天天气很好。" 或 "今天天气很不错。" 或 "今天天气很差。"
特点:平衡质量与多样性,最常用
保留更多候选词,输出更多样,但可能选到一些"边缘词"。
"今天天气很美丽。" 或 "今天天气很古怪。" 甚至 "今天天气很香蕉。"
特点:多样性高,但质量风险增加
💡 实践建议
- • k=40~50 是最常用的默认值,平衡效果好
- • 需要更稳定的输出 → 降低k
- • 需要更多创意和变化 → 提高k
- • 同时配合温度参数调整,效果更可控
4Top-k 与温度的配合
Top-k和温度解决的是不同的问题,两者需要配合使用。
✂️ Top-k 解决:从多少个候选中选?
Top-k决定"候选池"的大小。k=10,候选池就是10个词;k=50,候选池就是50个词。
类比:决定"考试有几道备选答案"
🌡️ 温度解决:选的概率分布是怎样的?
温度决定候选词之间的概率差异。低温让大概率词更容易被选中,高温让概率更平均。
类比:决定"更倾向于选哪个答案"
🔧 常见组合
稳定输出
k=10, T=0.3
候选少+概率集中
平衡模式
k=50, T=0.7
候选适中+概率适中
创意输出
k=100, T=1.2
候选多+概率分散
5Top-k 的局限性
⚠️ 局限1:k是固定值
Top-k的问题在于k是固定的。但有时候概率分布很"集中"(一个词占80%),有时候很"分散"(前十名各占5%)。固定k无法适应这种变化。
例子:k=10时,如果前3个词占了95%概率,后7个词毫无意义却还在候选池里
⚠️ 局限2:可能排除"好词"
有时候排名第k+1的词其实也挺好的,但被Top-k硬性排除了。这可能导致输出错过一些有创意的选择。
例子:k=5时,排名第6的"美丽"可能比第5的"还行"更好,却被排除
💡 解决方案
Top-k的局限促成了 Top-p(核采样)的诞生。Top-p不是固定候选数量,而是固定概率总和——保留累计概率达到p的所有词。这样候选数量可以动态调整。
→ 下一篇我们详细讲Top-p
6核心总结
🎓 一句话总结
- ①定义:Top-k只保留概率最高的k个词作为候选,从k个词中采样
- ②解决的问题:排除低概率垃圾、提高效率、平衡质量与多样性
- ③k值选择:k=40~50是常用默认值;k小=稳定,k大=多样
- ④与温度配合:Top-k决定候选池大小,温度决定选哪个的概率
- ⑤局限:k固定无法适应概率分布变化,可能排除好词→引出Top-p
→下一篇预告
👉 下一篇:Top-p采样
Top-k的问题是k固定,无法适应不同的概率分布。Top-p(核采样)解决了这个问题:它不固定候选数量,而是保留累计概率达到p的所有词。这样在概率分布集中时候选少,分散时候选多。下一篇我们来详细讲解这个更灵活的采样策略。
✏️ 手绘图解 · AI Catch 出品
第 45 篇 / 共 84 篇 · 第五阶段:LLM高级技巧