语言模型越来越厉害,也越来越大。如何在不扩大规模的情况下提升模型性能?谷歌 AI 想出了一个「强强联合」的好点子。
近年来,语言模型(LM)在自然语言处理(NLP)研究中变得更加突出,在实践中也越来越有影响力。一般来说,扩大模型的规模已被证明可以提升在一系列 NLP 任务中的性能。
不过,扩大模型规模的挑战也是显而易见的:训练新的、更大的模型需要大量的计算资源。此外,新的模型往往是从头开始训练的,无法利用以前的模型的训练权重。
对于这个问题,谷歌的研究人员探讨了两种互补的方法,在不额外消耗大量计算资源的情况下,大幅提高现有语言模型的性能。
首先,在 「Transcending Scaling Laws with 0.1% Extra Compute」一文中,研究人员介绍了 UL2R,这是一个轻量级的第二阶段预训练模型,使用一个混合 enoisers 目标。UL2R 提高了一系列任务的性能,甚至在以前具有接近随机性能的任务上释放出突发性能。
另外,在「Scaling Instruction-Finetuned Language Models」中,探讨了在一个以指令为措辞的数据集上微调语言模型的问题,这个过程我们称为 "Flan"。这种方法不仅提高了性能,而且还提高了语言模型对用户输入的可用性。
最后,Flan 和 UL2R 可以作为互补技术结合在一个名为 Flan-U-PaLM 540B 的模型中,该模型在一系列具有挑战性的评估基准中,比未经调整的 PaLM 540B 模型表现高出 10%。
UL2R 的训练
传统上,大多数语言模型都是在因果语言建模目标上进行预训练,使模型能够预测序列中的下一个词(如 GPT-3 或 PaLM)或去噪目标,其中模型学习从损坏的单词序列中恢复原句(如 T5)。
尽管在语言建模目标中存在一些权衡,即因果关系的语言模型在长句生成方面表现更好,而在去噪目标上训练的语言模型在微调方面表现更好,但在之前的工作中,研究人员表明,包括这两个目标的混合 enoisers 目标在两种情况下都能取得更好的性能。
不过,在不同的目标上从头开始对大型语言模型进行预训练,在计算上是很困难的。因此,我们提出了 UL2 修复(UL2R),这是一个用 UL2 目标继续预训练的附加阶段,只需要相对较少的计算量。
我们将 UL2R 应用于 PaLM,并将产生的新语言模型称为 U-PaLM。
在实证评估中,我们发现,只需少量的 UL2 训练,模型就会有大幅改善。
例如,通过在 PaLM 540B 的中间检查点上使用 UL2R,可以达到 PaLM 540B 在最终检查点的性能,同时使用了 2 倍的计算量。当然,将 UL2R 应用于最终的 PaLM 540B 检查点也会带来巨大的改进。
PaLM 540B 和 U-PaLM 540B 在 26 个 NLP 基准上的计算与模型性能对比。U-PaLM 540B 继续训练 PaLM,计算量非常小,但在性能上有很大的提升。
使用 UL2R 的另一个好处是,它在一些任务上的性能比纯粹在因果语言建模目标上训练的模型好得多。例如,有许多 BIG-Bench 任务具备所谓「新兴能力」,即只有在足够大的语言模型中才有的能力。
虽然最常见的发现新兴能力的方式是通过扩大模型规模,但 UL2R 实际上可以在不扩大模型规模的情况下激发新兴能力。
比如在 BIG-Bench 的导航任务中,衡量模型进行状态跟踪的能力,除了 U-PaLM,所有模型的训练 FLOPs 少于 10^23 个。另一个例子是 BIG-Bench 的 Snarks 任务,该任务衡量模型检测讽刺语言的能力。
对于来自 BIG-Bench 的两种能力,展示了新兴的任务性能,U-PaLM 由于使用了 UL2R 目标,所以在较小的模型规模下实现了新兴性能。
指令微调
在第二篇论文中,我们探讨了指令微调,这涉及到在一组以指令为措辞的 NLP 数据集上对 LM 进行微调。
在之前的工作中,我们将指令微调应用于 62 个 NLP 任务的 137B 参数模型,比如回答一个小问题,对电影表达的情感进行分类,或者将句子翻译成西班牙语等。
在这项工作中,我们在超过 1.8K 的任务上微调了 540B 参数的语言模型。此外,以前的工作只对有少量例证的语言模型(如 MetaICL)或无例证的零例证语言模型(如 FLAN、T0)进行微调,而我们对两者的组合都进行了微调。
我们还包括思维链微调数据,这使得模型能够进行多步骤推理。我们把我们改进的方法称为 "Flan",用于微调语言模型。
值得注意的是,即使在 1.8K 的任务上进行微调,与预训练相比,Flan 只用了一小部分的计算量(对于 PaLM 540B,Flan 只需要预训练计算量的 0.2%)。
在 1.8K 个以指令形式表述的任务上对语言模型进行微调,并在新任务上对模型进行评估,这些任务不包括在微调中。分别在有 / 无示例的情况下进行微调(即 0-shot 和 few-shot),以及有 / 无思维链的情况下进行微调,使模型可以在一系列评估场景中推广开来。
本文中,一系列规模的 LM 进行了指令-微调,目的是研究同时扩大语言模型的规模和增加微调任务数量的共同效果。
例如,对于 PaLM 类语言模型,包括 8B、62B 和 540B 参数规格。在四个具有挑战性的基准评估标准(MMLU、BBH、TyDiQA 和 MGSM)上评估了我们的模型,发现扩大参数数量和微调任务数量都能提高在此前未见的新任务上的性能表现。
扩大到 540B 的参数模型和使用 1.8K 的微调任务都能提高性能。上图 y 轴是四个评估套件(MMLU、BBH、TyDiQA 和 MGSM)的归一化均值。
除了更好的性能之外,指令微调 LM 能够在推理时对用户的指令做出反应,而不需要少量的示例或提示工程。这使得 LM 在一系列的输入中更加方便用户。例如,没有指令微调的 LM 有时会重复输入或不能遵循指令,但指令微调可以减轻这种错误。
我们的指令微调语言模型 Flan-PaLM 与没有指令微调的 PaLM 模型相比,对指令的反应更好。
强强联合,实现「1+1>2」
最后,我们表明,UL2R 和 Flan 可以结合起来训练 Flan-U-PaLM 模型。
由于 Flan 使用来自 NLP 任务的新数据,并能实现零点指令跟踪,我们将 Flan 作为 UL2R 之后的次选方法。
我们再次对四个基准套件进行评估,发现 Flan-U-PaLM 模型优于只有 UL2R(U-PaLM)或只有 Flan(Flan-PaLM)的 PaLM 模型。此外,当与思维链和自洽性相结合时,Flan-U-PaLM 在 MMLU 基准上达到了新的 SOTA,得分达到 75.4%。
与只使用 UL2R(U-PaLM)或只使用 Flan(Flan-U-PaLM)相比,将 UL2R 和 Flan(Flan-U-PaLM)结合起来会带来最佳性能:四个评估套件(MMLU、BBH、TyDiQA 和 MGSM)的归一化平均值。
总的来说,UL2R 和 Flan 是两种互补的方法,用于改进预训练的语言模型。UL2R 使用相同的数据使 LM 适应 denoisers 的混合目标,而 Flan 则利用超过 1.8K NLP 任务的训练数据来教模型遵循指令。
随着语言模型变得更大,像 UL2R 和 Flan 这样无需大量计算就能提高一般性能的技术,可能会变得越来越有吸引力。
参考资料:
https://ai.googleblog.com/2022/11/better-language-models-without-massive.html
本文来自微信公众号:新智元 (ID:AI_era),编辑:David
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。