Skip to content

高频面试题

temperature 和 top_p 参数有什么作用?如何选择合适的值?

这题考的是你能否把“调随机性”讲成可复现、可评估、按任务分层的工程控制面。

适合阶段:LLM API / Prompt 工程面核心能力:采样参数 · 稳定性 · 评估调优

面试官角度分析,想考什么

  • temperature 控制什么?top_p 控制什么?
    考采样机制基本功。
  • 为什么不建议同时极端调整二者?
    考可解释性和调参方法。
  • 不同任务如何选择参数?
    考能否按结构化、事实、创意、推理分别配置。
  • temperature=0 是否完全确定?
    考生产复现意识。

可直接抄走的 30 秒参考答案

text
temperature 控制采样分布的尖锐程度,越低越稳定,越高越发散;top_p 控制候选 token 的累计概率范围,相当于裁掉长尾低概率候选。结构化输出、RAG、工具调用我会用低随机性,创意和头脑风暴可以调高。一般不同时极端调整二者,而是用评估集看准确率、格式错误率、成本和延迟。

面试回答详解,知其所以然

这道题不要答成“temperature 越高越有创意”就结束,面试官通常会继续追问机制和场景。

1. temperature:改变分布锐度

模型每一步都会给下一个 token 一个概率分布。temperature 会改变这个分布的“尖锐程度”:

  • 低 temperature:高概率 token 更突出,输出更稳定、更保守。
  • 高 temperature:低概率 token 更容易被选中,输出更多样、更发散。

常见选择:

  • 0 ~ 0.2:分类、抽取、JSON、工具调用、事实问答。
  • 0.3 ~ 0.7:普通问答、改写、方案建议。
  • 0.7 ~ 1.0+:头脑风暴、创意写作、多样候选生成。

2. top_p:限制候选池

top_p 又叫 nucleus sampling。它会按概率从高到低保留累计概率达到 p 的 token 集合,再从这个集合里采样。

直觉上:

text
temperature = 调整每个候选的相对概率
top_p = 裁掉长尾候选,只在可信候选池里采样

top_p=0.9 表示只考虑累计概率前 90% 的候选,低概率长尾会被排除。

3. 为什么不要同时极端调整

如果 temperature 很高、top_p 也很宽,输出会非常发散;如果 temperature 很低、top_p 又很窄,输出可能过于死板。

生产调参建议一次只主要调整一个参数,另一个保持默认或稳定值。这样你能解释效果变化来自哪里,也方便复现实验。

4. 按任务选参数

  • 结构化输出:低温,配合 schema,不靠随机性。
  • RAG 问答:低温到中低温,重点是忠于证据。
  • 工具调用:低温,避免工具选择和参数漂移。
  • 创意生成:提高 temperature 或适当放宽 top_p。
  • Self-Consistency:temperature 需要大于 0,以产生多条推理路径。

5. 参数不是质量保证

低温不能解决缺知识、坏 prompt、错误检索和过期事实。高温也不等于好创意,只是增加多样性。

生产里要记录 model、prompt 版本、temperature、top_p、seed、输入输出和评估结果,否则线上波动很难复盘。

面试官追问3个问题

追问一:temperature=0 为什么仍可能不完全一致?

  • 考察点:生产复现意识。
  • 回答方向:底层服务、模型版本、并行计算、工具结果和上下文差异都可能造成微小变化。

追问二:top_p 和 temperature 怎么二选一?

  • 考察点:调参方法。
  • 回答方向:先固定一个,主要调另一个;多数业务用默认 top_p,按任务调 temperature 即可。

追问三:高温能提升推理能力吗?

  • 考察点:区分多样性和正确性。
  • 回答方向:高温增加候选多样性,不直接提升正确性;可配合 Self-Consistency 聚合。

基于 MIT 协议开源