目前,优化给定 NLP 任务性能的最佳方法通常是微调预训练语言模型 (LM)。然而这样做的一个副作用是,其他任务的性能会随之下降。近年来,巨型预训练语言模型 (LM) 在各种任务中展示出了令人惊讶的零样本能力,使得众多研究者产生这样一个愿景,即单一的、多功能模型可以在不同的应用程序中得到广泛应用。然而,当前领先的冻结(frozen)LM 技术,即保持模型权重不变,性能却不如以任务相关方式修改权重的微调方法。反过来,如果研究者能够忍受模型遗忘与损害多功能性,还需要考虑性能和多功能性之间的权衡。
来自 AI21 Labs 的研究者撰文《 STANDING ON THE SHOULDERS OF GIANT FROZEN LANGUAGE MODELS 》,论文的主要信息是,当前的冻结模型技术(例如 prompt tuning)只是冰山一角,那些更强大的方法利用冻结 LM 技术可以在具有挑战性的领域中进行微调,而不会牺牲底层模型的多功能性。
为了证明这一点,作者介绍了三种利用冻结模型的新方法:依赖输入提示调优(input-dependent prompt tuning);冻结阅读器(frozen readers);循环语言模型(recursive LM),每种方法都大大改进了当前的冻结模型方法。事实上,作者的部分方法甚至在目前其主导的领域中优于微调方法。每种方法的计算成本都高于现有的冻结模型方法,但相对于单次通过一个巨大的冻结 LM 仍然可以忽略不计。这些方法中的每一种本身都构成了有意义的贡献,但是通过将这些贡献放在一起,该研究旨在让读者相信一个更广泛的信息,该信息超出了任何给定方法的细节:冻结模型具有未开发的潜力,微调通常是不必要的。
论文地址:https://arxiv.org/pdf/2204.10019.pdf
一般来讲,对大型 LM 进行微调通常可以获得出色的性能,但这种方法训练代价昂贵。这篇论文表明,存在一个更好的替代方案:冻结一个单一的、巨大的预训练 LM,并学习更小的神经模块,可将 LM 专门用于不同的任务。更重要的是,这项研究表明可以将大型 LM 应用于实际问题,在这个阶段中,特定任务的神经中间模块的设计将会取代微调。其结果将是,微调通常是一种不必要的浪费,而关键是找到站在大型冻结语言模型的肩膀上的最佳方式。
依赖输入提示调优
本节中,研究者提出了一种称为依赖输入提示调优 (ID-PT) 方法,可用于在保持冻结状态的同时对 LM 进行大规模多任务处理。ID-PT 用来训练一个非常小的外部网络,该网络接收来自众多精选数据集之一作为输入,并动态创建一个神经提示,使冻结的 LM 为处理这个输入做好准备(参见图 1)。
该研究使用 Sanh 等人的训练集进行了实验,并与他们的模型进行比较,这两者都是公开可用的。该研究在冻结了 7B 参数 的 J1-Large 模型上执行了 ID-PT,并在仅对一半的训练示例进行训练后达到了 Sanh 等人的微调 11B 参数 T0++ 模型的性能。这表明无需微调,LM 也能取得较好的结果。维护和服务单个冻结的 LM 作为主干,并执行 ID-PT 以在不同的任务套件上对其进行外部调整。此外,正如在后面部分中展示的那样,这启用了一个新的工作流程,通过部署单个巨大的 LM 来支持各种不同的 NLP 应用程序。
ID-PT 架构如图 2 所示,它由 3 个组件组成:(1)冻结基于 T5 的编码器;(2) 一个学习提示,用于在提示生成器中提示调优冻结 T5 编码器的功能(总共 330K 学习参数);(3) 一个学习的交叉注意力网络,将 T5 编码器的可变长度输出序列(长度等于输入 x 的长度)转换为固定长度的提示 p (x)。
表 1 显示了每个任务集群以及跨数据集的 ID-PT + J1-Large 和 T0++ 的平均测试集分数。这两个模型看起来相当,在一些任务集群上表现出较小的性能差异,而另一些则表现出更高的方差:ID-PT + J1-Large 在情感和释义任务集群中表现更好,而 T0++ 在结构 - 文本和摘要任务集群中优于 ID-PT + J1-Large。总体而言,ID-PT + J1-Large 在跨数据集的测试分数平均值中略超过 T0++ 的表现。
图 3 显示了该研究在训练期间不同点观察到的 ID-PT + J1-Large 的平均开发集分数:
冻结阅读器
依赖于小型检索增强阅读器的一个固有缺点是,它们没有大型 LM 的世界知识或推理能力。因此,需要将强大的监督学习检索与大型 LM 结合。为了解决这个问题,该研究使用了一个外部重排序(external re-ranking)模块,以增加在适合冻结 LM 的上下文窗口的少量通道中获得答案的机会。虽然检索器相关性分数是根据问题和段落的单独密集表示来计算的,但重排序器会在联合处理问题和文章后预测每个文档的相关性分数。提示调优冻结的 LM 以从出现在其上下文中的重排序的文档中提取答案。
表 2 显示了在将文档打包到 LM 的上下文窗口中时使用重排序器的实用性。当使用 DPR 作为检索系统时,该研究将 LM 输入的召回率(即答案出现在冻结 LM 的上下文窗口中的问题的百分比)从 77.2% 提高了 到 80.4%,从而将下游性能(通过精确匹配衡量)提高 2.1 个百分点(从 46.6% 到 48.7%)。同样,该研究观察到在利用 Spider+BM25 等更强大的检索器时,重新排名可以获得显著收益。
表 3 显示了该系统在 NQ 测试集上与各种生成基线对比结果。冻结 J1-Grande-17B 阅读器获得了最好的结果,超越 FiD 模型得分。
总体来说,该结果表明巨大的冻结语言模型可作为 ODQA 的优秀阅读器,也不会落后于更精细的、突出的、经过微调的阅读器。
将循环应用于冻结 LM 模型
现有的基于 Transformer 的 LM 的应用程序只通过 LM 运行一次给定输入。尽管这是一种很自然的选择,在大部分其他 DNN 应用程序中,研究者从 LM 设计模式的差异中找到了机会。由于 LM 的输入和输出空间都使用的是自然语言,而且由于相同的 LM 可以提供多种功能,因此原则上可以将 LM 重新应用到自己的输出中,这种操作被称为「LM 循环」。
在这一部分,研究者提出了两种不同的方法将该思路付诸实践(图 5),并给出了实验证据,证明每一种方法都可以产生显著的收益。在第 4.1 节中,提供了一种文本方法,其中输出文本在第一次通过冻结 LM 并重新插入相同的冻结 LM 之后进行采样。在第 4.2 节中,提出了一种神经方法,在这种方法中,一个可训练的小型网络通过相同的冻结 LM 将冻结 LM 输出处的向量表征映射到下一次迭代的向量表征输入。
图 5: (a) Prompt 调优使一次通过冻结的 LM;(b) 文本循环 LM 方法 (Section 4.1) 使用冻结的 LM 一次采样 n 个候选答案,然后再次采样正确的答案;(c) 神经循环 LM 方法 (Section 4.2) 涉及一个训练好的连接器,该连接器将第一个 LM 关口的输出嵌入转换为第二个 LM 关口的输入嵌入。蓝色表示「冻结」,未经训练的模块;橙色代表训练过的模块。
在 closed-book 设置的开放域问答上,研究者评估了 LM 循环方法,其中重点关注了 Natural Questions benchmark (Kwiatkowski et al., 2019)。研究者用 7B 参数的 LM J1-Large 进行了实验,结果表明,通过模型的两次迭代,这两种方法都比传统的冻结模型方法(只使用一次冻结模型)获得了实质性收益,而且神经循环 LM 的性能优于文本循环 LM。
值得注意的是,通过两次迭代 7B 参数模型,神经循环 LM 模型接近了 17B 参数 LMJ1-Grande 单次通过的性能。
通过循环地将 LM 应用于其自身的输出来提高性能,这一前景有可能变成为服务于 LM 的商业化游戏规则改变者。如果一个 LM 在某项任务上的表现不令人满意,现有的垂直性能改进就是预训练一个更大的 LM。然而,预训练越来越大的 LM 很快就变得昂贵起来,而且即使在评估时间部署巨大的模型也是昂贵的。此外,只有在某些任务或任务中的某些输入时才需要改进性能。通过在自身输出上重新应用现有的 LM 进行改进,只需要单次前向通过成本的一半,或者在需要时获得双倍的计算量,这是一个比预训练更集中、成本更低的选择,并部署一个规模为原来两倍的模型。
更多研究细节可参考原论文。