资讯

温度系数是什么?调高调低到底改变了什么

2026-11-042 分钟阅读百科
TL;DR温度系数是控制大模型输出随机程度的采样参数,数值越低回答越稳定保守,越高越发散多样,常见取值在 0 到 2 之间。

温度系数(Temperature)是控制大模型输出随机程度的采样参数。数值越低,模型越倾向于每一步都选最有把握的那个词,回答稳定、保守、重复度高;数值越高,概率较低的词也有机会被选中,回答更发散、更有新意,也更容易跑偏。多数 API 的取值范围在 0 到 1 或 0 到 2 之间。

它在模型内部做了什么

模型每生成一个 token,都会给词表里所有候选打分(logits),再用 softmax 变成概率分布。温度就是在 softmax 之前把分数统一除以一个数:温度小于 1,高分和低分的差距被拉大,分布变得很尖,几乎总是选第一名;温度大于 1,差距被压平,分布变得平坦,第二名、第十名都有机会。温度为 0 时通常等价于贪心解码,每步都取最大概率的词。这个名字来自统计物理里的玻尔兹曼分布,温度高,粒子越“活跃”。

和 top-p、top-k 的关系

温度经常和另外两个参数一起出现。top-k 只在概率最高的 k 个候选里抽,top-p(核采样)只在累计概率达到 p 的那一小撮候选里抽。可以理解为:温度决定分布有多“平”,top-p 和 top-k 决定抽签的池子有多大。很多厂商的文档建议只调其中一个,两个一起大幅调整,效果很难预料。

不同任务怎么设

写代码、做数据抽取、回答事实问题、调用工具,适合低温度,比如 0 到 0.3,要的是稳定和可复现。写文案、起标题、头脑风暴、写故事,可以调到 0.7 到 1.0,让结果多一些变化。超过 1.2 以后,很多模型会开始出现语句不通、胡编乱造的情况,日常用不太到。

几个常见误解

温度为 0 也不保证每次输出完全一样,GPU 并行计算的浮点误差、服务端的批处理都可能带来细微差别。温度调低也不能消除幻觉,模型如果本来就“记错了”,低温度只会让它更稳定地说错。还有一点,部分推理模型(会先“思考”再回答的那类)在 API 里固定了采样参数,传了温度也不生效,用之前要看一眼文档。

AI 主线的建议是:先用默认值跑通,再针对具体任务小步调整,每次只动一个参数,对比几轮输出再定。