大型语言模型(LLMs)具有常识推理和连贯语言生成等基础能力,已经被调整用于特定领域的任务,如代码生成和数学问题解决。这导致了一些专业的模型在特定领域,如代码生成或逻辑推理方面有着出色的表现。
这就带来了一个问题,能否把一个通用的模型和一个特定领域的强化模型结合在一起,获得新的能力,比如把一个模型的代码理解能力和另一个模型的语言生成能力结合起来,用于生成代码的文本描述。传统的方法是在训练强化模型的数据上再预训练或微调通用模型。但是,这可能需要更多的计算资源。使用不同的模型可以利用已有的能力,而不会遇到传统方法中的灾难性遗忘等问题。
为了克服前面提到的训练和数据限制的障碍,谷歌研究院和谷歌DeepMind的研究人员提出并探索了一个实用的模型组合场景:(i)可以访问一个或多个强化模型和一个通用模型,(ii)不能改变任何一个模型的权重,(iii)可以访问一个有限的数据集,代表了提供的模型的组合能力,比如把代码生成和复杂的逻辑推理结合起来。
他们提出了一个创新的框架,叫做组合强化语言模型(CALM),来处理前面提到的一般模型组合场景。与简单的强化和通用LMs的混合不同,CALM在强化和通用模型的中间层表示中引入了一组可训练的参数。CALM旨在找到这些模型的最佳融合,提高它们在处理新的复杂任务方面的整体性能,比任何一个单独的模型都更有效,同时保留每个模型的特有能力。
他们探索了CALM的重要实际应用,重点关注语言包容性和代码生成。在语言包容性的背景下,他们使用了一个专门针对低资源语言训练的模型。他们把这个模型和LLM结合起来,赋予它们先进的生成和推理能力,从而显著提高了在低资源语言上进行翻译和算术推理任务的性能。
有趣的是,这个组合模型超过了两个基础模型的性能,也超过了经过进一步预训练或针对低资源语言定制的LoRA微调的LLM的版本。在代码生成的情况下,他们使用了一个在多种编程语言的不同开源代码上训练的模型,通过把这个模型和LLM结合起来。因此,利用它的底层逻辑和生成能力,他们在涉及代码解释和完成的任务上,实现了比两个基础模型更优的性能。