Temperature、Top-k 和 Top-p 怎样影响模型采样?

考查重点:概率分布调整与候选截断。Temperature调整概率尖锐程度,Top-k保留最高k项,Top-p保留累计概率达到p的最小前缀;它们控制采样多样性而不保证事实正确

本题目录

参考答案

核心回答

这三个参数控制模型每一步怎样选择下一个 Token,属于推理时的解码设置,不会改变模型权重。

  • Temperature 调整概率分布的尖锐程度:正温度越低,高概率候选越占优势;越高,分布越平坦。在固定 logits 下,它通常不改变候选的概率排名。
  • Top-k 按数量截断候选:保留概率最高的 k 个 Token,再在保留的集合内采样。
  • Top-p 按累计概率截断候选:从高到低累加概率,保留累计概率达到 p 的最小前缀,再采样;保留多少个 Token 会随当前分布变化。

它们影响多样性与输出稳定性,但不直接保证事实正确。多个参数可以组合,实际效果还取决于处理顺序、模型模式及服务是否支持这些设置。temperature=0 在一些服务中代表贪心解码约定,不能直接代入温度公式做除零运算。

Temperature:改变概率,不直接删除候选

设模型在当前上下文上给各候选的分数为 zᵢ,正温度 T(T > 0)下的概率为:

Pᵢ(T) = exp(zᵢ / T) / Σⱼ exp(zⱼ / T)。

T=1 对应普通 Softmax;0<T<1 让高分候选更集中;T>1 让分布更平坦。实现通常先减去最大分数再做指数运算,以提高数值稳定性。

假设 A、B、C、D 四个候选在 T=1 时的概率是 0.50、0.30、0.15、0.05。若只调整温度,可以用 Pᵢ(T) ∝ Pᵢ(1)^(1/T) 复算:

  • T=0.5:平方后重新归一化,约为 0.685、0.247、0.062、0.007。
  • T=2:开平方后重新归一化,约为 0.379、0.294、0.208、0.120。

A 的排名始终最高,但低概率候选在高温下更容易被抽到。这里改变的是同一步的采样概率,不能据此推断整段答案一定更长、更有创意或更正确;前一步抽出的 Token 也会改变后续上下文和分布。

当最大分数唯一时,T 趋近 0 的极限会把概率集中到最高分候选。但 T=0 本身不在公式定义域内:例如,vLLM 的实现把零温度切换为贪心并关闭相关采样过滤;Transformers 的温度处理器要求正数,单束贪心可通过 do_sample=False 选择。具体接口应按其契约设置。

Top-k:控制候选数量

仍用原分布,k=2 保留 A、B,C、D 的采样概率变为 0。A、B 归一化后分别是 0.625、0.375,然后按这个分布抽取下一个 Token,并非在两者间等概率随机选一个。

k 较小时限制更强,k 较大时允许更多候选。若每一步都保留同样数量,当分布已经非常集中时,较大的 k 仍可能带入不太合理的尾部候选;分布较平坦时,较小的 k 又可能过早排除合理表达。

在没有并列边界等特殊处理时,k=1 只剩最高概率候选,效果相当于贪心。具体实现可能通过阈值保留并列候选,或要求最少保留若干 Token,不能把边界行为一概而论。关闭 Top-k 的配置值也由接口定义,例如,所引 Transformers 版本使用 top_k=0 表示不启用该过滤。

Top-p:控制候选累计概率

Top-p 又叫核采样。对原分布:

  • p=0.75:A 的 0.50 不够,加入 B 后累计 0.80,保留 A、B。
  • p=0.90:A、B 合计 0.80 不够,再加入 C 达到 0.95,保留 A、B、C。

跨过阈值的那个 Token 也保留,再对保留集合归一化。p 指的是累计概率质量,不是“每个 Token 的概率都至少为 p”,也不是“固定保留词表前 p 的比例”。

因此,分布很集中时,较少候选就能达到阈值;分布较平坦时,需要更多候选。这是它相对固定 k 的主要特点。一般而言,降低 p 会缩小候选范围,但截断本身仍不能识别哪个候选包含事实错误。

组合使用时,顺序为什么重要

只考虑这三个参数时,一种实现是先按温度缩放分数,再 Top-k、Top-p,最后对保留分数做 Softmax 并采样。所引 Transformers 版本中,这三项的相对顺序如此,并且仅在采样策略开启时加入;其他处理器还可能参与其中。这是具体实现方式,参数定义本身并没有要求所有引擎采用同一顺序。

