[论文笔记]Mixture-of-Agents Enhances Large Language Model Capabilities

news2024/11/24 13:46:10

引言

今天带来一篇多智能体的论文笔记,Mixture-of-Agents Enhances Large Language Model Capabilities。

随着LLMs数量的增加,如何利用多个LLMs的集体专业知识是一个令人兴奋的开放方向。为了实现这个目标,作者提出了一种新的方法,通过混合代理(Mixture-of-Agents, MoA)方法学利用多个LLMs的集体优势。构建了一个分层的MoA架构,其中每一层都包含多个LLM代理。每个代理使用前一层代理的所有输出作为辅助信息来生成其响应。

代码发布在:https://github.com/togethercomputer/moa 。

1. 总体介绍

不同的LLMs具有独特的优势,并专注于各种任务方面。例如,一些模型擅长复杂指令的跟随,而其他模型可能更适合代码生成。不同LLMs之间的技能多样性提出了一个有趣的问题:我们能否利用多个LLMs的集体专业知识来创建一个更强大、更稳健的模型?

image-20240621105045814

答案是肯定的,作者发现了一种内在现象,称之为LLMs的合作性(collaborativeness)现象,即当LLM接收来自其他模型的输出时,它往往会生成更好的响应,即使这些其他模型本身的能力较弱。图1展示了6个热门LLMs在AlpacaEval 2.0基准测试上的LC胜率。当这些模型独立生成的回复提供给它们时,它们的LC胜率显著提高。这表明合作性现象在LLMs之间是普遍存在的。哪怕其他模型提供的辅助响应质量低于单个LLM独立生成的质量。

image-20240621105232707

基于这一发现,作者引入了一种名为混合代理的方法,通过利用多个LLMs来迭代地提高生成质量。MoA的结构如图2所示。最初,第一层中的LLMs,表示为 A 1 , 1 , . . . , A 1 , n A_{1,1},...,A_{1,n} A1,1,...,A1,n,独立地对给定提示生成响应。然后,将这些响应呈现给下一层的代理 A 2 , 1 , . . . , A 2 , n A_{2,1},...,A_{2,n} A2,1,...,A2,n​(也可能是第一层的模型重用)进行进一步的改进。这个迭代的改进过程持续进行多个周期,直到获得一个更强大、更全面的响应。

为了确保模型之间的有效协作并提高整体响应质量,对于每个MoA层的LLMs的精心选择至关重要。这个选择过程由两个主要标准指导:(a) 性能指标:第i层模型的平均胜率在确定它们是否适合纳入第i + 1层时起着重要作用。因此,根据他们的性能指标选择模型可以确保更高质量的输出。 (b)多样性考虑:模型输出的多样性也非常重要。由异构模型生成的响应比由同一模型生成的响应贡献更大。通过利用这些性能和多样性的标准,MoA旨在通过协同合成来减轻单个模型的缺陷并提高整体响应质量。

本工作的贡献总结如下:

  1. 新颖的框架:提出了一种Mixture-of-Agents框架,旨在充分利用多个LLMs的优势,从而提高它们的推理和语言生成能力。
  2. 发现语言模型的合作性:强调了LLMs之间的合作性,即当模型可以访问其他模型的输出时,它们往往会生成更高质量的响应,即使这些输出质量较低。
  3. 最先进的LLM性能:使用多个竞争激烈的基准测试,如AlpacaEval 2.0,MT-Bench和FLASK进行了大量实验。MoA框架在这些基准测试中实现了最先进的性能。

2. MOA方法

2.1 LLMs的合作性

从多个LLMs的合作中获得最大利益的一个重要途径是刻画不同模型在合作的各个方面的优势。在合作过程中,我们可以将LLMs分为两个不同的角色:

  • **提议者(Proposers)**擅长为其他模型生成有用的参考响应。一个好的提议者可能不一定会自己生成高分的响应,但它应该能提供更多的上下文和多样的观点,最终为聚合模型提供更好的最终响应。
  • **聚合者(Aggregators)**是在将其他模型的响应综合为单个高质量输出方面熟练的模型。一个有效的聚合者应该能够在整合低于自身质量的输入时,保持或提高输出质量。

