第 46 篇 · LLM高级技巧

Top-p采样:更智能的候选词筛选

候选数量动态调整,适应不同的概率分布

上一篇我们讲了Top-k采样:只保留概率最高的k个词。但Top-k有个问题——k是固定的。

想象两种情况:

情况A:概率分布很集中,第一名占85%,第二名占10%,其他都不到1%。这时k=10太大了——后8个词毫无意义。

情况B:概率分布很分散,前十名各占5%。这时k=10可能刚好,或者还不够。

Top-k用同一个k应对这两种情况,效果肯定不理想。

Top-p采样解决了这个问题:它不固定候选数量,而是固定候选词的累计概率总和

什么是Top-p采样?

1
Top-p(核采样)原理

Top-p采样(也叫核采样,Nucleus Sampling)的规则是:保留概率从高到低的词,直到累计概率达到p

Top-p的工作方式(p=0.9)

场景:概率分布很集中

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更智能。

Top-p vs Top-k

2
Top-p 与 Top-k 的对比

Top-p vs 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

p值选择

3
如何选择p值?

不同p值的效果
p=0.5~0.7保守模式

只保留概率高度集中的词。输出更稳定,但可能错过一些有创意的选择。

适合:需要稳定输出的场景

p=0.9平衡模式(最常用)

保留90%概率范围内的词。平衡质量和多样性,是大多数场景的默认选择。

适合:通用场景

p=0.95~1.0开放模式

保留几乎所有"有可能"的词。输出更多样,但可能选到一些边缘词。

适合:需要创意的场景

Top-p的优势与局限

4
Top-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高级技巧