论文提出CALM(组合增强语言模型,Composition to Augment Language Models)框架:将一个锚LLM(anchor LLM)与专门的增强模型(specialized augmenting models)组合在一起,以实现单个模型无法实现的新任务。CALM不需要更新单个模型,而是在模型之间通过少量可训练的交叉注意力参数来学习稠密的交互。论文的实验提供了一致的证据,证明CALM学习如何利用来自两个模型的专业知识。也就是说,当与相关的增强模型组合时,观察到主模型在多个具有挑战性的任务(如低资源翻译、推理和代码解释/生成)上的性能有明显提升。
也就是说,CALM特别适用于将专有数据和知识存储在参数模型中的场景。通过CALM,一个基础语言模型可以与这样的专有模型增强,以扩展基础能力,如推理、世界知识和目标专有域上的连贯生成。最后,CALM的扩展可用于从多个增强模型中获取不同的知识。
图1:CALM概述。通过与专业增强模型(A)组合来增强锚语言模型(B)的新能力。该图说明了三个具有不同能力的A:键值映射(左)、低资源语言(中)和代码(右)。组合过程中模型A和B保持不变。在模型层表示上学习了一些额外的参数。最左侧的图显示了一个在一组字符串-整数映射上训练的A。B是一个具有算术能力的大型语言模型。CALM组合这两个固定模型以解决任一模型本身都无法解决的在键上进行算术的任务(第4.1节)。值得注意的是,CALM广泛推广到整个键值集,尽管只使用跨越20%的键的算术示例进行训练
大规模语言模型(LLM)已经展现出一系列基础能力,如常识和事实推理、世界知识以及连贯的语言生成。利用这些基础能力,社区中的许多工作通过微调这些模型来实现特定域的能力,如代码生成、文本编辑和数学问题求解。这导致了几个具有特定域能力的大型专业模型的开发。例如,有的模型在标准代码生成方面表现良好,但在一般逻辑推理方面则不太熟练,反之亦然。存在如此多的特定域模型自然会引出一个问题:我们能否将一个锚模型与一个特定域的增强模型组合起来实现新的能力?例如,我们能否将一个增强模型的代码理解能力与一个锚LLM的语言生成能力组合起来实现代码到文本的生成能力?
这个问题的典型方法是进一步预训练或者在原来训练增强模型的数据上(高效)微调锚模型。然而,这样的解决方案通常不可行,因为训练大型模型在计算上非常昂贵,尤其是因为增强模型本身可能是一个在大规模语料上训练的LLM。此外,由于隐私问题和组织边界,处理来自多个源的数据可能也不可行。使用多个不同的模型也是可取的,因为它允许重用具有既定能力的现有模型,提供更好的控制并避免传统方法中普遍存在的灾难性遗忘(catastrophic forgetting)。
为了解决上述训练和数据方面的挑战,论文提出并研究了模型组合的一个实用设置:
(i)可以访问一个或多个增强模型和一个锚模型,
(ii)不允许修改任一模型的权重,
(iii)只能访问一小部分数据,代表给定模型的“组合技能”(combined skills),例如,具有复杂逻辑推理的代码生成。
以前的工作大多从路由或合并的角度来解决组合的问题,但这两种方法都无法提供一个有效的解决方案来解决这个设置。在给定模型之间进行路由,即选择一个模型的输出而不是另一个模型的输出,或执行一个软集成,当任一模型都无法展现所需的能力时就不能有效。另一类工作通过算术组合基础模型的参数来创建一个组合模型。然而,这些设置本质上具有限制性,而且当组合大小和预训练目标不同的模型时,其有效性尚不明确。
在这项工作中,我们提出了一个新的组合增强语言模型(Composition to Augment Language Models,CALM)框架,以解决上述的一般模型组合设置。CALM没有对增强和锚定语言模型进行浅层组合,而是在两者的中间层表示上引入了少量可训练参数。CALM找到了给定模型的有效组合,可以比单个模型更准确地执行新的具有挑战性的任务,同时保留个别模型的能力。图1突出了CALM的一些激励场景。
论文研究了CALM的关键实际应用:语言包容性和代码生成。对于语言包容性(language inclusivity),论文使用一个在一组低资源语言上训练的模型。论文发现,将这个模型与LLM组合可以借用其生成和推理能力,在低资源语言的翻译和算术推理任务上取得显著提高的表现(表2和表3)。这个组合模型不仅优于两个基础模型,还优于那些为这组低资源语言进行进一步预训练或LoRA微调的LLM版本。对于代码生成,论文使用一个在各种编程语言的开源代码上训练的模型。将这个模型与LLM组合——因此借用其低级逻辑和生成能力——在代码解释和代码完成任务上优于两个基础模型(表4)。
表1:对合成键值(KV)任务的评估(准确率(%))。A经训练可以记忆KV映射,而B在算术上表现优异。看到组合模型A⊕B能够在未见键上执行算术
表2:FLORES-200数据集上从XX到英语方向的翻译性能:展示了10种低资源语言的子集结果。请注意,组合模型A⊕B明显优于A和B。在完整的语言列表上,对于192种语言中的175种,mA⊕B优于两个基础模型(附录A;图2)
表3:对低资源语言(LRL)和高资源语言(HRL)上的小学数学(GSM)问题的评估。观察到CALM对两个评估集都产生了显著收益。HRL集上的收益表明CALM避免了灾难性遗忘
表4:跨三个任务的代码生成和理解评估:代码补全(CC)、文本到代码(T2C)和代码到文本(C2T)。使用mA增强mB的代码理解能力显著提高了所有数据集上的性能。mCode B代表了一个天花板,其中mB在DCode上进行了进一步预训练,显示出了文本生成任务的灾难性遗忘
表5:CALM(A⊕B)在各种可能的消融情况下的比较性能。指标“#(>B)”描绘了相应模型优于NTL的基准B的语言数量,共192种、25种和11种语言,针对三个任务。对所有比较设置,添加的参数数量保持相同
论文标题:LLM Augmented LLMs: Expanding Capabilities through Composition