主题
高频面试题
temperature 和 top_p 参数有什么作用?如何选择合适的值?
这题考的是你能否把“调随机性”讲成可复现、可评估、按任务分层的工程控制面。
面试官角度分析,想考什么
- 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 聚合。