聚合者可以通过基于其他模型的输出生成更高质量的响应,作者提出通过引入额外的聚合者进一步增强这种合作潜力。一个直观的想法是使用多个聚合者进行多次聚合——最初使用几个聚合者来聚合更好的答案,然后重新聚合这些聚合的答案。通过将更多的聚合者纳入过程中,可以迭代地合成和优化响应,利用多个模型的优势产生更好的结果。这启发了作者提出的混合代理方法的设计。

MoA的结构如图2所示。它有l个层,每个层i包含n个LLMs,表示为 A i , 1 , . . . , A i , n A_{i,1},...,A_{i,n} Ai,1,...,Ai,n。注意LLMs可以在同一层内或跨不同层之间重复使用。当一个层中的许多LLMs是相同的时,这种配置会导致一个特殊的结构,对应于一个模型生成多个可能不同的输出(由于温度采样的随机性)。将这种设置称为单提议者(single-proposer),只有一个稀疏的模型子集被激活。

在这里,每个LLM A i , j A_{i,j} Ai,j处理输入文本并生成输出(补全)。该方法不需要任何微调,只使用LLMs的提示和生成接口。形式上,给定输入提示 x 1 x_1 x1,第i层MoA的输出 y i y_i yi可以表示如下:
y i = ⊕ j = 1 n [ A i , j ( x i ) ] + x 1 , x i + 1 = y i (1) y_i = \oplus_{j=1}^n [A_{i,j}(x_i)] +x_1,x_{i+1} = y_i \tag 1 yi=j=1n[Ai,j(xi)]+x1,xi+1=yi(1)
这里的 + + +表示文本的拼接; ⊕ \oplus 表示应表1中展示的聚合-合成(Aggregate-and-Synthesize)提示到这些模型的输出上。

实际上,我们不需要将提示和所有模型的响应拼接在一起,只需要在最后一层(图2中的层)中使用一个LLM。使用第l层的一个LLM的输出( A l , 1 ( x l ) A_{l,1}(x_l) Al,1(xl))作为最终的输出,并基于它来评估指标。

image-20240621110555450

根据提供的来自不同开源模型的一系列响应,你的任务是将这些响应合成为一个单一的、高质量的响应。在评估这些响应中提供的信息时,关键是要批判性地判断,认识到其中一些可能存在偏见或错误。你的回复不应仅仅复制给定的答案,而应提供一个经过精炼、准确和全面的回应。确保你的回答结构良好、连贯,并符合最高的准确性和可靠性标准。

来自一些模型的响应:
1. [来自Ai,1的模型响应]
2. [来自Ai,2的模型响应]
...
n. [来自Ai,n的模型响应]

2.3 与MoE比较

Mixture-of-Experts(MoE)是机器学习中一种著名且成熟的技术,其中多个专家网络专注于不同的技能集。由于其能够利用多样的模型能力进行复杂问题的解决,MoE方法在各种应用中取得了显著的成功。作者的MoA方法从这种方法中汲取了灵感。

一个典型的MoE设计由一系列称为MoE layer的层组成。每个MoE layer由一组n个专家网络和一个门控网络组成,并包括用于改善梯度流的残差连接。形式上,对于第i层,这个设计可以表示如下:
y i = ∑ j = 1 n G i , j ( x i ) E i , j ( x i ) + x i (2) y_i = \sum_{j=1}^n G_{i,j}(x_i) E_{i,j}(x_i) + x_i \tag 2 yi=j=1nGi,j(xi)Ei,j(xi)+xi(2)
其中 G i , j G_{i,j} Gi,j表示对应于专家j的门控网络的输出(分配给专家j的权重),而 E i , j E_{i,j} Ei,j表示由专家网络j计算得到的函数。利用多个专家的优势使得模型能够学习不同的技能集,并专注于任务的各个方面。

