华盛顿大学开源MoCo框架,探索LLM多模型协同新范式

华盛顿大学开源MoCo框架,支持多LLM协同研究,探索模块化、组合式AI系统的新可能。实验表明,多模型协同在规模、多样性和问题解决上均有优势。

原文标题:单个LLM已不够?华盛顿大学开源多模型协同框架MoCo

原文作者:机器之心

冷月清谈:

华盛顿大学联合斯坦福大学、哈佛大学等研究人员,开源了多模型协同框架MoCo。该框架旨在支持和加速多模型协同研究,构建模块化、组合式的人工智能系统。MoCo支持26种不同层级(API、文本、logit、权重)的多模型交互算法,允许研究者自定义数据集、模型和硬件配置,以评估和优化协同算法。实验结果表明,多模型协同系统在扩展规模、模型多样性以及解决复杂问题方面具有显著优势,为未来去中心化、共同开发的AI系统提供了新思路。

怜星夜思:

1、MoCo框架支持多种层级的模型协同,你觉得哪种层级的协同方式最具潜力?为什么?
2、文章提到MoCo框架支持模型数量的扩展,并发现模型数量增加通常会带来性能提升。那么,模型数量是不是越多越好?有没有什么限制或需要考虑的因素?
3、MoCo框架鼓励研究者贡献新的协同算法,如果你有一个关于多模型协同的想法,会是什么?它试图解决什么问题?

原文内容


在训练与开发单个通用大语言模型 (LLM) 之外,越来越多的研究开始关注多模型协同 (model collaboration):由不同群体、基于不同数据、以不同目的训练的多个大语言模型,通过多样化的协同算法与系统架构,形成组合式人工智能系统。


多个模型可以通过路由算法而因材施用,通过生成文本相互沟通协作,或是在概率分布或模型参数空间做协同运算…… 各种各样的多模型协同研究共同揭示了一种 AI 新未来的可能:由去中心化训练的多样化小模型通过协同算法构建模块化、组合式的 AI 系统,使得人人都能参与共建一种不为任何人单独所有的公共人工智能系统。


为了支持多模型协同研究并加速这一未来愿景的实现,华盛顿大学 (University of Washington) 冯尚彬团队联合斯坦福大学、哈佛大学等研究人员提出 MoCo—— 一个针对多模型协同研究的 Python 框架。MoCo 支持 26 种在不同层级实现多模型交互的算法,研究者可以灵活自定义数据集、模型以及硬件配置,比较不同算法,优化自身算法,以此构建组合式人工智能系统。MoCo 为设计、评估与分享新的模型协同算法、组合式智能以及协同开发策略提供了重要基础。



  • 论文标题:MoCo: A One-Stop Shop for Model Collaboration Research

  • 论文链接:https://arxiv.org/abs/2601.21257

  • 代码链接:https://github.com/BunsenFeng/model_collaboration


多模型协同算法


多模型协同算法按模型间信息传递的层级主要分为以下四大类


  • API 层级(API-level collaboration):多个模型如同多个备选的 API,根据不同任务与需求选择不同的模型。主要方法包括 routing、cascading、switched generation 等。

  • 文本层级(Text-level collaboration):多个模型通过生成文本的交互而协作,从而分工解决问题、优化模型输出。主要方法包括 debate、feedback、response aggregation、structured interaction 等。

  • logit 层级(Logit-level collaboration):多个模型的 next-token distribution 之间进行代数运算,再根据共同的 distribution 进行 decoding 以生成文本。主要方法包括 logit aggregation、contrast 等。

  • 权重层级(Weight-level collaboration):多个模型在权重空间进行信息传递与交互,以获得对当前任务更有效的新模型或系统。主要方法包括 model merging、parameter arithemetic 等。


MoCo 框架当前支持来自四个层级的 26 种多模型协同算法,便于研究人员在统一标准下对多模型协同算法进行评测,并为拓展新思路、设计新方法奠定坚实基础。



MoCo 框架


现有的多模型协同研究大多分散在不同的代码库中且各自使用不同的训练与推理框架,这对系统性研究与对比多模型协同算法造成了很大的阻碍。MoCo 汇集众多模型协同研究者的力量,将多样的方法统合到一个框架与 Python package 中。


使用 MoCo 非常简便:下载代码库或通过 pip install modelco 安装 Python 包,通过 config 文件设置参与协同的模型、目标数据集、硬件配置以及各类超参数,再通过一个命令就能执行从简单到复杂的各式协同算法。



