NLP / LLMs中的Temperature 是什么?

Posted deephub

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NLP / LLMs中的Temperature 是什么?相关的知识,希望对你有一定的参考价值。

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

从此告别繁琐的模型微调,LLM-Adapters助力NLP任务快速高效微调!


动机和背景

大型语言模型(LLMs)的成功,如 GPT-3 和 ChatGPT,发起了许多替代方案的开发。这些替代方案通过使用特定于任务的数据(如 ChatDoctor)或指令数据(如 Alpaca),微调 LLMs 来提高性能。但是,其中最具吸引力的方法是基于 Adapter 的参数微调(PEFT),因为它只需要微调插入的外部参数,而不是整个与训练模型,就能获得不错的性能。

为了进一步研究 LLM 的 PEFT 方法,我们开发了一个易于使用的框架——LLM-Adapters,它将各种 Adapter 集成到 LLMs 中。该框架包括最先进的 LLMs,如 LLaMA、BLOOM 和 GPT-J 等模型,以及广泛使用的 Adapter,如 Series adapter、Parallel adapter 和 LoRA。同时,我们也会持续更新新的 LLMs 和 Adapter,以满足用户不断变化的需求。

项目名称:

LLM-Adapters: An Adapter Family for Parameter-Efficient Fine-Tuning of Large Language

论文链接:

https://arxiv.org/abs/2304.01933

开源链接:

https://github.com/AGI-Edgerunners/LLM-Adapters

如果您是自然语言处理领域的从业者或爱好者,LLM-Adapters 将是您的强大工具。使用这个框架,您可以快速实现高性能模型,而不需要进行繁琐的模型微调。无论您正在构建聊天机器人、进行文本分类,或是进行其他自然语言处理任务,LLM-Adapters 都能为您提供强有力的支持。不要犹豫,赶快试试吧,它会为您的工作带来意想不到的帮助!

Adapters大家族

Adapters 是包含少量可训练参数并集成到 LLM中的外部模块。在训练期间,LLM 的参数保持固定,而 Adapter 模型的参数被调整以执行特定的任务。因此,由 LLM 生成的表示不会因任务特定的调整而扭曲,而 Adapter 模型则获得了编码特定任务信息的能力。

本框架在 LLM 中提出了三种 Adapter 类型:Series Adapter, Parallel Adapter 和 LoRA。我们将在之后的工作更新更多的 Adapter。

Series Adapter:受 [1] 的启发,我们的框架将瓶颈前馈层依次添加到 Transformer 的多头注意力层和前馈层。图(a)显示了瓶颈 Adapter 由两层前馈神经网络组成,包括一个下投影矩阵,一个非线性函数,和投影,以及输入和输出之间的残差连接

Parallel Adapter:将瓶颈前馈层与 LLMs 中 Transformer 的多头注意力层和前馈层并行集成。如图(b)所示,Adapter 与每个 Transformer 合并在一起

LoRA:[2] 提出了 LoRA,旨在用更少的可训练参数有效地微调预训练模型。LoRA 在 LLMs 的现有层中引入了可训练的低秩分解矩阵,使模型能够适应新的数据,同时保持原始 LLMs 固定以保留现有的知识。

具体来说,LoRA 通过注入低秩分解矩阵,对表示为矩阵乘法的每个模型层执行重新参数化,如图(c)所示。这种重新参数化使模型能够进行微调,而不需要计算完整的密集矩阵乘法,这可能是计算成本很高的。通过降低矩阵的秩,LoRA 有助于减少微调 llm 时的参数数量。

数据集验证

下面展示了不同模型是否可以使用的各类 Adapter:

我们 6 个数学推理数据集上,测试不同 LLMs 参数高效微调的精度,6 个数据集分别是:(1)MultiArith;(2)GSM8K;(3)AddSub;(4)AQuA;(5) SingleEq;(6)SVAMP.

我们使用 Zero-shot-Cot 方法在 GPT-3.5 text-Davinci-003 收集到的数据 math_data.json 进行微调。结果如下:

未来规划

在任务和数据集上:我们计划进一步扩展我们的推理任务,尽可能多的收集数据集

在 Adapter 上:我们将整合更多类型的 Adapter,并在大语言模型上测试

在 LLM 上:我们将整合更多的 LLM 进行测试

参考文献

[1] Neil Houlsby, Andrei Giurgiu, Stanislaw Jastrzebski, Bruna Morrone, Quentin De Laroussilhe, Andrea Gesmundo, Mona Attariyan, and Sylvain Gelly. 2019. Parameter-efficient transfer learning for nlp. In International Conference on Machine Learning, pages 2790–2799. PMLR. 2,3,4

[2] Edward J Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, Lu Wang, and Weizhu Chen. 2021. Lora: Low-rank adaptation of large language models. arXiv preprint arXiv:2106.09685. 2,3,4

更多阅读

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

以上是关于NLP / LLMs中的Temperature 是什么?的主要内容,如果未能解决你的问题,请参考以下文章

从此告别繁琐的模型微调,LLM-Adapters助力NLP任务快速高效微调!

LLMs Fine-tuning 学习笔记:trl+peft

LLMs大模型带来的新范式#Mixlab Insight

python - 使用一个标准(从开尔文到摄氏度)替换csv中特定列中的一些值。

197. Rising Temperature

LeetcodeRising Temperature