从高层次的角度来看,MoA框架将MoE的概念扩展到模型级别,而不是激活级别。具体而言,MoA方法利用LLMs,在完全通过提示接口进行操作,而无需修改内部激活或权重。这意味着,与MoE中单个模型的专门子网络不同,在不同层之间利用多个全功能LLMs。需要注意的是,这里使用LLM来整合门控网络和专家网络的角色,因为LLMs的内在能力允许它们通过解释提示并生成连贯的输出来有效地对输入进行规范化,而无需外部的协调机制。

此外,由于这种方法仅依赖于现成模型内在的提示能力:(1)它消除了与微调相关的计算开销;(2)它提供了灵活性和可扩展性:可以应用于最新的LLMs,无论其大小或架构如何。

3. 评估

image-20240621111226667

在AlpacaEval 2.0和MT-Bench上的结果。对于AlpacaEval 2.0,MoA和MoA-Lite分别对应具有3层和2层的6个提议者。MoA w/ GPT-4o对应于在MoA中使用GPT-4o作为最终的汇总器。运行了三次实验,并报告了平均分数以及标准偏差。†表示复制了AlpacaEval结果。

与GPT-4和其他最先进的开源模型进行了比较。详细结果见表2a,在AlpacaEval 2.0排行榜上,MoA方法取得了最高乘积。此外,值得特别注意的是,仅使用开源模型就超越了GPT-4o,改进幅度达到了7.6%。MoA-Lite设置使用较少的层次,更加经济高效。即使采用这种轻量级的方法,仍然比最佳模型表现出1.8%的优势,这表明了作者的方法在最大限度地发挥开源模型能力的计算预算不同的情况下的有效性。

虽然在MT-Bench上对个别模型的改进相对较小,但这是可以理解的,因为当前模型在这个基准测试上的表现已经非常出色。尽管改进幅度较小,作者的方法仍然在排行榜上保持着领先地位。

image-20240621111808735

FLASK提供了对模型的细粒度评估。在这些指标中,MoA在几个关键方面表现出色。与聚合器Qwen-110B-Chat的单个模型得分相比,作者的方法在鲁棒性、正确性、效率、真实性、常识、洞察力、完整性等方面显示出显著的改进,也优于GPT-4 Omni。唯一一个MoA表现不佳的指标是简洁性;模型生成的输出稍微冗长一些。

何以使Mixture-of-Agents取得良好效果?

image-20240621111820243

Mixture-of-Agents明显优于其他LLM ranker。结果如图4所示,MoA明显优于LLM ranker基准线。

MoA倾向于纳入最佳的提议答案。图4中的结果确实证实了胜率和BLEU得分之间的正相关关系。

image-20240621112416511

模型多样性和提议者数量的影响。 通过改变每个层中的提议者数量n来分析提议数量如何影响最终输出质量。表3中展示了结果,发现得分随着n的增加而单调增加,反映了拥有更多辅助信息的好处。使用多种不同的LLMs始终产生了更好的结果。这两个结果表明,在每个MoA层中拥有更多多样化的LLM代理可以提高性能。进一步扩展MoA的规模是未来研究的一个有前景的方向。

image-20240621112503610

Mixture-of-Agent生态系统中模型的专业化。还进行了实验,确定了哪些模型在特定角色中表现出色。具体而言,表4显示了GPT-4o、Qwen和LLaMA-3作为多功能模型,在辅助和聚合任务中都很有效。相比之下,WizardLM作为提议者模型表现出色,但在聚合其他模型的响应时遇到了困难,难以保持其有效性。

image-20240621112734144

为了理解预算、令牌使用和LC胜率之间的关系,还进行了预算和令牌分析。图5a和图5b说明了这些关系。成本效益在图5a中,图表显示了一个帕累托前沿(Pareto front ),其中某些模型在成本和性能之间达到了最佳平衡。靠近这个帕累托前沿的模型更加理想,因为它们以更低的成本提供更高的LC胜率,提供更好的货币价值。如果我们优先考虑质量,那么MoA是最佳配置。然而,如果我们想在质量和成本之间取得良好的平衡,MoA-Lite可以在与GPT-4o相等的成本的同时实现更高水平的质量。值得注意的是,它在成本效益方面的表现超过了GPT-4 Turbo约4倍。

