第 12 课,共 28 课 · 语言模型与聊天助手
AI 模型中的温度是什么?
温度是控制 AI 模型在挑选下一个词时随机程度的设置。温度低时,模型几乎总是选择可能性最高的词,回答聚焦且可重复;温度高时,模型更常选择可能性较低的词,回答更多样、更有创意,但也更容易出错。
不讲公式,看懂温度如何起作用
语言模型每次只写一个 Token(一个词或词的一部分)。每一步它并不“知道”答案,而是为所有可能的下一个 Token 计算概率。比如在“猫坐在”之后,“垫子上”的概率可能很高,“沙发上”低一些,“月亮上”则非常低。然后模型从中挑一个,这一步叫作“采样”。
温度会在挑选之前改变这些概率的分布。低温让分布更“尖”,排第一的选项几乎每次都胜出;高温让分布更“平”,冷门选项的机会变大。就像在餐厅点菜:低温时你总点那道最熟悉的招牌菜;高温时你偶尔会尝试菜单最下面的新菜。
不同任务适合什么温度?
没有放之四海皆准的最佳数值,关键看你要的是一致性还是多样性。各服务商允许的取值范围和默认值都不同,请查阅你所用工具的文档。
温度常与另一个叫 top-p 的设置一起使用:它只在累计概率达到某个阈值的最小一组 Token 中挑选(Holtzman 等人,2019)。部分服务商建议两者只调其一,不要同时调整。温度设置的一般经验如下:
- 低温:数据抽取、分类、事实问答、写代码、严格遵循格式。
- 中温:日常写作、邮件、摘要和讲解。
- 高温:起名字、想口号、构思故事等需要“意外感”的任务。
温度不是什么
温度不是“智商”或“质量”旋钮。低温只会让回答更一致,而不是更正确:模型可能每次都重复同一个错误事实。它也不会增加知识、不会改变模型参数,更与电脑运行时的发热无关。这个名字借自物理学:温度越高,粒子运动越随机。
即使温度设为零,输出通常也只是“接近”确定,并不保证每次完全相同,因为硬件执行计算时会产生细微的数值差异。部分推理模型会固定温度或忽略这一设置。
你会在哪些工具里遇到温度
大多数面向普通用户的聊天应用会替你设定好温度,并不显示出来,这也是同一模型在不同产品里“性格”不同的原因之一。开发者调试台(Playground)和 API 通常以数字形式开放这个设置,一些写作工具则把它做成“创意度”或“随机性”滑块。
如果你用 API 或自动化工具搭建流程,请为每一步有意识地设定温度:要把数据传给其他系统的步骤用低温,只有在需要多样性的环节才调高。
示例
示意:同一提示词在低温与高温下的输出
演示示例在“猫坐在”之后,下一个词的概率(虚构数字): 垫子上 沙发上 屋顶上 月亮上 T = 1.0 60% 25% 10% 5% T = 0.5 83% 14% 2% 不到 1% T = 2.0 43% 28% 17% 12% 提示词:“给一家咖啡店起个名字。”(各运行 3 次) 低温:日常研磨 / 日常研磨 / 日常研磨 高温:豆在一起 / 月光烘焙 / 丝绒杯
仅为示意:数字和输出均为虚构,用来说明效果,并非真实模型的结果。T 代表温度。想亲自试试,可以用能调温度的工具,把同一提示词在不同温度下各运行几次。
要点
- 温度控制模型挑选下一个 Token 时的随机程度。
- 低温:聚焦、可重复;高温:多样、有创意。
- 低温让回答更一致,但不会让回答更准确。
- 事实、数据和代码用低温,头脑风暴用高温。
- 多数应用会替你设定;API 和调试台可以手动调整。
在 Mindber 上试试
相关术语
相关主题
常见问题
温度设为多少比较好?
取决于任务和服务商的取值范围。事实问答、数据抽取和写代码适合低值,结果更可重复;头脑风暴或创意写作可以调高,再对比几次输出。如果拿不准,就先用工具的默认值(通常是比较折中的数值),只有当结果太死板或太离谱时再调整。
温度设为 0 就不会出现幻觉吗?
不会。温度为 0 时,模型每次都选择可能性最高的答案,但可能性最高的答案仍然可能是错的。它减少的是随机波动,而不是事实错误。要减少幻觉,应为模型提供可靠来源、要求它注明出处,并亲自核实重要事实。
为什么同一个问题问两次,答案不一样?
因为大多数聊天应用的温度都高于零,模型会在几个可能的词中抽样,而不是每次都选第一名。回答开头的细微差异会逐步放大,最终形成不同的措辞或结构。这种多样性是有意设计的;如果你需要稳定的结果,可以使用能调低温度的工具,或给出更严格的提示词和格式要求。
来源
- The Curious Case of Neural Text Degeneration. Holtzman et al., arXiv, 2019年4月
最后更新