夕小瑶科技说 原创
作者 | Richard
“没有什么是一个大模型不能解决的。如果不能,那就两个!”这并不是一句玩笑话,而是人工智能领域的一个热门趋势。最近,中科院张家俊老师团队发表的一篇综述,揭开了大语言模型研究的新篇章 —— 多模型协作。
想象一下,如果能让ChatGPT、Claude和GPT-4这样的"AI大咖"携手合作,会擦出什么样的火花?这篇综述告诉我们,科学家们正在探索三种让AI模型"抱团取暖"的绝妙方法:合并、集成 和 协同。
合并就像是给模型们开了一场"超级头脑风暴",将多个模型的"大脑"融合成一个更强大的超级大脑;集成则是举办一次"AI智慧投票大会",让多个模型集思广益,共同做出决策;而协同更像是组建了一支"AI梦之队",每个队员都有自己的专长,通力合作完成复杂任务。
这些花样百出的协作方法不仅能让模型变得更聪明,还能帮它们学会"省钱省力"。比如,通过合作,模型们可以更高效地处理信息,减少计算资源的浪费。它们还能互相"补课",弥补各自的知识盲区,实现1+1>2的效果。
但是,这条"抱团"之路也并非一帆风顺。如何让不同"个性"的模型和谐共处?如何在保证效率的同时不牺牲准确性?这些都是科学家们正在绞尽脑汁解决的难题。
论文标题:Merge, Ensemble, and Cooperate! A Survey on Collaborative Strategies in the Era of Large Language Models
论文链接:https://arxiv.org/pdf/2407.06089
近年来,大语言模型(Large Language Models, LLMs)的快速发展彻底改变了自然语言处理领域的研究范式。从 GPT-3 到 ChatGPT,再到最新的 Claude 3 和 GPT-4,这些模型展现出了令人惊叹的能力,几乎可以处理各种自然语言任务。然而,尽管单个大语言模型表现出色,但它们仍然存在一些局限性。
目前已经有大量的大语言模型被开发和发布,如 PaLM、LLaMA、GPT 系列、Qwen 等。这些模型由于训练数据、架构和方法的差异,往往各有所长。例如,有些模型在多语言任务上表现出色,有些则专注于特定领域如医疗或金融,还有一些模型擅长处理长文本或与人类进行对话。然而,没有一个模型能在所有任务上都表现最佳。
这种情况促使研究人员开始探索大语言模型之间的协作策略。正如谚语所说:"Many hands make light work"(多人合作,事半功倍),这一原则在机器学习领域同样适用。通过协作,可以充分发挥各个模型的优势,同时克服它们的不足。
大语言模型协作的必要性主要体现在以下几个方面:
提高整体性能:不同模型在不同任务上的表现各有优劣,通过协作可以取长补短,提高整体性能。
增强多任务处理能力:单个模型可能在某些任务上表现出色,但在其他任务上表现不佳。协作可以帮助构建一个更全面、更versatile的系统。
提高计算效率:某些协作策略可以利用小型模型来辅助大型模型,从而提高推理速度和降低计算成本。
减少错误和幻觉:通过多个模型的协作,可以交叉验证输出结果,减少单个模型可能产生的错误或幻觉。
知识共享与能力迁移:协作策略可以实现模型间的知识迁移,使得某个模型的特定能力可以被其他模型学习和使用。
本文将大语言模型的协作策略分为三大类:融合(Merging)、集成(Ensemble)和合作(Cooperation)。这三种策略各有特点:
这些协作策略的灵活性和要求各不相同。从融合到集成再到合作,对模型的限制逐渐放松,方法也越来越灵活。
总的来说,大语言模型的协作不仅能提高性能,还能创造出更全面、高效的AI系统。这个领域虽然还在探索阶段,但已经展现出了巨大的潜力。
融合是指将多个大语言模型在参数空间中整合为一个统一的、更强大的模型。这种方法主要适用于具有相同架构和兼容参数的模型。融合方法主要有两个目标:
M-ROS方法的目标是通过融合多个局部最优解,获得一个更接近全局最优的解决方案。这种方法基于一个重要发现:通过梯度优化得到的解通常不是位于最优区域的中心,而是倾向于收敛在一个宽阔平坦区域的边缘附近。模型融合技术提供了一种巧妙的方式,可以将这些边缘解推向更优的中心位置,从而创造出一个性能更强大的模型。
主要的M-ROS方法包括:
简单平均:直接对多个模型的参数进行平均。
Guo等人[1]提出使用参数平均的方法合并不同微调模型的参数。为了发挥多个模型的优势,Wortsman等人[2]提出Model Soup,论文中提出了Uniform Soup and Greedy Soup,Uniform Soup只是对模型参数求平均值;Greedy Soup 每次向模型池中添加一个模型,确保每个新模型都能提高或保持验证集上的性能。
加权平均:根据模型的重要性赋予不同权重进行平均。
其中 是融合后的参数, 是第 个模型的参数, 是第 个模型的权重。
例如,Wortsman等人[2]提出Learned Soup,在验证集上优化混合系数,使损失函数最小化,从而结合多个模型的优势,提高整体性能。Matena等人[3]提出利用费雪信息矩阵来衡量用不同随机种子微调的模型参数的重要性,并将重要性分数作为系数来合并它们。
M-MTC方法旨在融合在不同任务上表现出色的模型,构建一个具有多任务处理能力的统一模型。这些方法主要关注如何解决参数冲突问题。
主要的M-MTC方法包括:
其中,任务向量 定义为:
是在特定任务上微调后的参数, 是预训练模型的原始参数。
集成方法是另一种有效的协作策略,它不同于模型融合,主要关注模型输出的组合而非参数层面的整合。传统的集成学习技术,如Adaboost[4]、Bagging[5]和Stacking[6],在机器学习领域已经取得了显著成功。在大语言模型时代,集成学习继续发挥着重要作用,但由于LLMs的特殊性,需要开发专门的集成方法。
根据集成发生的阶段,LLM集成方法可以分为三类:推理前集成、推理中集成和推理后集成,这三种方法在不同的推理阶段发挥作用。
在推理开始前,选择最适合当前输入的模型。Lu等人[7]提出了 ZOOTER 系统,该系统首先采用奖励模型,利用训练集为查询-输出对计算分数。然后利用这些分数,使用知识提炼策略训练路由器,使其能够仅根据输入查询选择最佳LLM。
如下图所示,这通常通过训练一个路由器(router)来实现。路由器根据输入选择最合适的模型进行推理。这种方法的优点是速度较快,但其效果很大程度上依赖于路由器的准确性。
在每一步解码时,结合多个模型的输出分布。这种方法在每个解码步骤都进行集成,可以有效减少错误累积。然而,由于LLMs的输出通常是离散的token序列,直接进行集成具有挑战性。一些研究提出了针对异构LLMs的集成方法,如使用重叠的token作为锚点来投影不同模型的输出分布。
Li等人[8]通过对输出分布进行加权平均,将不受信任的LLM与较小的LLM 、结合起来,从而缓解了侵犯版权、数据中毒和侵犯隐私等问题。
从多个模型生成的候选输出中选择或重组最终结果。这种方法灵活性高,但依赖于候选池的质量。一些研究探索了无监督的选择指标,如BERTScore、BLEURT等,来选择最佳输出。
实现LLM组合的一种方法是建立LLM级联,以降低使用LLM的推断成本。Chen等人[9]采用了按参数数量排序的LLM序列来生成输出,一旦前一个较小的LLM生成了满意的结果,就停止该过程并返回结果。Yue等人[10]提出首先验证较小LLM生成的答案的正确性,如果初始答案不正确,则利用LLM来解决问题。
每种集成方法都有其特点:
下表总结了三种集成方法的特征:
除了方法学研究,许多研究还探索了LLM集成在特定应用中的潜力。例如,在SQL生成、医疗文本错误检测和纠正、疾病诊断等任务中,LLM集成都显示出了优越的性能。此外,在RLHF(基于人类反馈的强化学习)中,集成学习被用来缓解过度优化问题,提高对齐性能。
总的来说,LLM集成方法为充分利用不同模型的优势提供了一种有效途径。尽管在计算效率和实现复杂度方面仍面临挑战,但LLM集成技术正在快速发展。
合作策略是大语言模型协作中最灵活的一种方式,它利用不同大语言模型的多样化能力来完成特定目标。这种策略不仅仅局限于模型参数的融合或输出的集成,而是在更广泛的层面上探索模型间的协同工作。根据文章内容,合作策略主要包括以下几个方面:
高效计算旨在通过模型间的合作来提高推理速度和降低计算成本。主要包括以下两种方法:
输入压缩
这种方法使用小型模型来压缩输入,从而减少大模型需要处理的token数量。Zhou等人[12]对高效推理进行了评述,其中输入压缩是评述的重要部分。输入压缩主要集中于提示剪枝、提示总结和软提示压缩。提示剪枝的核心思想是根据预定义或可学习的重要性指标删除输入提示中不重要的标记、句子或文档。提示摘要旨在将原始提示压缩成更短的摘要,同时保留类似的语义信息。软提示压缩包括设计一个软提示,它是一个可学习的连续标记序列。它比原始提示短得多,将被用作LLM的输入。
输入压缩的主要技术包括:
推测解码
这种方法使用小型模型生成草稿,大型模型负责验证。例如,Ou等人[13]提出在开始阶段使用基于当前语境的自适应 N-gram 模型,随后是验证阶段,由原始 LLM 评估并确认所提议的词块。除了使用草拟模型来减少实际模型预测的数量,一些研究还引入了提前停止机制。
小型模型(草稿生成器)快速生成多个token的草稿,大型模型(LLM)并行验证这些草稿token。这种方法的加速效果主要取决于每步草稿token的接受率。
知识迁移通过修改输出概率分布,将一个模型的能力迁移到另一个模型。主要方法包括:
缓解错误知识
如对比解码(Contrastive Decoding, CD)。CD的核心思想如下图所示,通过对比大模型和较弱的业余模型的输出分布来选择token。
其核心方法使用公式描述如下:
2. 增强正确知识
如基于验证的方法。这类方法使用额外的验证器来增强对输入或指令的忠实度.
其核心方法使用公式描述如下:
其中,𝑝(𝑐∣𝑦𝑖,𝑦<𝑖) 由额外学习的属性预测器(验证器)提供。
3.提供新知识
如模拟微调(emulated tuning)。这种方法通过修改大模型的输出logits来提供从小模型中提取的新能力:
LARGE-C和 SMALL-C 指具有特定能力的模型,
LARGE-C和 SMALL-C 原始模型指原始模型。
补偿性合作引入额外的控制器来弥补大语言模型的不足,主要包括:
检测器
如下图所示,检测器用于识别大语言模型输出中的错误或幻觉。主要分为两类:
检索器:检索器用于获取外部知识,扩展大语言模型的知识范围。主要处理两类数据:
联邦合作旨在在保护隐私的前提下,实现模型之间的知识共享和能力提升。主要包括两个方面:
联邦训练 在不共享原始数据的情况下,多个数据所有者协作训练一个共享模型。为了弥合服务器 LLM 和客户端 SLM 同时相互增强的差距,Fan等人[13]提出了FedMKT,这是一种针对大型和小型语言模型的参数高效联合相互知识转移框架。除此之外,Ye等人[14]建立了一个名为OpenFedLLM的框架,多个数据所有者可以在不传输原始数据的情况下合作训练一个共享模型。
联邦提示工程 使用本地小模型保护用户隐私,云端大模型执行用户指令。FL可能会耗费过多的收敛训练时间,并产生不准确的模型。因此Guo等人[15]提出PromptFL,通过引入了提示学习器,其更新提示而不是更新整个模型。因此,局部训练和全局聚合都可以大大加快。
这些合作策略为大语言模型的协作提供了多样化的方法,每种方法都有其特定的应用场景和优势:
随着研究的深入和技术的进步,这些合作策略有望进一步提升大语言模型的性能、效率和可靠性。未来的研究方向可能包括更灵活的合作机制、跨模态的协作、以及如何在复杂的实际应用场景中有效地组合和应用这些策略。
中科院张家俊团队最新综述揭开了大模型研究的新领域:多模型协作。这篇综述给大语言模型的"团队协作"来了次大盘点!从模型融合的"强强联手",到集成方法的"你方唱罢我登场",再到合作策略的"各显神通",可谓是五花八门,精彩纷呈。这些花样百出的协作招数,无疑为大模型们"发挥所长,互补短板"开辟了新天地。
对于AI从业者而言,多模型协作无疑是一个值得持续关注的方向,张家俊团队的这份综述为这个新兴领域提供了全面的视角。未来,当Claude遇到GPT-4,他们之前会碰撞出怎样的火花?未来大模型是“一枝独秀”还是“众志成城”?这些都值得AI从业者进行深入探索。