Tflops消耗 图5b描述了LC胜率与tflops数量之间的关系。与成本效率分析类似,在这里也可以观察到一个帕累托前沿。在这个前沿上的模型有效地利用其计算资源,以最大化其LC胜率。

4. 相关工作

5. 结论

本文介绍了一种Mixture-of-Agents方法,旨在通过连续迭代协作,充分利用多个LLM的能力。利用了Mixture-of-Agents家族中各个代理(Agent)的集体优势,可以显著提高每个单独模型的输出质量。

局限性。需要迭代地聚合模型的响应,这意味着模型无法在达到最后一个MoA层之前产生第一个令牌。这可能导致很高的首个令牌响应时间(Time to First Token,TTFT),就是响应时间慢,这可能对用户体验产生负面影响。为了缓解这个问题,我们可以限制MoA层数,因为第一个响应聚合对生成质量有最显著的提升。

广泛影响。这项研究有潜力提高以LLM为驱动的聊天助手的效果,从而使人工智能更易于使用。此外,由于以自然语言表达的中间输出,MoA的提出改善了模型的可解释性。这种增强的可解释性有助于更好地与人类推理进行对齐。

A 使用不同相似函数的Spearman相关性

image-20240621113648568

在计算Spearman相关系数时,使用了基于TF-IDF相似度和Levenshtein相似度的结果。具体而言,在每个包含n个候选答案的样本中,计算了n个相似度得分和由基于GPT-4的评估器确定的n个偏好得分之间的Spearman相关系数。如图6所示,确实存在LC胜率与TF-IDF相似度和Levenshtein相似度之间的正相关关系。

You are a highly efficient assistant, who evaluates and selects the best large language model (LLMs) based on
the quality of their responses to a given instruction. This process will be used to create a leaderboard reflecting
the most accurate and human-preferred answers.
I require a leaderboard for various large language models. I’ll provide you with prompts given to these models
and their corresponding outputs. Your task is to assess these responses, and select the model that produces the
best output from a human perspective.
## Instruction
{
"instruction": """{instruction}""",
}
## Model Outputs
Here are the unordered outputs from the models. Each output is associated with a specific model, identified by a
unique model identifier.
{
{
"model_identifier": "{identifier_1}",
"output": """{output_1}"""
},
{
"model_identifier": "{identifier_2}",
"output": """{output_2}"""
},
{
"model_identifier": "{identifier_3}",
"output": """{output_3}"""
},
{
"model_identifier": "{identifier_4}",
"output": """{output_4}"""
},
{
"model_identifier": "{identifier_5}",
"output": """{output_5}"""
},
{
"model_identifier": "{identifier_6}",
"output": """{output_6}"""
}
}
## Task
Evaluate the models based on the quality and relevance of their outputs, and select the model that generated the
best output. Answer by providing the model identifier of the best model. We will use your output as the name of
the best model, so make sure your output only contains one of the following model identifiers and nothing else
(no quotes, no spaces, no new lines, ...).
## Best Model Identifier
表5: 使用LLM排序的提示词

B LLM Ranker

image-20240621113841214

本节介绍了本文中使用的LLM-Ranker的设置。LLM-Ranker旨在评估和排序由一些LLMs生成的最佳输出。表5展示了在这些评估过程中提示模型的模板。使用这个LLM-Ranker来选择最好的答案,并使用AlpacaEval评估器来评估排名最高的答案。

C 案例研究

image-20240621114016019

