什么是 温度参数?

温度参数是大语言模型中控制生成输出随机性和创造性的超参数,较低的值产生更确定性和聚焦的响应,而较高的值则增加多样性和创造性。

快速了解

全称大语言模型温度参数
创建时间概念源自统计力学,2010 年代应用于 NLP
规范文档官方规范

工作原理

温度是控制 LLM 行为最重要的参数之一。它通过在应用 softmax 计算 token 概率之前缩放 logits(原始预测分数)来工作。温度为 0 时,模型总是选择最可能的 token(贪婪解码),而较高的温度会使概率分布变平,让不太可能的 token 有更好的被选中机会。大多数 API 使用 0 到 2 的范围,0.7-1.0 是常见的默认值。

主要特点

  • 控制生成过程中 token 选择的随机性
  • 较低值(0-0.3)产生一致、聚焦的输出
  • 较高值(0.8-1.5)增加创造性和多样性
  • 温度为 0 时实现确定性、可复现的输出
  • 与 top_p 和 top_k 参数配合使用
  • 不同任务需要不同的最优温度设置

常见用途

  1. 代码生成(低温度保证准确性)
  2. 创意写作(高温度增加多样性)
  3. 事实性问答(低温度保证一致性)
  4. 头脑风暴(高温度产生多样化想法)
  5. 翻译(低温度保证准确性)

示例

loading...
Loading code...

常见问题

温度参数设置为 0 和设置为 1 有什么区别?

温度为 0 时,模型采用贪婪解码,始终选择概率最高的 token,输出确定且可复现,适合需要一致性的任务如代码生成。温度为 1 时,模型按原始概率分布采样,输出更多样化和创造性,适合创意写作等任务。温度越高,低概率 token 被选中的机会越大。

温度参数和 top_p 参数有什么关系?应该如何配合使用?

温度和 top_p 都控制输出随机性,但机制不同。温度通过缩放 logits 影响概率分布,top_p(核采样)则只从累积概率达到 p 的最可能 token 中采样。通常建议只调整其中一个参数,同时调整可能产生不可预测的效果。OpenAI 建议如果调整温度就将 top_p 设为 1,反之亦然。

不同任务应该使用什么温度值?

代码生成、数学计算、事实问答等需要准确性的任务建议使用低温度(0-0.3);一般对话和文本摘要可使用中等温度(0.5-0.7);创意写作、头脑风暴、诗歌创作等需要多样性的任务可使用较高温度(0.8-1.2)。具体最优值需要根据实际效果调整。

为什么温度参数叫'温度'?这个名称有什么来源?

温度这个术语借鉴自统计力学中的玻尔兹曼分布。在物理学中,温度控制粒子能量状态的分布:低温时粒子集中在低能态,高温时分布更均匀。类似地,在语言模型中,低温度使输出集中在高概率 token,高温度使分布更平坦,这种数学相似性导致了相同的命名。

温度设置过高会有什么问题?

温度过高(如超过 1.5)会导致输出质量下降:文本可能变得不连贯、出现语法错误、产生无意义内容或偏离主题。这是因为高温度给予低概率(通常是不合适的)token 更多机会被选中。极端情况下,输出可能完全是随机的胡言乱语。因此需要在创造性和连贯性之间找到平衡。

相关工具

相关术语

相关文章