大模型生成文本时,常见的采样参数有 temperature、top_k、top_p(nucleus sampling)。
请解释:
不知道
用户未作答,AI 直接讲解。用户反馈"解释得非常清晰,很喜欢",内容表达质量高、直觉友好,已沉淀为 curated 文章。
Temperature、Top-K、Top-P 三者都作用于 softmax 之后的 token 概率分布,但职责不同:Temperature 改变分布形状,Top-K 和 Top-P 改变候选范围。
Logits → 除以 T → softmax。T 是分母,所以:
本质:Temperature 不改变候选集合,只改变每个 token 被选中的概率。
只保留概率最高的 K 个 token,其余概率置零后重新归一化。
问题:K 是固定的,无法适应分布的"陡峭程度"。陡峭时 K=50 仍太冗余,平坦时 K=50 又太激进。
按概率从高到低排序,累积到 P 为止,只保留这些 token。
优势:自适应。分布陡峭时候选少,分布平坦时候选多,解决了 Top-K 的固定截断问题。
| 参数 | 作用对象 | 效果 |
|---|---|---|
| Temperature | 分布形状 | 锐化 / 平坦化 |
| Top-K | 候选数量 | 硬截断 |
| Top-P | 候选概率 | 软截断 |
工程实践中的常见组合:
注意:Top-K 和 Top-P 同时设置时,取两者交集(更严格的那个生效)。