符号调整可改善语言模型中的上下文学习

~S`QC{9ASGA)X1XVLEOZ2)D.png

人类智能的一个关键特征是,人类可以仅使用几个例子进行推理,从而学会执行新任务。语言模型的扩展解锁了机器学习中的一系列新应用和范例,包括通过上下文学习执行具有挑战性的推理任务的能力。然而,语言模型仍然对提示的给出方式很敏感,这表明它们不是以稳健的方式进行推理。例如,语言模型通常需要大量的提示工程或措辞任务作为指令,并且它们表现出意想不到的行为,例如即使显示不正确的标签,任务上的表现也不会受到影响。

在“符号调整改善语言模型中的上下文学习”中,我们提出了一种简单的微调程序,我们称之为符号调整,它可以通过强调输入-标签映射来改善上下文学习。我们在Flan-PaLM模型中试验了符号调整,并观察了各种设置中的好处。

符号调整可以提高看不见的上下文学习任务的性能,并且对于未指定的提示(例如没有说明或没有自然语言标签的提示)更加稳健。

符号调整模型在算法推理任务中表现更强大。

最后,符号调整模型在遵循上下文中呈现的翻转标签方面表现出很大的进步,这意味着它们更能够使用上下文信息来覆盖先前的知识。

符号调整概述,其中模型针对自然语言标签被任意符号替换的任务进行微调。符号调整依赖于直觉:当指令和相关标签不可用时,模型必须使用上下文示例来学习任务。

动机

指令调整是一种常见的微调方法,已被证明可以提高性能并允许模型更好地遵循上下文示例。然而,一个缺点是模型没有被迫学习使用示例,因为任务在评估示例中通过指令和自然语言标签重复定义。例如,在上图左侧,虽然示例可以帮助模型理解任务(情感分析),但它们并不是绝对必要的,因为模型可以忽略示例并只读取指示任务是什么的指令。

在符号调整中,模型在删除指令并将自然语言标签替换为语义上不相关的标签(例如“Foo”、“Bar”等)的示例上进行微调。在这种设置下,如果不查看上下文示例,任务就不清楚。例如,在上图右侧,需要多个上下文示例才能弄清楚任务。由于符号调整教会模型推理上下文示例,因此符号调整模型在需要在上下文示例及其标签之间进行推理的任务上应该有更好的表现。

用于符号调整的数据集和任务类型。

符号调整程序

我们选择了 22 个公开的自然语言处理(NLP) 数据集,用于符号调整过程。这些任务在过去被广泛使用,我们只选择了分类类型的任务,因为我们的方法需要离散标签。然后,我们将标签重新映射到从一组约 30K 个任意标签中选择的随机标签,这些标签来自以下三个类别之一:整数、字符组合和单词。

在我们的实验中,我们对Flan-PaLM ( PaLM的指令调整版本) 进行了符号调整。我们使用了三种不同大小的 Flan-PaLM 模型:Flan-PaLM-8B、Flan-PaLM-62B 和 Flan-PaLM-540B。我们还测试了Flan-cont-PaLM-62B(Flan-PaLM-62B 的 token 数量为 1.3T,而不是 780B),我们将其缩写为 62B-c。

我们使用来自三个类别(整数、字符组合和单词)的一组 ∼300K 个任意符号。∼30K 个符号在调整期间使用,其余的则用于评估。

实验设置

我们希望评估模型执行未见过的任务的能力,因此我们无法评估符号调整中使用的任务(22 个数据集)或指令调整中使用的任务(1.8K 个任务)。因此,我们选择了 11 个在微调期间未使用的 NLP 数据集。

情境学习

在符号调整过程中,模型必须学会使用上下文示例进行推理才能成功执行任务,因为提示经过修改,以确保任务不能简单地从相关标签或说明中学习。符号调整模型在任务不明确且需要在上下文示例及其标签之间进行推理的环境中应该表现更好。为了探索这些设置,我们定义了四种上下文学习设置,这些设置改变了学习任务所需的输入和标签之间的推理量(基于说明/相关标签的可用性)

根据指令和相关自然语言标签的可用性,模型可能需要使用上下文示例进行不同程度的推理。当这些功能不可用时,模型必须使用给定的上下文示例进行推理才能成功执行任务。

对于 62B 及更大的模型,符号调整可提高所有设置下的性能,在具有相关自然语言标签的设置下性能略有改善(+0.8% 至 +4.2%),在没有相关自然语言标签的设置下性能有显著改善(+5.5% 至 +15.5%)。令人惊讶的是,当没有相关标签时,经过符号调整的 Flan-PaLM-8B 性能优于 FlanPaLM-62B,而经过符号调整的 Flan-PaLM-62B 性能优于 Flan-PaLM-540B。这种性能差异表明,符号调整可以让小得多的模型在这些任务上表现得和大模型一样好(有效节省约 10 倍的推理计算)。

足够大的符号调整模型在上下文学习方面比基线更好,尤其是在没有相关标签的情况下。性能显示为 11 项任务的平均模型准确率 (%)。

算法推理

我们还对BIG-Bench 的算法推理任务进行了实验。主要有两组任务:1)列表函数——在包含非负整数的输入和输出列表之间识别转换函数(例如,删除列表中的最后一个元素);2)简单的图灵概念——使用二进制字符串进行推理以学习将输入映射到输出的概念(例如,在字符串中交换 0 和 1)。

在列表函数和简单图灵概念任务中,符号调优分别使性能平均提升了 18.2% 和 15.3%。此外,经过符号调优的 Flan-cont-PaLM-62B 在列表函数任务中的平均表现优于 Flan-PaLM-540B,这相当于推理计算减少了 10 倍左右。这些改进表明,符号调优增强了模型在上下文中学习未知任务类型的能力,因为符号调优不包含任何算法数据。

符号调整模型在列表函数任务和简单图灵概念任务上取得了更高的性能。(A–E):列表函数任务的类别。(F):简单图灵概念任务。

翻转标签

在翻转标签实验中,上下文和评估示例的标签被翻转,这意味着先验知识和输入标签映射不一致(例如,包含积极情绪的句子被标记为“消极情绪”),从而使我们能够研究模型是否可以覆盖先验知识。之前的研究表明,虽然预先训练的模型(没有指令调整)在某种程度上可以遵循上下文中呈现的翻转标签,但指令调整会降低这种能力。

我们发现,所有模型大小都呈现出类似的趋势——符号调整模型比指令调整模型更能跟踪翻转标签。我们发现,经过符号调整后,Flan-PaLM-8B 在所有数据集上的平均改进率为 26.5%,Flan-PaLM-62B 的改进率为 33.7%,Flan-PaLM-540B 的改进率为 34.0%。此外,符号调整模型的性能与仅进行预训练的模型相当或优于平均水平。

符号调整模型在遵循上下文中呈现的翻转标签方面比指令调整模型表现得更好。

结论

我们提出了符号调优,这是一种针对将自然语言标签重新映射到任意符号的任务进行模型调优的新方法。符号调优基于以下直觉:当模型无法使用指令或相关标签来确定所呈现的任务时,它必须通过从上下文示例中学习来确定。我们使用符号调优程序调优了四种语言模型,利用 22 个数据集和大约 30K 个任意符号作为标签。

我们首先表明,符号调整可以提高未见过的上下文学习任务的表现,尤其是当提示不包含指令或相关标签时。我们还发现,尽管在符号调整过程中缺乏数字或算法数据,但符号调整模型在算法推理任务中的表现要好得多。最后,在输入具有翻转标签的上下文学习设置中,符号调整(对于某些数据集)恢复了在指令调整期间丢失的跟踪翻转标签的能力。

未来工作

通过符号调整,我们的目标是提高模型在上下文学习期间检查和学习输入-标签映射的程度。我们希望我们的成果能够鼓励进一步研究,以提高语言模型对上下文中呈现的符号进行推理的能力。

致谢

本文作者现已加入 Google DeepMind。这项工作由 Jerry Wei、Le Hou、Andrew Lampinen、Xianning Chen、Da Huang、Yi Tay、Xinyun Chen、Yifeng Lu、Denny Zhou、Tengyu Ma 和 Quoc V. Le 完成。我们要感谢 Google Research 和 Google DeepMind 的同事们提供的建议和有益的讨论。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论