大白话知识,什么是大模型的“温度”?
原创 iBear Bear探索AI 2024年10月22日 18:06 广东
使用各种大语言模型时,基本都会有一个可以调整的参数 温度(Temperature),温度参数在大语言模型中起着关键的调节作用,对生成文本的特性有着重要的影响。本文尝试简单直白的方式重新认识一下 温度(Temperature)这个参数的原理和使用场景。
简化的语言描述方式,对于技术细节来说肯定是不严谨的,但是大部分情况下,对于应用开发或者产品设计已经足够,我们并不需要了解所有的细节,只需要知道基本的原来,能帮助我们做决策就好。
在大语言模型中,温度参数对模型生成文本时的概率分布起着关键的调整作用。大型语言模型(如 GPT 系列)在预测下一个词时,实际上是在计算一个概率分布,这个分布覆盖了词汇表中的每一个词。
温度参数的工作原理
温度参数通常通过添加一个标量乘以 softmax 函数的输出来实现,对这个概率分布进行调整。
温度低,让概率分布更加尖锐,增加高概率事件的概率,同时降低低概率事件的概率。这会使模型在生成文本时倾向于选择更确定、更常见的词汇,从而生成的文本看起来更加流畅和合理,但可能牺牲一些创意和多样性。例如,在进行数据分析报告的撰写时,低温度可以确保生成的文本准确地描述数据趋势和结论,避免出现不恰当或不准确的词汇。
温度高,让概率分布更加平坦,减少高概率事件的概率,同时提高低概率事件的概率。这种调整让模型在生成文本时更愿意冒险,尝试新颖或不常见的词汇组合,从而增加文本的多样性和创新性,但同时也可能降低文本的连贯性和合理性。比如在创意写作中,高温度可以激发模型创造出独特的情节和表达方式。
举个例子
你期望这句话的完成方式是什么—— 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,比如百度的文心系列
OpenAI的设置方式则是0到2
在调整大语言模型的温度参数时,一般建议改变温度和其他参数(如 Top_p、Frequency Penalty、Presence Penalty)其中一个即可,不用同时调整多个。这是因为这些参数都对模型的输出产生影响,同时调整多个参数可能会导致结果难以预测和控制。
例如,Top_p 参数动态设置 tokens 候选列表的大小,将可能性之和不超过特定值的 top tokens 列入候选名单。如果同时调整温度和 Top_p 参数,可能会使模型的输出变得过于随机或过于保守。
使用场景
不同的任务需求对温度参数的要求也不同。在质量保障任务中,需要生成准确、可靠的文本,因此可以选择较低的温度参数。例如,在软件测试报告、法律文件的生成、科学研究报告的生成中,低温度可以确保内容的描述准确无误,避免出现错误或模糊的表述。
而在诗歌生成等需要创造性的任务中,可以适当提高温度参数,以增加文本的多样性和创新性。高温度可以使模型尝试一些不常见的词汇组合和表达方式,创造出独特的诗歌作品。此外,还可以根据任务的具体要求和用户的反馈,逐步调整温度参数。例如,在广告文案的生成中,可以先尝试不同的温度参数,观察生成的文案效果,然后根据用户的反馈和目标受众的喜好,选择最合适的温度参数。
总之,根据不同的任务需求调整温度参数,可以获得最佳的结果。在调整过程中,需要结合其他参数和实际情况,进行不断的尝试和优化。
标签:概率分布,模型,生成,参数,文本,什么,温度 From: https://blog.csdn.net/sinat_37574187/article/details/144662816