狄云的所思所想

产品、技术想到哪写到哪

在大语言模型中,temperature到底是什么?

2025-08-25

做过 LLM Api 对接或者用过 chatbot 类产品的应该都知道,在设置大语言模型参数的地方,往往都有一个参数叫 temperature,中文名叫 温度

但是温度到底是什么呢?

以往只是简单了解过这个参数,大概知道温度越低 AI 回复越稳定,温度越高 AI 想象力越丰富。知道这个之后,一般也就设置个中间值就没怎么管过了。

但是最近读了一本书,叫做 《这就是ChatGPT》 ,整本书看的云里雾里,过了几天啥也没记住,反而对开篇提到的这个 temperature 越发印象深刻,干脆今天好好玩玩 temperature。

官方解释

先来看看 deepseek 官方文档中对 temperature 的解释:

wechat_2025-08-25_151417_733.png

基本上就是这么个印象,只能说之前「好用AI,不求甚解」,也不明白为什么设置成这几个数就能达到文档说的效果。

更生动的解释

《这就是ChatGPT》 这本书中对 temperature 有很好的解释:

“温度”参数是用来确定低排名词的使用频率。

什么意思呢?还是以上篇文章的经典问句举例:

Only one word can be selected to answer, the best type of pet is?

在 cherry studio 中,我们来做个实验:

  • 首先将 temperature 设置为 0,这时候会发现,无论你问多少次,AI 的回答永远会是 dog
  • temperature 设置为 1 的时候,会发现,问 5 次这个问题,大概会有 1-2 次回答变成 cat
  • temperature 设置为 2 的时候,基本概率就持平了,一次回答 dog,下次就会回答 cat

Temperature 的工作原理

回到上篇文章所说过的,大语言模型的根本机制就是分析了人类文字的统计分布规律,它只是在执行一个基于海量数据的数学计算:根据前文,哪个词的出现概率最高?

最终,它会结合一定的随机性,从这些高概率的候选词中选择一个,作为它的答案。

这个随机性的控制参数,就叫做 temperature

  • temperature 为 0 就代表每次总是选择概率最高的候选词;
  • temperature 设置为最高的时候,即代表所有候选词的被选概率一样高了。

为什么“最高概率”不等于“最佳答案”?

知道了这个原理其实还不够,因为这里会有个疑问:为什么我每次选择概率最高的词(也就是 temperature 为 0),最终得到的不会是最佳答案呢?

这个问题书里面也有“解释”,就是研究人员发现,如果每次都选择最高概率的词,最终得到的往往是一篇很平淡的文章,整篇文章没有显示出任何创造力,但是如果提高 temperature,反而能得到一篇效果不错的文章。

所以说,全部选择最优解往往不一定就是最优解。

至于为什么?作者回答:

也许有一天科学能够解释。

结论:如何找到最佳温度?

现在回过头来看 deepseek 官方文档中给的建议:

  • 如果需要 事实回答,调低 temperature。
  • 如果需要 创意写作,调高 temperature。

但是相信如果你明白了 temperature 代表什么,那你就应该知道,temperature 并没有放之四海而皆准的标准,最佳温度完全取决于你的具体任务和个人偏好

记住一个简单的原则:

  • 如果你的结果太无聊,就调高它;
  • 如果结果太荒谬不准确,就调低它。