为了说明聚合器如何综合回答,在提议的回答和聚合回答中,用不同颜色的下划线标出相似的表达方式。省略了所有提议回答都提到的内容。表6展示了不同提议者生成的回答。由Qwen1.5-110B-Chat生成的聚合回答体现了对自己内容的高偏好,同时也融入了Llama-3-70B-Instruct和WizardLM 8x22B的关键观点。值得注意的是,GPT-4对WizardLM 8x22B的回答的偏好得分为0.99,最终的聚合回答也达到了0.99的偏好得分。与此同时,表7展示了另一个案例,其中没有任何提议的回答获得了较高的GPT-4偏好得分。尽管如此,聚合器成功地识别并融入了这些回答的优点,实现了0.33的偏好得分。

image-20240621114055962

D 数学任务

image-20240621114405973

这里证明了该方法适用于推理任务,例如MATH数据集中的任务。结果显示在表8中,该方法始终显著提高了准确性。这表明对于这类任务也是有效的。值得注意的是,该方法与现有的推理技术如Chain of Thought和Self-consistency相辅相成。

总结

⭐ 作者提出了一种混合多个智能体的方法,通过多层的设计,最终层给出输出。取得了较好的效果,但成本和响应时间也增加很多。在仅需要高质量回复的场景下可以使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1861513.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DCT-Net - 一键图片、视频转卡通动漫风格工具,本地一键整合包下载

只需要输入一张人物图像或者一段视频,就可以实现端到端全图卡、视频通化转换,生成二次元虚拟形象,返回卡通化后的结果图像或视频。 开发者叫menyi Fang,来自阿里巴巴通义实验室的的技术女大佬,国内大佬集成到webui&am…

mprpc框架的配置文件加载

目录 1.回顾测试 2.mprpc框架的配置文件加载 2.1 mprpcconfig.h 2.2 完善mprpcapplication.h 2.3 完善mprpcapplication.cc 2.4 mprpcconfig.cc 2.5 test.conf 2.6 测试运行 ​3.扩展问题 1.回顾测试 我们先把之前的项目代码工程编译好,然后进入bin里面&am…

用VScode打开keil下的文件中文编码乱码的问题,以及利用VScode转换字符编码的方法

目录 问题描述 解决方法 利用VScode转换字符编码的方法 问题描述 keil中默认的编码是ANIS如下图所示。 而VScode中默认的编码为UTF-8 ,打开后如下。 解决方法 建议另存后,再打开目标文件,防止误操作! 在VScode的最下方可以找…

计算预卷积特征

当冻结卷积层和训练模型时,全连接层或dense层(vgg.classifier)的输入始终是相同的。为了更好地理解,让我们将卷积块(在示例中为vgg.features块)视为具有了已学习好的权重且在训练期间不会更改的函数。因此,计算卷积特征并保存下来将有助于我们…

2024年上半年软件设计师上午真题及答案解析

1.在计算机网络协议五层体系结构中,( B )工作在数据链路层。 A.路由器 B.以太网交换机 C.防火墙 D.集线器 网络层:路由器、防火墙 数据链路层:交换机、网桥 物理层:中继器、集线器 2.软件交付之后&#xff…

引领AI新时代:深度学习与大模型的关键技术

文章目录 📑前言一、内容概述二、作者简介三、书籍特色四、学习平台与资源 📑前言 在数字化浪潮席卷全球的今天,人工智能(AI)和深度学习技术已经渗透到我们生活的方方面面。从智能手机中的智能语音助手,到…

音视频入门基础:H.264专题(5)——FFmpeg源码中 解析NALU Header的函数分析

