概述 ·快速入门 ·高级示例 ·交互式 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
- 安装 Together Python 库:
pip install together
- 获取您的 Together API 密钥并导出它:
export TOGETHER_API_KEY=
- 运行 python 文件:
python moa.py
多层 MoA 示例
在前面的示例中,我们介绍了如何使用 2 层(4 个 LLM 应答和 1 个 LLM 聚合)实现 MoA。然而,MoA 的一个优势是能够穿过几层以获得更好的响应。在此示例中,我们将介绍如何运行具有 3+ 层的 MoA。advanced-moa.py
python advanced-moa.py

交互式 CLI 演示
这个交互式 CLI 演示展示了一个简单的多轮聊天机器人,其中最终响应是从各种参考模型中聚合而来的。
要运行交互式演示,请按照以下 3 个步骤操作:
- 导出 API 密钥:
export TOGETHER_API_KEY={your_key}
- 安装要求:
pip install -r requirements.txt
- 运行脚本:
python bot.py
CLI 将提示您以交互方式输入指令:
- 首先在“>>>”提示符下输入您的指令。
- 系统将使用预定义的参考模型处理您的输入。
- 它将根据这些模型的聚合输出生成响应。
- 您可以通过输入更多指令来继续对话,系统会维护多轮交互的上下文。
[可选]其他配置
演示将要求您指定某些选项,但如果您想进行其他配置,您可以指定以下参数:
--aggregator
:用于生成最终响应的主要模型。--reference_models
:用作参考的模型列表。--temperature
:控制响应生成的随机性。--max_tokens
:响应中的最大令牌数。--rounds
:处理输入以进行优化的轮数。(回合数 == MoA 层数 - 1)--num_proc
:要并行运行以加快执行速度的进程数。--multi_turn
:布尔值,用于切换多轮交互功能。
评估
我们提供脚本来快速重现我们论文中提出的一些结果 为方便起见,我们包含了 AlpacaEval、MT-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 评估基准。