MoCo 自带 25 个评估数据集,囊括问答、数学、推理、代码、安全等应用场景,而用户也可轻松引入自己的评估数据集,或者仅用 MoCo 生成回答而另做评估。


MoCo 中的绝大部分算法采用了极为灵活的实现方式,支持任何数量的任何模型通过任何数量的常见 GPU 进行执行,从而使得小模型与少资源的研究场景也被充分支持。


MoCo 支持下的新发现


基于 MoCo 提供的灵活实现,我们扩大模型协同系统的规模,以期找出其 scaling laws。将模型的数量从 2 个一路扩充至 16 个,我们发现普遍的向上趋势:这揭示了一种新的 AI system 的可能性,即很多小模块自底向上组成大系统。



除了扩大规模之外,我们也探讨在同等规模的情况下,模型多样性的作用。我们发现在模型数量均为 8 的情况下,8 个多样的 LLM 协作显著优于 8 个同质的 LLM 协作,揭示了多个模型之间取长补短、互相成就的重要性。



我们还发现多模型协作系统能够解决此前单一模型所不能解决的问题。实验结果表明,在所有单一模型都不能解决的问题中,其协同系统平均能够解决 18.5% 的问题。这也揭示了模型协作不仅仅是简单的能力并集,而是在交互的过程中涌现了单一模型所不具有的能力。



欢迎您的贡献


如果您在研究工作中探索或提出过多个大语言模型协同的算法,欢迎联系作者团队将您的算法加入 MoCo。我们衷心希望通过更多研究人员的参与和贡献,将模型协同打造成一种独特的方法论,为模块化、组合式、去中心化以及共同开发的未来 AI 系统添砖加瓦。


作者介绍:冯尚彬是美国华盛顿大学 (University of Washington) 计算机系博士生,导师为 Dr. Yulia Tsvetkov。他的研究曾获得 ACL 2023 最佳论文奖、ACL 2024 杰出论文奖、the IBM PhD Fellowship、the Jane Street Graduate Research Fellowship、百度奖学金、the NVIDIA Graduate Fellowship。本文的共同第一作者还包括德州农工大学的白雨洋同学以及华盛顿大学的杨梓源同学。


© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:liyazhou@jiqizhixin.com


我理解的“涌现”更多是来自模型之间的博弈和对抗。就像GAN网络一样,不同的模型在相互竞争的过程中,会不断地挑战彼此的弱点,从而迫使对方进化,最终达到更高的水平。这种“涌现”可能很难用简单的信息互补来解释,更像是一种复杂的非线性效应。在应用场景方面,我觉得可以尝试用在AI安全领域,比如用多个模型共同防御恶意攻击,或者用一个模型来检测另一个模型的漏洞。

“涌现”让我想到了群体智慧。单一模型就像一个专家,但认知有局限性;多模型协同就像一个团队,可以集思广益,避免思维盲点。 比如,在自动驾驶领域,可以结合视觉模型、激光雷达模型、地图模型等,让系统对环境的理解更全面,从而提高安全性。甚至可以引入驾驶员行为模型,让自动驾驶系统更懂“人”,驾驶体验更舒适。

作为一名偏爱工程的选手,我站API层级协同,原因很简单:可控性强,维护成本低。不同的模型就像不同的微服务,可以根据实际需求灵活调用,出了问题也好定位。其他几种方式,尤其是权重层面的协同,一旦出了问题,排查起来简直是噩梦。对于追求稳定性和效率的实际应用来说,API层级是更务实的选择。

我比较关注MoCo在教育方面的应用。有了MoCo,学生可以更方便地学习和实践多模型协同技术。老师可以利用MoCo,设计各种有趣的实验和项目,激发学生的创新思维。例如,可以让学生利用MoCo,构建一个能够自动生成诗歌、绘画、音乐的AI系统,培养学生的综合能力。

我觉得模型选择和组合的关键在于“理解”。我们需要深入理解每个模型的优缺点、适用场景,以及与其他模型的交互方式。这需要大量的实验和分析,才能找到最佳的组合方案。

另外,模型的选择和组合也需要与时俱进,随着新模型的不断涌现,我们需要不断尝试和调整,才能保持系统的竞争力。

我觉得可以从模型擅长的任务类型入手。比如,一个擅长文本生成,一个擅长图像识别,一个擅长逻辑推理。这样组合起来,就能覆盖更广泛的应用场景。衡量多样性,可以看模型在不同任务上的表现差异,差异越大,多样性就越好。

