Zubnet AI学习Wiki › 温度
使用AI

温度

一个控制模型输出随机性或确定性的参数。温度值为0时,模型始终选择概率最高的下一个token(确定性,专注)。温度值为1+时,模型更倾向于选择概率较低的token(创造性,不可预测)。大多数API默认值约为0.7。

为什么重要

温度是创意调节器。写小说?调高。生成代码或事实性答案?调低。这是你可以调整的最具影响力的参数之一,而且实验成本为零。

深度解析

要理解温度参数,你需要知道模型输出一个token之前的运作机制。模型会生成一个原始分数向量(称为logits)——每个token对应一个分数,其词汇表可能包含32,000到128,000个条目。这些logits随后会被温度值除以,并通过softmax函数处理,将其转换为概率分布。当温度为1.0时,softmax直接作用于原始logits。当温度为0.5时,logits在softmax前被有效加倍,这会使概率分布更加尖锐——最可能的token获得更大的概率份额。当温度为2.0时,logits被减半,这会平滑分布,使不太可能的token有更高的被选中机会。

零值设置

温度0是一个特殊情形,大多数API提供商会将其实现为贪婪解码——始终选择概率最高的单个token,不涉及采样。这使输出具有确定性(或近乎确定;某些提供商会添加极小的浮点噪声)。当你需要可复现的结果时,这是正确的选择:提取结构化数据、分类任务、事实问答,或任何“创造性”是负担的场景。常见的生产模式是将温度0用于所有自动化流程,而将较高温度保留给面向用户的创意功能。

温度与另一个采样参数top-p(核采样)的交互方式容易让人困惑。top-p将token选择限制在累积概率超过阈值p的最小token集合中。将温度设为0.7且top-p设为0.9,与温度设为1.0且top-p设为0.7是不同的,尽管两者都旨在实现“适度随机性”。大多数实践者建议调整其中一个参数,而非同时调整两者,因为这种交互难以直观理解。Anthropic的API默认对Claude使用温度1.0和top-p 1.0。OpenAI默认对GPT模型使用温度1.0和top-p 1.0。如果你同时调整两者,很可能是在过度复杂化问题。

最佳区间

合适的温度取决于任务,而“0.7适用于所有任务”的建议是一种过度简化。对于代码生成,大多数开发者发现0–0.3的范围能产生最可靠的结果。对于对话助手,0.5–0.8的范围能产生自然且多样的输出而不会偏离主题。对于创意写作、头脑风暴或生成多样化选项,0.9–1.2的范围效果良好。超过1.5的温度会产生越来越不连贯的输出,实际中很少有用。一些模型在技术上支持高于2.0的温度,但输出质量会迅速下降——开始更像随机token组合而非创意文本。

随机性与创造性

一个微妙但重要的观点:温度影响的是token层面的随机性,而非idea层面的创造性。更高的温度在任何有意义的层面上都不会让模型“更具创造性”——它只是让模型更可能选择意外的词汇。有时这会产生真正新颖的组合。其他时候,它只会产生语法错误、不相关的内容或幻觉。如果你想获得真正不同的问题解决方法,通常更好的做法是在适度温度(例如0.8)下多次运行相同提示并比较结果,而不是将温度调至1.5并寄希望于最佳结果。这就是自一致性技术与最佳N采样技术背后的原则,它们通过适度温度与多次采样相结合,实现多样性和质量的平衡。

相关概念

← 所有术语
← 系统提示词 腾讯 →
ESC