Mixture-of-Agents​​​​​​​(MoA)

70 篇文章 0 订阅
33 篇文章 6 订阅

概述 ·快速入门 ·高级示例 ·交互式 CLI 演示 ·评价 ·结果 。学分

概述

Mixture of Agents (MoA) 是一种新颖的方法,它利用多个 LLM 的集体优势来提高绩效,实现最先进的结果。通过采用分层架构,每层包含多个 LLM 代理,MoA 在仅使用开源模型的情况下,在 AlpacaEval 2.0 上以 65.1% 的分数显着优于 GPT-4 Omni 的 57.5%

快速入门:50 LOC 中的 MoA

要开始在您自己的应用中使用 MoA,请参阅。在这个简单的示例中,我们将使用 2 个图层和 4 个 LLM。您需要:moa.py

  1. 安装 Together Python 库:pip install together
  2. 获取您的 Together API 密钥并导出它:export TOGETHER_API_KEY=
  3. 运行 python 文件:python moa.py

多层 MoA 示例

在前面的示例中,我们介绍了如何使用 2 层(4 个 LLM 应答和 1 个 LLM 聚合)实现 MoA。然而,MoA 的一个优势是能够穿过几层以获得更好的响应。在此示例中,我们将介绍如何运行具有 3+ 层的 MoA。advanced-moa.py

python advanced-moa.py

交互式 CLI 演示

这个交互式 CLI 演示展示了一个简单的多轮聊天机器人,其中最终响应是从各种参考模型中聚合而来的。

要运行交互式演示,请按照以下 3 个步骤操作:

  1. 导出 API 密钥:export TOGETHER_API_KEY={your_key}
  2. 安装要求:pip install -r requirements.txt
  3. 运行脚本:python bot.py

CLI 将提示您以交互方式输入指令:

  1. 首先在“>>>”提示符下输入您的指令。
  2. 系统将使用预定义的参考模型处理您的输入。
  3. 它将根据这些模型的聚合输出生成响应。
  4. 您可以通过输入更多指令来继续对话,系统会维护多轮交互的上下文。

[可选]其他配置

演示将要求您指定某些选项,但如果您想进行其他配置,您可以指定以下参数:

  • --aggregator:用于生成最终响应的主要模型。
  • --reference_models:用作参考的模型列表。
  • --temperature:控制响应生成的随机性。
  • --max_tokens:响应中的最大令牌数。
  • --rounds:处理输入以进行优化的轮数。(回合数 == MoA 层数 - 1)
  • --num_proc:要并行运行以加快执行速度的进程数。
  • --multi_turn:布尔值,用于切换多轮交互功能。

评估

我们提供脚本来快速重现我们论文中提出的一些结果 为方便起见,我们包含了 AlpacaEvalMT-Bench 和 FLASK 的代码,并进行了必要的修改。 我们感谢这些项目创建了基准。

制备

# install requirements
pip install -r requirements.txt
cd alpaca_eval
pip install -e .
cd FastChat
pip install -e ".[model_worker,llm_judge]"
cd ..

# setup api keys
export TOGETHER_API_KEY=<TOGETHER_API_KEY>
export OPENAI_API_KEY=<OPENAI_API_KEY>

运行 AlpacaEval 2

要运行 AlpacaEval 2,请执行以下脚本:

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>bash run_eval_alpaca_eval.sh
</code></span></span></span></span>

运行 MT-Bench

有关 MT-Bench 评估的最小示例,请运行:

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>bash run_eval_mt_bench.sh
</code></span></span></span></span>

运行 FLASK

有关 FLASK 评估的最小示例,请运行:

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>bash run_eval_flask.sh
</code></span></span></span></span>

结果

们在 AlpacaEval 2.0 排行榜和 MT-Bench 上都获得了最高位置。值得注意的是,在 AlpacaEval 2.0 上,仅使用开源模型,我们从 57.5% (GPT-4 Omni) 到 65.1% (MoA) 实现了 7.6% 的绝对提升。

FLASK 提供跨多个维度的模型细粒度评估。我们的MoA方法在无害性、鲁棒性、正确性、效率、事实性、常识性、洞察力、完整性等方面均优于原Qwen1.5-110B-Chat。此外,MoA 在正确性、事实性、洞察力、完整性和元认知方面也优于 GPT-4 Omni。

如果您在复制结果时遇到困难,请随时与我们联系。

学分

值得注意的是,这项工作之所以成为可能,是因为人工智能领域活跃组织的协作精神和贡献。我们感谢 Meta AI、Mistral AI、Microsoft、阿里云和 DataBricks 为开发 Llama 3、Mixtral、WizardLM 2、Qwen 1.5 和 DBRX 模型所做的努力。此外,我们感谢 Tatsu Labs、LMSYS 和 KAIST AI 开发了 AlpacaEval、MT-Bench 和 FLASK 评估基准。

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值