可能原因不仅仅是知识的简单叠加,更重要的是不同模型在训练数据和目标上的差异,导致它们学习到了不同的“视角”,这些视角互相补充,从而提高了解决问题的能力。应用场景的话,我觉得在跨文化交流方面很有潜力。不同的 LLM 针对不同的文化背景进行训练,然后通过协作来避免文化误解,提供更准确的翻译和解释。

安全性!现在LLM的安全问题越来越重要,协同系统也面临着新的安全风险。如果一个恶意模型混入了协同系统,可能会污染其他模型的输出,甚至控制整个系统。因此,我会考虑如何在协同过程中保证模型的安全性,例如,可以设计一种安全验证机制,对模型的输出进行过滤和审查,防止恶意信息的传播。当然,这也会牺牲一定的效率和创造性,需要在安全性和性能之间找到平衡。

我认为MoCo的意义在于推动了AI开发的民主化。个人开发者也能利用这个框架,组合各种开源模型,打造自己的AI应用。这样,AI不再是少数大公司的专利,而是人人可参与的公共资源。

我觉得MoCo的开源最大的意义在于它促进了知识共享和社区合作。以前很多多模型协同的研究都是各自为战,代码和数据都不公开,很难进行比较和复现。MoCo提供了一个统一的平台,让研究者可以更容易地分享自己的成果,互相学习和借鉴。我希望MoCo未来能建立一个活跃的社区,吸引更多的贡献者加入,共同完善这个框架。
另外,如果能提供一些预训练的模型和数据集就更好了,方便新手快速上手。

这是一个非常实际的问题。我的想法是,首先要确定核心任务和资源约束。然后,可以尝试使用一些自动化机器学习(AutoML)技术来搜索最优的模型组合。具体来说,可以先训练一批具有不同架构和参数的模型,然后使用AutoML算法来选择最佳的模型子集,并优化它们的协同方式。同时,需要定期对模型组合进行评估和更新,以适应不断变化的任务需求。

模型多样性确实是关键!我理解的多样性应该包含多个维度:数据来源多样性(不同领域、不同风格的数据训练出来的模型),模型架构多样性(transformer、RNN、CNN等不同结构的结合),训练方法多样性(不同的损失函数、优化器)。只有这样,才能尽可能保证模型之间的互补性。

还可以尝试使用一些“对抗训练”的方法。让不同的模型互相“竞争”,迫使它们学习到不同的特征和策略。或者,在训练过程中引入一些随机噪声,增加模型的多样性。

我觉得MoCo的开源,降低了多模型协同研究的门槛。以前,要搭建一个多模型协同系统,需要耗费大量的时间和精力。现在,有了MoCo,研究人员可以更专注于算法本身的研究,而不用花费过多的精力在系统搭建上。这对于推动多模型协同的普及应用具有重要意义。

我觉得可以考虑引入一些领域专家知识或者外部知识。比如,用专家标注的数据训练一些特定领域的模型,或者将外部知识库融入到模型中。这样可以避免模型过于同质化,提升模型的专业性和泛化能力。

MoCo的开源,最大的贡献在于它提供了一个统一的标准和平台,让研究人员可以更方便地进行多模型协同算法的比较和评估。这就像建立了一个“竞技场”,让不同的算法可以公平竞争,加速技术发展。未来,MoCo有望成为多模型协同领域的“标配”,促进更多创新成果的涌现。

我猜想会不会是模型在协同过程中,通过信息交换,激活了神经网络中原本未被充分利用的神经元?相当于解锁了模型的隐藏潜力。比如文本层面的互相指正,会不会让模型更加注意到一些之前忽略的细节?

这确实是个关键问题。目前还没有所谓的“万能公式”。选择模型组合和协同策略,很大程度上依赖于任务的特性和数据的分布。
一种思路是进行大量的实验,通过MoCo框架提供的评估数据集和自定义数据集,比较不同组合和策略的性能。此外,可以考虑引入一些自动化调参的技术,例如贝叶斯优化,来搜索最优的配置。
评估标准方面,除了常见的准确率、F1值等指标外,还可以考虑模型的效率、鲁棒性、可解释性等方面,构建一个综合的评估体系。

我的理解是,单一模型的能力是固定的,而多模型协同提供了一种动态组合和扩展能力的机制。简单来说,就像玩RPG游戏,单个人物再厉害,技能也是有限的。但如果组队,不同职业的角色可以互相配合,释放出更强大的力量。
这种"涌现"我认为是模型在特定任务下,通过协同找到了更优的解决方案或路径。比如,一个模型擅长提取文本特征,另一个模型擅长进行逻辑推理,协同起来就能更好地完成问答任务。
想深入理解的话可以看看复杂系统理论,说不定能找到灵感。