ChatGPT, GPT-3, GPT-3.5, GPT-4, LLaMA, Bard等大型语言模型的一个重要的超参数

大型语言模型可能依据给定的上下文或提醒生成新文本,因为神经网络等深度学习技术的提高,这些模型越来越受欢迎。可用于管制生成语言模型行为的要害参数之一是Temperature 参数。在本文中,咱们将探讨语言生成模型中Temperature 参数的作用,以及它如何影响生成文本的品质。

Temperature 在模型中的作用

Temperature 是一个超参数,可用于管制生成语言模型中生成文本的随机性和创造性。它用于调整模型的softmax输入层中预测词的概率。温度参数定义为在利用 softmax 函数之前用于调整 logits 的比例因子的倒数。

当Temperature 设置为较低的值时,预测词的概率会变尖利,这意味着抉择最有可能的词的概率更高。这会产生更激进和可预测的文本,因为模型不太可能生成意想不到或不寻常的词。另一方面,当Temperature 设置为较高值时,预测词的概率被拉平,这意味着所有词被抉择的可能性更大。这会产生更有创意和多样化的文本,因为模型更有可能生成不寻常或意想不到的词。

温度参数通常设置为 0.1 到 1.0 之间的值,具体取决于生成文本中所需的随机性和创造性程度。温度值为 1.0 对应于规范 softmax 函数,其中预测词的概率未按比例缩放。

一般来说,Temperature 越低,GPT-3越有可能抉择呈现概率较高的单词。当咱们想要GPT-3解释概念时,它特地有用,因为答案只有一个。如果想要产生想法或实现一个故事,Temperature 设置的更大会给咱们带来更多的多样性。

比如说以下提醒:

Prompt: “The quick brown fox”

Temperature = 0.1:

“The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog.”

Temperature = 0.5:

“The quick brown fox jumped over the lazy dog. The lazy cat was not impressed. The quick brown fox ran away.”

Temperature = 1.0:

“The quick brown fox jumped over the lazy dog. Suddenly, a flock of birds flew overhead, causing the fox to stop in its tracks. It looked up at the sky, wondering where they were going.”

能够看到,Temperature 对生成文本的品质和创造性有重大影响。低值生成更可预测和反复的文本,而高值生成更多样化和创造性的文本。

Temperature 的数学原理解释

神经网络的输入是词汇表中每个单词(实际上是标记)的概率分布,通知它这些单词中任何一个可能追随输出文本的可能性。

该概率分布由softmax函数计算:

如果将Temperature 参数(T)增加到softmax函数,则公式如下:

更深刻的解释Temperature 参数:

如果当T趋于无穷时会产生什么。每个x_i / T都会趋于0,从而失去一个均匀分布。也就是说概率分布变得更 “平”, 这会导致后果更随机。

当T很小(比方0.1)时会产生什么。每个x_i / T之间的差别变得更加显著(例如5比1变成50比10),这样概率分布变得“更尖”,也就是说后果会更确定。

总结

Temperature 参数是语言生成模型中一个重要的超参数,可用于管制生成文本的随机性和创造性。通过调整该参数,能够生成更激进或更有创意的文本,尽管Temperature 参数是生成高质量文本的弱小工具,但须要留神的是,它并不能进步生成语言模型的性能。因为生成文本的品质高度依赖于训练数据的品质、模型的架构以及其余超参数,如学习率和批处理大小。在设计和训练生成语言模型时,必须思考所有这些因素。

另外就是Temperature 参数可能并不总是进步生成文本的品质,特地是在训练数据无限或有噪声的状况下。在这种状况下,其余技术,如数据加强、正则化或迁徙学习可能更无效地进步模型的性能。

最初Temperature 能够管制语言生成模型的行为。通过适当的调整,能够失去咱们冀望的后果。比如说生成更确定的答案能够升高该值,而生成更发散和创造性的答案能够进步该值,所以尝试一下不同的值,看看这些更改对不的提醒有什么影响,这会帮忙咱们更好的取得想要的后果。

https://avoid.overfit.cn/post/04f2376489184f53a6ae9c5d4b43dc97

作者:Lazy Programmer