← 返回题目列表

Temperature、Top-p、Top-k 如何影响大模型生成?

高频 中等 第 17 / 25 题 更新于 2026/09/17
大模型TemperatureTop-pTop-k

简化版

Temperature 先缩放 logits:小于 1 让高概率 token 更集中,大于 1 让分布更平;Top-k 只保留概率最高的 k 个候选,Top-p 则保留累计概率达到 p 的最小候选集合。它们改变随机性和多样性,不会增加模型知识或保证事实正确。生产中通常以一个截断策略为主,在验证集上按任务调参;抽取和工具参数偏低随机,创作可适当提高,并同时设置长度、重复和安全约束。

详细版

模型先产生 logits z_i,温度为 T 时概率为 softmax(z_i/T)T→0 接近贪心选择;T 增大后低概率候选获得更多机会。Top-k 固定候选数量,Top-p 的候选数量随分布尖锐程度变化,因此更自适应。

logits -> temperature scaling -> softmax
       -> top-k / top-p filtering -> renormalize -> sample

参数作用有耦合:很低温度后再设宽松 top-p 可能几乎无效,同时强烈收紧 top-k 与 top-p 则可能过度裁剪。不要照搬跨模型数值,因为 logits 校准和 API 实现不同。应用应固定 Prompt 与评测集,比较正确率、多样性、重复率、拒答、成本和人工偏好,并记录所有解码参数保证可复现。

完整版教学

一、从 logits 到下一个 token

模型对词表中每个候选输出一个 logit,它不是概率。Softmax 把 logits 转成总和为 1 的概率分布,再按分布采样下一个 token。

P(i) = exp(z_i / T) / Σ_j exp(z_j / T)

解码参数每一步都应用,因此早期一次随机选择会改变后续上下文,最终文本差异可能很大。

记忆钩子:Temperature 改分布形状,Top-k/Top-p 改候选集合,采样才从集合中做选择。

二、Temperature 控制相对差距

设 logits 为 [2,1,0]。T=1 时概率约为 [0.665,0.245,0.090];T=0.5 相当于 logits 变 [4,2,0],概率约 [0.867,0.117,0.016],首选明显更集中。

当 T=2 时差距缩小,约为 [0.506,0.307,0.186]。高温不是“更聪明”,而是让低概率 token 更容易被采样,也更容易产生离题与格式错误。

部分 API 对 T=0 有特殊贪心实现,具体边界要看平台,而不是假设公式可以直接除以零。

三、Top-k 固定候选数量

Top-k 保留 k 个最高概率 token,其余概率设为 0,再归一化。k=1 等同每步只选最高候选;k 增大允许更多词进入采样。

固定 k 的问题是分布有时很尖、有时很平。尖分布下第 50 名几乎无意义,平分布下只留 5 个又可能砍掉合理候选,所以同一 k 对不同步骤约束强度不同。

Top-k 简单、可控,但需要结合模型和任务验证。

四、Top-p 使用累计概率质量

Top-p 又称 nucleus sampling:按概率降序累加,保留累计达到 p 的最小集合。若前三项为 [0.6,0.25,0.08]p=0.8 会保留前两项;若分布很平,可能需要更多候选才能达到 0.8。

分布特征Top-kTop-p
集合大小固定动态
尖锐分布可能保留过多尾部候选较少
平坦分布可能裁剪过强候选较多

Top-p 适应概率形状,但 p 的相同数值在不同模型上仍不代表同样多样性。

五、组合参数会互相覆盖

常见流程是温度缩放后再做 top-k/top-p 过滤。若 top_k=1,无论温度多高最终都只有一个候选;若温度极低,top_p=0.95 也可能只留下很少有效概率质量。

调参时一次主要改变一个维度,并记录实际候选熵或输出多样性。把温度、top-k、top-p 同时大幅调整,出现回归后很难归因。

不少 API 建议只重点调温度或 top-p,不是数学上不能组合,而是减少不可解释的耦合。

六、不同任务需要不同随机性

分类、字段抽取、工具参数和代码补丁通常希望稳定、格式正确,使用低随机性;故事、广告创意和头脑风暴需要候选多样性,可提高温度或放宽截断。

同一工作流也可分阶段:先高多样性生成 8 个候选,再低随机性验证和整理。不能用创作配置直接驱动付款参数。

即使低温,模型仍可能因服务版本、并行计算或并列概率产生变化;确定性业务逻辑必须交给代码。

七、这些参数不能修复事实问题

降低温度会让错误答案更稳定,不会给模型增加最新知识。提高 top-p 可能偶尔采到正确答案,也可能增加幻觉。事实任务应接检索、工具和验证器。

参数也不能替代输出 Schema、安全策略和权限检查。若 JSON 经常坏,优先使用结构化输出与校验,而不是无限降低温度。

把解码参数当质量旋钮很危险;它们主要调节分布和采样行为。

八、用任务指标做实验

固定模型、Prompt 和测试集,网格测试少量组合。抽取看字段 F1 与 Schema 通过率,创作看人工偏好、独特性和重复率,问答看事实准确与引用支持。

例如 T=0.2/0.7/1.0 各生成 5 次,记录同题答案一致率、正确率和成本。若 T=0.7 多样性提升但正确率下降 8 个百分点,要判断业务是否值得。

线上保存模型版本、seed(若支持)、温度、top-p、top-k 和停止原因,否则失败难以复现。

九、常见误区与追问

  • 误区:Temperature=0 就绝对确定。 服务实现和硬件仍可能带来差异,且稳定不等于正确。
  • 误区:温度越高模型越有创造力。 过高会增加噪声、矛盾和格式错误。
  • 误区:降低温度可以消除幻觉。 只会让高概率幻觉更稳定。
  • 误区:Top-p=0.9 表示保留 90% 的 token。 它保留累计概率质量达到 0.9 的最小集合。
  • 误区:各模型可以复用同一最优参数。 概率分布和实现不同,必须重新评测。
  • 追问:Top-k 与 Top-p 应同时用吗? 可以,但耦合更强;通常选一个主要截断策略更易调试。
  • 追问:工具调用用什么参数? 偏低随机性并配合 Schema、参数和权限验证,不能只靠温度。
  • 追问:如何提高创作多样性? 适度放宽采样,生成多候选,再用独立标准筛选。

十、加强记忆

解码参数记住“温度拉平或收尖、Top-k 定人数、Top-p 定概率质量”:三者作用在下一 token 分布,不增加知识,也不保证事实。低风险创作可提高多样性,高约束抽取和工具参数偏稳定;参数组合要逐项实验,以任务正确率、格式、多样性和重复率评价,并用检索、Schema 与权限组件解决采样参数解决不了的问题。