同样的问题,AI 有时给出严谨准确的回答,有时却能天马行空地创作。这背后是采样策略在起作用——它决定了 AI 如何从”可能的下一个词”中做选择。
一、不只是”最高概率”
前面我们说过,LLM 的核心是预测下一个 token。但这里有一个细节:模型输出的不是一个确定的词,而是一个概率分布。
输入: "今天天气"
模型预测下一个 token 的概率:
"很" → 30%
"真" → 25%
"非常" → 15%
"比较" → 10%
其他 → 20%
问题来了:怎么选?永远只选概率最高的那个吗?
如果每次都选最高概率,LLM 会变得非常无聊——对同一个问题永远给出同样的答案,毫无创造力。但如果随便选,又可能输出一堆胡言乱语。
采样策略,就是用来平衡”确定性”和”多样性”的。
二、四种核心采样策略
2.1 贪心解码(Greedy Decoding)
做法:每次选概率最高的 token。
输入: "今天天气"
选概率最高 → "很"(30%)
输入: "今天天气很"
选概率最高 → "好"(70%)
输入: "今天天气很好"
选概率最高 → "。"(60%)
输出: "今天天气很好。"
| 优点 | 缺点 |
|---|---|
| 不引入随机采样,结果通常更稳定 | 仍可能受模型版本、运行后端和数值计算影响,不能承诺跨环境完全复现 |
| 适合翻译、摘要等需要准确性的任务 | 可能陷入重复循环 |
2.2 温度采样(Temperature Sampling)
做法:引入一个温度参数 T 来调节概率分布的”陡峭程度”。
- T < 1(降温):概率分布变得更”尖”,高概率选项更突出 → 输出更保守
- T = 1(常温):保持原始分布
- T > 1(升温):概率分布变得更”平”,低概率选项也有机会被选中 → 输出更多样
输入: "写一个故事的开头"
T=0.3(保守):
"从前有一个小村庄,坐落在一片宁静的山谷中..." ← 经典开局
T=1.5(创意):
"在第七维度的边缘,时间的裂缝中渗出蓝色的光..." ← 天马行空
温度就像是 AI 的”创意滑块”——温度越低越稳重,越高越奔放。
2.3 Top-K 采样
做法:只从概率最高的 K 个候选中随机选择,直接排除那些不合理的低概率词。
典型值: K=40~50
概率分布: 好(30%) 热(20%) ... 冰雹(0.01%) 台风(0.005%)
Top-K=40: 只从前 40 个候选中选 → 自动排除了"冰雹""台风"等怪词
优点:避免选到明显不合理的词。 缺点:K 值固定不够灵活——对确定性强的场景,40 个候选太多;对发散性强的场景,40 个太少。
2.4 Top-P 采样(Nucleus Sampling)
做法:不固定候选数量,而是选择累积概率达到 P 的最小候选集合。
示例: P=0.9
高确定性场景: "今天天气很___"
前 3 个候选(好、热、差)累积概率已达到 92% → 只从这 3 个里选
低确定性场景: "他突然说了一句___"
可能需要 20 个候选才累积到 90% → 从 20 个里选
Top-P 的优势在于动态调整候选集合大小:分布集中时保留较少候选,分布分散时保留较多候选。具体是否使用、默认值是多少,要看模型和推理服务。
三、实战:如何搭配使用?
不同模型对采样参数的支持并不一致。对于同时支持 Temperature 和 Top-P 的 API,先固定其他参数、只调其中一个,通常更容易判断效果:
# 示例 A:只调 temperature
temperature = 0.7
# 示例 B:保持默认 temperature,只调 top_p
top_p = 0.9
下面只给出实验方向,不是跨模型通用的推荐值:
| 任务类型 | 推荐配置 | 原因 |
|---|---|---|
| 代码生成 | 从较低随机性开始,对单测通过率做评测 | 语法稳定不等于逻辑正确 |
| 创意写作 | 逐步提高随机性,人工比较多样性与可读性 | 防止低概率噪声破坏连贯性 |
| 客服对话 | 以准确率、语气一致性和拒答表现调参 | 不能只看“自然” |
| 事实问答 | 降低随机性并接入检索、引用和事实核验 | 低温不能保证事实正确 |
| 头脑风暴 | 适当提高随机性并保留筛选步骤 | 多样性提升不代表质量提升 |
快速调参口诀:
- 输出太死板 → 提高 temperature
- 输出太混乱 → 降低 temperature 或 top_p
- 出现无意义文本 → 启用 top_p 过滤
- 需要一致性 → 固定模型快照和参数;若服务支持,再使用随机种子,并接受它通常只是尽力复现
小结
- 贪心解码:永远选概率最高,最保守也最无聊。
- 温度采样:调节”创意滑块”,T 低=保守,T 高=创意。
- Top-K:只从前 K 个候选里选,过滤离谱选项。
- Top-P:动态调整候选数量,最灵活实用。
- 实战中:先确认模型支持哪些参数,再用代表性评测集一次只调一个变量。
下一篇是本系列的终章,我们将从工程视角看 LLM 的三大实际问题——延迟、成本与幻觉,以及如何应对。