一、引言 FFmpeg源码中 通过h264_parse_nal_header函数将H.264码流的NALU Header解析出来。下面对h264_parse_nal_header函数进行分析。 二、h264_parse_nal_header函数定义 h264_parse_nal_header函数定义在FFmpeg源码(下面演示的FFmpeg源码版本是5.0.3&#xff…

阅读笔记——《Large Language Model guided Protocol Fuzzing》

【参考文献】Meng R, Mirchev M, Bhme M, et al. Large language model guided protocol fuzzing[C]//Proceedings of the 31st Annual Network and Distributed System Security Symposium (NDSS). 2024.(CCF A类会议)【注】本文仅为作者个人学习笔记&a…

Geoserver源码解读四 REST服务

文章目录 文章目录 一、概要 二、前置知识点-FreeMarker 三、前置知识点-AbstractHttpMessageConverter 3.1 描述 3.2 应用 四、前置知识点-AbstractDecorator 4.1描述 4.2 应用 五、工作空间查询解读 5.1 模板解读 5.2 请求转换器解读 一、概要 关于geoserver的r…

2024最新算法:北极海鹦优化(Arctic puffin optimization,APO)算法求解23个函数,MATLAB代码

一、算法介绍 北极海鹦优化(Arctic puffin optimization,APO)算法是2024年提出一种智能优化算法。该算法模拟海鹦在空中飞行和水下觅食两个阶段的行为,旨在实现勘探与开发之间更好的平衡。该算法包括几个关键操作,包括…

Nginx开发【Nginx虚拟主机和域名解析】

03 【Nginx虚拟主机和域名解析】 虚拟主机使用特殊的软硬件技术,把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每一台虚拟主机都具有独立的域名,具有完整的Internet服务器(WWW、FTP、Email等)功能&…

FFmpeg+javacpp+javacv使用

FFmpegjavacppjavacv使用 Bytedeco官网案例1、导入opencv、ffmpeg依赖包2、FFmpeg 数据结构2.1 AVFormatContext 格式化I/O上下文2.1.1 metadata2.1.2 Duration、start、bitrate等其他信息2.1.3 dump信息 Bytedeco GitHub:javacpp Bytedeco官网案例 FFmpeg – [示例…

C语言·动态内存管理

1. 为什么要有动态内存管理? 例1: //固定的向内存申请4个字节 int a 10;//申请连续的一块空间 int arr[10]; 这些数据一旦声明定义之后就会在内存中有一块空间,这些空间都是固定的,为了让内存使用更加灵活,这时我们…

【回溯算法题记录】组合总和题汇总

组合总和 39. 组合总和题目描述初始思路后续分析 40. 组合总和 II题目描述思路(参考代码随想录) 39. 组合总和 题目🔗 题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数…

开源网安参与编制的《代码大模型安全风险防范能力要求及评估方法》正式发布

​代码大模型在代码生成、代码翻译、代码补全、错误定位与修复、自动化测试等方面为研发人员带来了极大便利的同时,也带来了对安全风险防范能力的挑战。基于此,中国信通院依托中国人工智能产业发展联盟(AIIA),联合开源…

教你使用 Go 语言访问智谱 AI 大模型!

AI 大模型太火爆了!我在工作中经常使用它们,感觉已经离不开了! 最近测试了智谱 AI 大模型,实测下来感觉还挺不错的。 官方提供了体验包,注册并实名认证之后有 300 万 token,非常壕! 今天的股…

uni-push(2.0)常见问题,Android平台

将常用的网址一定要收藏在标签栏中,方便后期找,不然后期会很生气。 草料二维码,这个在线工具可以将打包生成的apk文件生成二维码,供测试人员测试。生成的apk只有五次下载机会,可点击链接后的一键上传,这样…

站在巨人的肩膀上 C语言理解和简单练习(包含指针前的简单内容)

1.格式化的输入/输出 1.1printf函数 printf函数你需要了解的就是转换说明,转换说明的作用是将内存中的二进制转换成你所需要的格式入%d就是将内存中存储的变量的二进制转化为十进制并打印出来,同时我们可以在%X的转换说明对精度和最小字段宽度的指定&a…

如何在SpringBoot中自定义starter

如何在SpringBoot中自定义starter Spring Boot 提供了一种简便的方法来创建自定义的 starter,从而帮助开发者封装常用的配置和依赖。本文将介绍如何在 Spring Boot 中自定义一个 starter。 1. 创建 Maven 项目 首先,创建一个新的 Maven 项目&#xff…

SpringBoot开启事务日志

一般框架开启日志的方式: 开启某个包下的日志就写该包路径,开启某个类下的日志就写该类路径。