大白话知识,什么是大模型的“温度”?

使用各种大语言模型时,基本都会有一个可以调整的参数 温度(Temperature),温度参数在大语言模型中起着关键的调节作用,对生成文本的特性有着重要的影响。本文尝试简单直白的方式重新认识一下 温度(Temperature)这个参数的原理和使用场景。

简化的语言描述方式,对于技术细节来说肯定是不严谨的,但是大部分情况下,对于应用开发或者产品设计已经足够,我们并不需要了解所有的细节,只需要知道基本的原来,能帮助我们做决策就好。

在大语言模型中,温度参数对模型生成文本时的概率分布起着关键的调整作用。大型语言模型(如 GPT 系列)在预测下一个词时,实际上是在计算一个概率分布,这个分布覆盖了词汇表中的每一个词。

图片[1]-大白话知识,什么是大模型的“温度”? - AI资源导航站-AI资源导航站


温度参数的工作原理
温度参数通常通过添加一个标量乘以 softmax 函数的输出来实现,对这个概率分布进行调整。
温度低,让概率分布更加尖锐,增加高概率事件的概率,同时降低低概率事件的概率。这会使模型在生成文本时倾向于选择更确定、更常见的词汇,从而生成的文本看起来更加流畅和合理,但可能牺牲一些创意和多样性。例如,在进行数据分析报告的撰写时,低温度可以确保生成的文本准确地描述数据趋势和结论,避免出现不恰当或不准确的词汇。
温度高,让概率分布更加平坦,减少高概率事件的概率,同时提高低概率事件的概率。这种调整让模型在生成文本时更愿意冒险,尝试新颖或不常见的词汇组合,从而增加文本的多样性和创新性,但同时也可能降低文本的连贯性和合理性。比如在创意写作中,高温度可以激发模型创造出独特的情节和表达方式。

图片[2]-大白话知识,什么是大模型的“温度”? - AI资源导航站-AI资源导航站


举个例子
你期望这句话的完成方式是什么—— The cat sat on the _____
我想我们大多数人会想到垫子,其次是其他可以坐的地方,比如porch、floor等,而不是sky。
假设我们将其输入到文本生成模型,softmax 概率分布如下 :
token prob
mat 0.6
floor 0.2
porch 0.1
car 0.05
bus 0.03
sky 0.02
如果将温度设置为 0,那么模型最有可能返回的句子完成情况将是 The cat sat on the mat
但是当我们将温度设置为一个较高的数字时,我们可能会让模型给出的输出为 The cat sat on the sky 原因,然后 softmax 输出的概率分布会被人为地扭曲,从而生成可能性较小的标记。根据问题的背景,这可能是好事也可能是坏事。

发散一下
想象你正在和朋友玩一个猜词游戏,你需要根据已有的提示猜下一个词。如果游戏的 “温度” 设置得低,那就好比你非常谨慎,总是选择最安全、最明显的答案。这样玩游戏虽然稳妥,但有时候可能会显得有点无聊,因为你总是走老路。例如,在低温度下,大语言模型就像一个保守的猜词者,总是选择最常见、最可能的词汇来生成文本,虽然准确但缺乏新意。
相反,如果游戏的 “温度” 调得高,那就意味着你在游戏中愿意大胆猜测,即便是一些看起来不太可能的词也敢于尝试。这样的游戏充满了惊喜和创新,虽然有时候会猜错,但过程绝对刺激有趣。对应到大语言模型中,高温度让模型大胆尝试不常见的词汇组合,为文本带来更多的创意和多样性,但也可能导致文本不够连贯或合理。
而将 “温度” 设为中间的数字,就好比是保持了一种中庸之道,既不会太保守也不会太冒险,试图找到既合理又有趣的平衡点。在大型语言模型中,调整 “温度” 参数实际上就是在调节模型生成文本时的 “猜词策略”。较低的温度使得模型更加保守,倾向于生成大家都能想到的、平滑流畅的内容。而较高的温度则让模型变得大胆,愿意尝试新奇的表达,给我们带来意想不到的创意。

参数设置
不同的大语言模型,使用的深度学习框架可能不一样,参数的调整方式也会不一样。大多数设置的范围是0到1,比如百度的文心系列

图片[3]-大白话知识,什么是大模型的“温度”? - AI资源导航站-AI资源导航站

OpenAI的设置方式则是0到2

图片[4]-大白话知识,什么是大模型的“温度”? - AI资源导航站-AI资源导航站

在调整大语言模型的温度参数时,一般建议改变温度和其他参数(如 Top_p、Frequency Penalty、Presence Penalty)其中一个即可,不用同时调整多个。这是因为这些参数都对模型的输出产生影响,同时调整多个参数可能会导致结果难以预测和控制。
例如,Top_p 参数动态设置 tokens 候选列表的大小,将可能性之和不超过特定值的 top tokens 列入候选名单。如果同时调整温度和 Top_p 参数,可能会使模型的输出变得过于随机或过于保守。

使用场景
不同的任务需求对温度参数的要求也不同。在质量保障任务中,需要生成准确、可靠的文本,因此可以选择较低的温度参数。例如,在软件测试报告、法律文件的生成、科学研究报告的生成中,低温度可以确保内容的描述准确无误,避免出现错误或模糊的表述。
而在诗歌生成等需要创造性的任务中,可以适当提高温度参数,以增加文本的多样性和创新性。高温度可以使模型尝试一些不常见的词汇组合和表达方式,创造出独特的诗歌作品。此外,还可以根据任务的具体要求和用户的反馈,逐步调整温度参数。例如,在广告文案的生成中,可以先尝试不同的温度参数,观察生成的文案效果,然后根据用户的反馈和目标受众的喜好,选择最合适的温度参数。
总之,根据不同的任务需求调整温度参数,可以获得最佳的结果。在调整过程中,需要结合其他参数和实际情况,进行不断的尝试和优化。

© 版权声明
THE END
喜欢就支持一下吧
点赞95 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片