Top-p 依赖它看到的概率分布,所以顺序可以改变候选集合。例如用原分布、k=2、p=0.6:

  • 先 Top-k:A、B 归一化为 0.625、0.375,再 Top-p,A 单独就超过 0.6,只保留 A。
  • 先 Top-p:原分布需要 A、B 才达到 0.6;随后 Top-k=2,仍保留 A、B。

温度也会影响 Top-p:同样 p=0.65,原分布需要 A、B,T=0.5 后 A 的概率约 0.685,单个 A 已足够。排查参数效果时,应同时看服务的处理顺序和有效配置,不能只比较请求里填写的三个数字。

项目里怎样调整

先确认模型与模式支持哪些参数,按对应模型的推荐配置建立基线,再用固定业务用例调整。每次先改一个参数,有助于看清变化来自哪里;若组合调整,应记录完整配置。

字段抽取、工具参数、SQL 等任务通常更关注输出稳定性,可以在模型支持的范围内测试较保守的采样;写作和方案发散可以测试更大的候选范围。但“要求准确就统一零温度”不是通用结论:例如 Qwen3-8B 模型卡明确建议其思考模式避免贪心解码;DeepSeek 当前 API 文档也区分不同模式下参数是否生效。

评价时检查任务正确率、结构与约束通过率、重复或退化输出,以及多次运行的差异。低温下反复产生同一个错误,仍然需要改模型、上下文、提示词或结果校验;单纯降低随机性解决不了知识和业务逻辑问题。

常见追问

Temperature=0,输出就一定完全一致吗?

贪心去掉了按概率抽样的随机选择,但仍需固定模型版本、输入、模板和服务配置。不同计算路径、数值误差或后台版本变化可能改变接近的分数,继而改变后续输出。业务需要稳定结果时,还应固定运行条件并校验结果。

调高 Temperature,能让 Top-k 已经删掉的候选回来吗?

如果该候选已被屏蔽为负无穷,后续温度缩放不会把它恢复。先执行哪些过滤、在哪一步计算 Top-p 的概率,需要看引擎实现。

这里的 Top-k 和 RAG 检索 Top-k 是一回事吗?

都表示保留前 k 项,但对象不同:采样 Top-k 作用于当前下一 Token 的候选分布;检索 Top-k 作用于文档、片段等检索结果。它们处于不同阶段。

对应教程

参考资料

相关面经

8 篇

腾讯

后训练
日常实习一面、二面
查看原面经 →
模型推理超参详解:Top-k、Top-p、Temperature、Beam Search、Thinking Mode

字节跳动

前端开发工程师
一面
查看原面经 →
Top-K和Top-P的区别,怎么调整这两个值

蚂蚁集团

面经合集
查看原面经 →
如果是做实体抽取或确定的逻辑分类任务,你会怎么调整 temperature、top_p 等参数?

蚂蚁集团

Agent 开发工程师
秋招一面
查看原面经 →
模型参数Temperature、Top-k、Top-p分别代表什么含义?它们对输出结果有什么影响?

联影

Agent 开发工程师
一面
查看原面经 →
temperature 和 top-p 分别控制大模型输出的什么属性?
展开剩余 3 篇面经

腾讯

后端开发工程师(AI)
实习
查看原面经 →
大模型的温度是什么,top-k是什么

蚂蚁集团

Agent 开发工程师(金融)
暑期
查看原面经 →
介绍一下对temperature的理解

美团

Agent 算法工程师
查看原面经 →
解释下topk topp的实现原理

收录题集

8 个来源,共14 份题集

大模型基础

AMIT SHEKHAR · ai-engineering-interview-questions · 1 条原题

查看题集 →

大语言模型

Datawhale · daily-interview · 1 条原题

查看题集 →

八股集锦(高频问题)

小熊饼干_ · 个人整理 · 1 条原题

查看题集 →

模型推理

Firefly · llm_interview_note · 1 条原题

查看题集 →

大模型工程面试题

小林 Coding · 个人整理 · 1 条原题

查看题集 →
展开剩余 9 份题集

公司案例问答汇编

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

Prompt与上下文

阿东玩 AI · AgentGuide · 2 条原题

查看题集 →

平安科技高频面试题

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

腾讯问答汇编

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

数学基础高频考点

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

经典机器学习算法知识点

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

模型接口与评测问答

Guide · JavaGuide · 1 条原题

查看题集 →

AI 导读问题

Guide · JavaGuide · 2 条原题

查看题集 →

大模型基础面试题

Guide · JavaGuide · 1 条原题

查看题集 →

相关题目

4 题