来源 | 机器之心
编辑| 泽南、小舟
【导读】 不增加算力需求,谷歌总结的指令微调方法能让 8000 万到 5400 亿参数的模型都显著提升性能。
人工智能一个重要的目标是开发泛化能力强的模型。在自然语言处理(NLP)领域中,预训练语言模型在这方面取得了重大进展。这类模型往往通过微调来适应新的任务。
【资料图】
近日,来自谷歌的研究者分析了多种指令微调方法,包括扩展对指令微调的影响。实验表明,指令微调确实可以根据任务数量和模型大小实现良好的扩展,最大到 5400 亿参数的模型都能明显受益,未来的研究应该进一步扩大任务的数量和模型的大小。此外,该研究还分析了微调对模型执行推理能力的影响,结果都是很吸引人的。
由此产生的 Flan-T5 对 1800 余种语言任务进行了指令微调,明显提高了提示和多步推理能力,30 亿参数跑基准就能超过 GPT-3 的 1750 亿参数。
看起来谷歌又为大模型找到了一个能力提升的方向。不过这一研究不仅引来了机器学习社区的欢迎,也有 Gary Marcus 的吐槽:
谷歌的模型为什么把谷歌自己的著名科学家 Geoffrey Hinton 的出生日期搞错了?人家明明是 1947 年出生的老前辈。
论文作者之一的谷歌大脑首席科学家 Quoc Le 赶紧出来圆场:是临时工图片做错了,在论文里 Flan-T5 模型其实没有把 Geoff 的出生年月搞错,有图为证。
顺便说一句,出生于 1963 年的著名 AI 学者是 Jürgen Schmidhuber。
既然出错的不是 AI 模型,让我们看看谷歌的新方法究竟能够为预训练模型带来哪些改变吧。
论文:Scaling Instruction-Finetuned Language Models
论文地址:https://arxiv.org/abs/2210.11416
公开模型:https://github.com/google-research/t5x/blob/main/docs/models.md#flan-t5-checkpoints
该研究使用 540B 参数模型训练 Flan-PaLM,将微调任务的数量增加到 1800 个以上,并包含思维链(CoT;Wei et al., 2022b)数据。经过训练后的 Flan-PaLM 优于 PaLM,在多个基准测试中达到了新的 SOTA。在推理能力方面,Flan-PaLM 能够利用 CoT 和自洽性(self-consistency;Wang et al., 2022c)在大规模多任务语言理解(MMLU; Hendrycks et al., 2020)上实现 75.2% 的准确率。
此外,在一组具有挑战性的开放式生成问题上,Flan-PaLM 的表现明显优于 PaLM,可用性大幅提高。
总体而言,谷歌的这项研究阐明了使用指令微调来提高模型性能的具体方法。
方法
具体来说,该研究主要关注影响指令微调的几个方面,包括:(1)扩展任务数量,(2)扩展模型大小,以及(3)对思维链数据进行微调。
该研究发现具有上述方面的指令微调显著改进了各种模型类(PaLM、T5、U-PaLM)、prompting 设置(零样本、少样本、CoT)和评估基准(MMLU、BBH、 TyDiQA、MGSM、开放式生成)。例如,在 1.8K 任务上进行指令微调的 Flan-PaLM 540B 大大优于 PALM 540B(平均 + 9.4%)。Flan-PaLM 540B 在几个基准测试中实现了最先进的性能,例如在五次 MMLU 上达到 75.2%。
研究者还公开了 Flan-T5 检查点,即使与更大的模型(例如 PaLM 62B)相比,它也能实现强大的少样本性能。总体而言,指令微调是提高预训练语言模型的性能和可用性的通用方法。
图 1. 研究人员在 1800 余个任务中对各种语言模型进行了微调,在有 / 缺乏样本(零样本和少样本)以及有 / 没有思维链的情况下进行微调,从而能够在一系列评估场景中进行泛化。
图 2. 微调数据包括 473 个数据集、146 个任务类别和共计 1836 个任务。
在数据微调和程序微调过程完成后,研究者根据模型大小对任务的性能来对比规模扩展的影响。首先,对于所有三种模型大小,多任务指令微调与没有微调相比性能有很大提高,增益范围从 9.4% 到 15.5%。其次,增加微调任务的数量可以提高性能。
最后,我们可以看到将模型规模增加一个数量级(8B → 62B 或 62B → 540B)可以明显提高微调和未微调模型的性能。
多任务指令微调相对于模型大小(参数量)和微调任务数量及规模扩展对准确率的影响。
增加微调数据中的任务数量可以提高 Flan-PaLM 在大多数评估基准上的性能。
研究人员证明了在微调混合中包含九个带有思维链 (CoT) 注释的数据集可以提高推理能力。下表显示 Flan-PaLM 的 CoT 提示能力在四个保留的评估基准上优于 PaLM。
该研究发现对 CoT 数据进行指令微调的另外一个好处是可以实现零样本(zero-shot)推理,模型在没有针对 CoT 的少量样本的情况下就自行产生了推理能力,这可能需要大量工程调教才能正确实现。
图 6:PaLM 和 Flan-PaLM 在一组 23 个具有挑战性的 BIG-Bench 任务 (BBH) 上的 zero-shot 性能。Flan-PaLM 需要通过「让我们一步一步思考」指令激活的思想链 (CoT) 生成。
为了展示新方法的通用性,谷歌训练了 T5、PaLM 和 U-PaLM,涵盖了从 8000 万到 5400 亿参数的模型体量范围,发现所有模型都能大幅提升性能。
表 5. 指令微调 (Flan) 在其他持续预训练方法之上提高了性能。
经过测试,指令微调大大提高了所有模型类型的归一化平均性能,与非微调模型相比,T5 模型从指令微调中受益最多。这些结果对于某些基准测试来说是相当强的——例如,Flan-T5-XL 只有 30 亿参数,就达到了 47.6% 的 MMLU 分数,超过了 GPT-3 1750 亿参数的 43.9% 分数。
除了 NLP 基准之外,语言模型还能够为开放式问题请求生成长格式答案。在这一方面,标准的 NLP 基准和用于评估它们的自动指标不足以衡量人类的偏好。研究人员对此进行了评估,创建了一个包含 190 个示例的评估集。该评估集包括以零样本方式向模型提出的问题,涉及五个具有挑战性的类别,每个类别 20 个问题:创造力、上下文推理、复杂推理、计划和解释。
对于其中的 60 个示例(来自复杂的推理、计划和解释类别),该研究创建了一个带有思维链触发短语(例如,「让我们一步一步思考」)的变体,作为微调是否进行的另一个评估在 CoT 上启用 zero-shot。除了上述 160 个零样本输入之外,研究中还包括 30 个用于测试少样本能力的输入,这些没有指令微调的强语言模型已被证明在这些方面表现良好。
研究人员认为,指令微调和规模扩展均可以持续提升大语言模型性能,而微调对于推理能力至关重要,其还能泛化模型能力。通过指令微调与其他模型适应技术(例如 UL2R)结合,谷歌在这项工作中提出了最强模型 Flan-U-PaLM。
重要的是,指令微调并不像模型规模扩展一样会大幅增加计算成本,例如对于 PaLM 540B,指令微调只需要 0.2% 的预训练计算,但却可以将跨评估基准的归一化平均值提高 9.4%。使用指令微调的小型模型有时可以胜过没有微调的大模型。
出于这些原因,研究人员建议对几乎所有预训练的语言模型都进行指令微调。