Top-p采样:更智能的候选词筛选
候选数量动态调整,适应不同的概率分布
上一篇我们讲了Top-k采样:只保留概率最高的k个词。但Top-k有个问题——k是固定的。
想象两种情况:
情况A:概率分布很集中,第一名占85%,第二名占10%,其他都不到1%。这时k=10太大了——后8个词毫无意义。
情况B:概率分布很分散,前十名各占5%。这时k=10可能刚好,或者还不够。
Top-k用同一个k应对这两种情况,效果肯定不理想。
Top-p采样解决了这个问题:它不固定候选数量,而是固定候选词的累计概率总和。
1Top-p(核采样)原理
Top-p采样(也叫核采样,Nucleus Sampling)的规则是:保留概率从高到低的词,直到累计概率达到p。
场景:概率分布很集中
好
85%
累计85%
不错
8%
累计93%
差
3%
✗ 超出p
其他
4%
✗ 超出p
→ 只保留2个词就达到p=0.9,候选数量=2
场景:概率分布很分散
好
15%
累计15%
不错
12%
累计27%
差
10%
累计37%
糟
9%
累计46%
坏
8%
累计54%
可
8%
62%
美
7%
69%
热
7%
76%
冷
7%
83%
暖
7%
90%
→ 需要10个词才能达到p=0.9,候选数量=10
💡 核心优势
Top-p的候选数量动态调整:概率分布集中时候选少,分散时候选多。这比固定k更智能。
2Top-p 与 Top-k 的对比
✂️ Top-k
固定的是:候选数量
不固定的是:累计概率
• 概率分布集中:前k个词累计概率可能>99%
• 概率分布分散:前k个词累计概率可能只有60%
• 效果不稳定,取决于分布形态
📊 Top-p
固定的是:累计概率
不固定的是:候选数量
• 概率分布集中:候选数量少(如2-3个)
• 概率分布分散:候选数量多(如10-20个)
• 效果稳定,自动适应分布形态
🔧 实际使用
现代API通常支持同时设置Top-k和Top-p。执行顺序是:先Top-k筛选 → 再Top-p筛选 → 温度调整 → 最终采样。
常见组合:Top_k=50, Top_p=0.9, Temperature=0.7
3如何选择p值?
只保留概率高度集中的词。输出更稳定,但可能错过一些有创意的选择。
适合:需要稳定输出的场景
保留90%概率范围内的词。平衡质量和多样性,是大多数场景的默认选择。
适合:通用场景
保留几乎所有"有可能"的词。输出更多样,但可能选到一些边缘词。
适合:需要创意的场景
4Top-p 的优势与注意事项
✅ 优势
- • 自适应:候选数量随分布动态调整
- • 更稳定:不受分布形态影响
- • 效果更好:实践证明Top-p通常比Top-k效果更好
⚠️ 注意事项
- • 计算量略大:需要累计排序直到达到p
- • 极端情况:如果所有词概率接近0,可能需要很多词才能达到p
- • 配合使用:通常与Top-k同时设置,Top-k作为"硬上限"
5核心总结
🎓 一句话总结
- ①定义:Top-p保留累计概率达到p的所有词,候选数量动态调整
- ②vs Top-k:Top-k固定数量,Top-p固定概率;Top-p更智能
- ③p值选择:p=0.9最常用;p小=稳定,p大=多样
- ④配合使用:Top-k + Top-p + 温度,三层控制
→下一篇预告
👉 下一篇:RLHF(人类反馈强化学习)
采样策略控制的是"怎么生成",但AI生成的内容"好不好"由什么决定?RLHF(Reinforcement Learning from Human Feedback)就是用人类反馈来训练AI,让它学会说"人话"——符合人类偏好、价值观和安全标准。下一篇我们来详细讲解这个关键技术。
✏️ 手绘图解 · AI Catch 出品
第 46 篇 / 共 84 篇 · 第五阶段:LLM高级技巧