LLM 通过根据概率分布预测下一个字词(或者更确切地说,下一个词元)来生成文本。每个词元都被分配一个来自 LLM 的 logit(数值),并且总词元集被规范化为“softmax 概率分布”。每个词元都被分配了一个介于 0 和 1 之间的“softmax 函数”,所有词元的 softmax 概率之和为 1。
LLM 温度参数改变了这一分布。温度越低,那些概率最高的词元就越有可能被选中;温度越高,模型选中概率较低词元的可能性就越大。这是因为较高的温度值会给 LLM 的词元选择带来更大的可变性。不同的温度设置本质上会在生成式 AI 模型输出文本时引入不同程度的随机性。
温度是控制模型性能随机性的关键因素。它允许用户调整 LLM 输出以更好地适应不同的现实世界文本生成应用程序。更具体地说,此 LLM 设置允许用户在为特定用例生成输出时平衡连贯性和创造性。例如,对于需要精确度和事实准确性的任务,例如技术文档或与聊天机器人的对话回复,低温可能更为合适。较低的温度值有助于 LLM 生成更加连贯和一致的文本,并避免不相关的响应。相比之下,高温更适合创意输出或创意任务,例如创意写作或概念头脑风暴。用户可以利用温度设置,有效地对 LLM 进行微调,并根据自己想要的结果调整模型的输出。
温度经常与“创造力”混为一谈,但情况并非总是如此。更恰当的理解是,该模型在多大程度上利用了训练数据中的文本。Max Peeperkorn 等人1 对不同温度值下的 LLM 输出进行了实证分析,并写道:
“我们发现温度与新颖性呈弱相关,不出所料,与不连贯性呈中等相关,但与内聚性或典型性均无关系。然而,温度对创造性的影响远比“创造性参数”的说法所暗示的要微妙和微弱得多。总体结果表明,随着温度升高,LLM 产生的新颖输出略有增加。
较高的温度值可能会使模型的输出看起来更具创造性,但更准确的说法是,它们受训练数据的影响较小。
许多用于访问模型的 API,包括 IBM® Granite™ Instruct 或 OpenAI ChatGPT,都具有用于配置温度以及各种其他 LLM 参数的参数。最常见的三种是:
do_sample:此参数控制模型在文本生成期间是否采样。采样是一种改变文本输出的方法。当设置为“true”时,模型会从已编辑的词元概率中随机采样,而并非总是从数据集中的序列中选择最可能的字词。事实上,我们需要将此设为 true ,才能对预训练的 LLM 进行温度调整。
top_k:该参数将随机采样时模型的可能选择限制为最有可能的前 k 个词元。虽然先前参数可以对最可能词元之外的其他预测词元进行随机采样,但该参数限制了模型从中选择的潜在词元数量。虽然随机采样有助于产生更多元多样的输出,但此参数有助于通过排除不太可能被采样的词元来保持生成的文本质量。
top_p:该参数有时也称为核采样。这是限制随机采样选择范围以避免出现不一致和无意义输出的另一种方法。该参数允许模型考虑累积概率大于指定概率值的词元。为生成的输出选择词元时,模型仅选择总概率大于某值(例如 95%)的一组词元。虽然随机采样能够使模型获得更动态的输出,但 top-p 参数可确保输出保持一定的连贯性和一致性。
通常,模型也允许用户更明确地控制模型的输出。一些常用的输出控制参数包括:
最大长度:最大长度是允许 AI 生成的词元总数。此设置很有用,因为它允许用户管理模型响应的长度,并可以防止响应过长或不相关。
停止序列:这些序列告诉模型何时停止生成输出,并有助于控制内容的长度和结构。提示 LLM 使用“此致”等内容作为停止序列来编写电子邮件,告诉模型在结束语之前停止。这个提示可以帮助保持电子邮件简洁明了。对于希望以电子邮件、编号列表或对话框等结构化格式输出的内容,停止序列非常有用。
频率惩罚:频率惩罚是一种不鼓励在生成的文本中重复出现的设置,根据词元出现的频率按比例对其进行惩罚。词元在文本中使用的频率越高,LLM 再次使用它的可能性就越小。
存在惩罚:存在惩罚与频率惩罚类似,但存在惩罚的依据是词元是否出现过,而不是按比例惩罚。
要了解温度如何影响 LLM 的输出,请查看 IBM Granite 3.1 20 亿参数模型生成的输出。此处提供的提示是:“写一个关于热爱 Python 的数据科学家的故事。”(Write a story about a data scientist who loves Python)
温度为 0.1 Granite 时,会生成:
曾几何时,在繁华的旧金山市,住着一位名叫 Alex 的才华横溢的数据科学家。Alex 因其在 Python 编程和数据分析方面的卓越技能而闻名。他们日夜沉浸在数据世界中,使用 Python 提取洞察分析并进行预测。 有一天,Alex 的任务是分析一家流行流媒体服务的客户流失情况。他们使用 Python 的 scikit-learn 库来构建一个机器学习模型,而该模型可以预测哪些客户可能会取消订阅。
温度为 0.75 Granite 时,会生成:
曾几何时,在繁华的旧金山市,住着一位名叫 Alex 的才华横溢的数据科学家。Alex 因对 Python 的热爱而闻名,他们认为 Python 是一种用于数据分析和机器学习的完美工具。 每天,Alex 都会早起,煮一壶咖啡,然后坐在他们的办公桌前。他们会花几个小时用 Python 编写代码,深入了解数据集,并构建预测模型。他们对 Python 的热爱不仅在于语言本身,还在于围绕它成长的社区。
温度为 1.25 Granite 时,会生成:
很久很久以前,在一个高楼林立、霓虹闪烁的繁华都市里,有一位数据科学家,他对 Python 的热爱胜过世界上的一切。这位数据科学家有一只名叫 Suki 的猫咪助手。Suki 是一只充满好奇心且调皮的猫,总是渴望深入了解房子的每个角落。 有一天,数据科学家正在解决一个复杂的编码问题。Suki 一直大声喵喵叫,好像她试图向数据科学家传达信息。数据科学家注意到,当他们接近解决复杂的编码问题时,通常会听到响亮的猫叫声。
请注意,即使每个故事的开头相似,但提高温度也会增加文本和生成的细节的可变性。
深入了解 watsonx 组合中基础模型库,从容自信地为您的业务扩展生成式 AI。
借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。
通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。
1 Max Peeperkorn、Tom Kouwenhoven、Dan Brown 和 Anna Jordanous,《Is Temperature the Creativity Parameter of Large Language Models?》,2024 年