【AI学习】Together AI的新研究:Together MoA(Mixture of Agents)

第一次听说Mixture of Agents,原来Agent也能混合,有意思!

介绍

Together AI的最新研究“Together MoA”(Mixture of Agents,代理混合)是一种创新的方法,旨在通过结合多个开源大型语言模型(LLMs)的集体智慧来增强单个模型的性能。该研究采用了分层架构,每一层包含多个LLM代理,这些代理各自具有不同的专长和优势。

在这里插入图片描述

具体来说,Together MoA使用六个开源模型作为提议者,并以Qwen1.5-110B-Chat作为最终的聚合器。这些开源模型包括WizardLM-2-8x22b、Qwen1.5-110B-Chat、Qwen1.5-72B-Chat和Llama-3-70B等。通过这种方式,Together MoA能够显著提升模型在各种任务上的表现,例如在AlpacaEval 2.0上的得分从GPT-4o的57.5%提高到了65.1%。

这种方法的核心思想是利用多个专家的集体智慧来解决更复杂的问题,类似于多个专家在团队中合作的情况。通过这种方式,Together MoA不仅提高了模型的生成效果,还推动了LLM能力边界的进一步发展。

总结来说,Together MoA通过结合多个开源大模型的集体优势,采用分层架构和代理混合的策略,显著提升了模型在各种任务上的性能,成为当前LLM领域的一个重要突破。

Mixture of Agents

研究基于一个关键的观察结果,称之为LLM的协作性 - 当呈现其他模型的输出时,LLM往往会产生更好的响应,即使这些其他模型本身的能力较差。

为了调查这种现象是否在开源模型中普遍存在,利用其他模型的响应时评估了分数。图 2 显示,每个模型在 AlpacaEval 2.0 上的基本分数都显著增加。即使参考响应质量低于模型自身的质量,也会发生这种改进。
在这里插入图片描述
为了有效地利用多个 LLM 的协作,根据他们在协作的不同方面的优势对他们的角色进行分类:

提议者:这些模型生成初始参考响应。虽然提议者可能会自己产生高质量的回应,但其主要价值在于提供细致入微和多样化的观点,作为聚合者的宝贵参考。
聚合器:这些模型将提案者的不同响应综合成一个单一的、高质量的响应。

基于这种分类,提出了一个分层过程来改进响应,如图 1 所示。最初,几个提议者独立地生成对给定提示的响应。然后,这些响应将呈现给下一层的聚合器,聚合器将它们合成更高质量的响应。这个迭代过程会持续到几个层次,直到实现更强大、更全面的响应。

MoA 共同使用六个开源模型作为提议者,Qwen1.5-110B-Chat 作为最终聚合器。测试的六个开源模型是:WizardLM-2-8x22b、Qwen1.5-110B-Chat、Qwen1.5-72B-Chat、Llama-3-70B-Chat、Mixtral-8x22B-Instruct-v0.1、dbrx-instruct。设计的MoA共有三层,在质量和性能之间取得了良好的平衡。
MoA-Lite 一起使用相同的提议器集,但使用 Qwen1.5-72B-Chat 作为聚合器,并且只有两层。
带有 GPT-4o 的 MoA 也使用同一组提议器,并具有三层,但最终聚合器更改为 GPT-4o。
在三个标准基准上展示了评估结果:AlpacaEval 2.0、MT-Bench 和 FLASK。选择这些基准是为了全面评估方法的性能,并与最先进的 LLM 进行比较。 具体来说,在 AlpacaEval 2.0 排行榜和 MT-Bench 上都名列前茅。值得注意的是,在 AlpacaEval 2.0 上,仅使用开源模型,实现了 7.6% 的绝对改进,从 57.5% (GPT-4o) 到 65.1% (Together MoA)。Together MoA-Lite 配置尽管层数更少且更具成本效益,但仍然取得了与 GPT-4o 相当的分数。

结论和未来方向
MoA 通过连续的协作阶段共同利用多个开源 LLM 的优势,与强大的闭源模型相比,具有卓越的性能。这项研究强调了增强人工智能系统的潜力,使它们更有能力、更强大并与人类推理保持一致。

展望未来,对几个潜在的未来方向感兴趣。一个关键的兴趣领域是MoA架构的系统优化,探索模型、提示和架构配置的各种选择。计划优化第一个Token的时间延迟,并有许多期望将显着提高性能的技术。此外,下一步的目标是评估和优化 Together MoA,以完成更多以推理为中心的任务,进一步增强其应对 AI 中复杂而微妙的挑战的能力。

文章链接:https://www.together.ai/blog/together-moa?continueFlag=73a51343b42e6d9e8e3db83cc8bb0f7f

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

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

相关文章

【尚庭公寓SpringBoot + Vue 项目实战】公寓管理(十一)

【尚庭公寓SpringBoot Vue 项目实战】公寓管理(十一) 文章目录 【尚庭公寓SpringBoot Vue 项目实战】公寓管理(十一)1、业务介绍2、逻辑模型介绍3、接口开发3.1、保存或更新公寓信息3.2、根据条件分页查询详细信息3.3、根据ID获…

机器 reboot 后 kubelet 目录凭空消失的灾难恢复

文章目录 [toc]事故背景报错内容 修复过程停止 kubelet 服务备份 kubelet.config重新生成 kubelet.config重新生成 kubelet 配置文件对比 kubeadm-flags.env 事故背景 因为一些情况,需要 reboot 服务器,结果 reboot 机器后,kubeadm init 节点…

读AI新生:破解人机共存密码笔记02进化

1. 人工智能的标准模型 1.1. 机器优化人类提供的固定目标 1.1.1. 是一条死胡同 1.1.1.1. 当你走进死胡同时,你最好掉头返回,找出走错的地方 1.2. 问题不在于我们可能无法做好构建人工智能系统的工作&…

关于阿里云效流水线自动部署项目教程

1、登录阿里云效:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台 2、点击左侧流水线: 3、在流水线界面,新建流水线 4、我的是php代码,因此选择php模版 5、创建之后添加流程线源,如下图 6、选择相应的源头。比…

【odoo】右上角的提示(通知服务)

概要 在Odoo中,右上角的提示(通知服务)用于显示系统消息、警告、错误或信息提示。这个功能通过 JavaScript 在前端实现,并且使用 Odoo Web 框架提供的现成功能。 提示类型 信息提示 (Info):用于显示普通信息。这类提示…

Huggingface-cli 登录最新版(2024)

安装Huggingface-cli pip install -U "huggingface_hub[cli]"设置好git的邮箱和用户名和huggingface的github账号一致 git config --global user.mail xxx git config --global user.name xxx登录 复制token,划红线的地方,在命令行中点击右…

微软OneDrive简介:特点、应用场景、使用方法、注意事项

还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,ech…

SQLite 日期 时间

SQLite 日期 & 时间 SQLite 是一种轻量级的数据库管理系统,广泛用于各种应用程序中。它支持标准的 SQL 语法,包括对日期和时间的处理。在 SQLite 中,日期和时间可以通过几种不同的方式来存储和操作。 日期和时间数据类型 SQLite 使用 DATE、TIME 和 DATETIME 数据类型…

【QT ScrollArea】手势滑动ScrollArea窗口实现

前言 在使用QT 开发嵌入式类产品的UI交互界面时,我们常用到ScrollArea滑动窗口类。而该滑动窗口类默认只能通过点击拖动滑动窗口的滑动条,来实现窗口的水平或者垂直方向的滑动。    本文提供了通过重写鼠标点击相关事件的函数来实现手势滑动的功能接口…

19. 第十九章拾珍

19. 拾珍 本书的一大目标一直是尽可能少的介绍Python语言. 如果做某种事情有两种方法, 我会选择一种, 并避免提及另一种. 或者有时候, 我会把另一种方法作为练习进行介绍.本章我会带领大家回顾那些遗漏的地方. Python提供了不少并不是完全必需的功能(不用它们也能写出好代码),…

Vue 3 中的状态管理:使用 reactive 函数实现组件间通信和状态管理

在 Vue 3 中,使用 reactive 函数可以创建一个响应式对象,从而实现夸组件间的通信和状态管理。可以将 reactive 函数创建的状态管理单独放在一个 JavaScript 文件中,以实现更好的代码组织和复用。具体步骤如下: 创建一个新的 JavaS…

泛型复习(java)

文章目录 泛型为什么用泛型泛型特性泛型的擦出和补偿自定义泛型在类上自定义泛型在方法上使用泛型在接口上定义泛型 类型通配符 泛型 为什么用泛型 不用泛型 public class User {public static void main(String[] args) {//创建 arraylist 集合Collection arraylist new A…

利用Cesium和JS实现地点点聚合功能

引言 在实现基于地图的业务场景时,当地图上需要展示过多的标记点时,大量的分散点会使地图上显得杂乱无章,导致标记点对地图上的其他重要信息造成遮挡和混淆,降低地图整体的可读性。 标记点的聚合就很好的解决了这些痛点的同时&a…

[大模型]XVERSE-MoE-A4.2B Transformers 部署调用

XVERSE-MoE-A4.2B介绍 XVERSE-MoE-A4.2B 是由深圳元象科技自主研发的支持多语言的大语言模型(Large Language Model),使用混合专家模型(MoE,Mixture-of-experts)架构,模型的总参数规模为 258 亿…

apt-get update和apt-get upgrade的区别

apt-get update apt-get update 命令用于更新本地软件包列表。具体来说,做了以下事情: ①从 /etc/apt/sources.list 文件和 /etc/apt/sources.list.d/ 目录下的所有文件中读取软件源配置。 ②连接到这些软件源,并下载最新的软件包列表。 ③将…

springcloud入门与实践

Spring Cloud 是一个基于 Spring Boot 的框架,专注于微服务架构下的常见问题,如服务发现、负载均衡、断路器、分布式配置、消息驱动的微服务等。以下是 Spring Cloud 的入门指南和实践示例。 1. 环境准备 首先,确保你已经安装了以下工具&am…

Python 潮流周刊#56:NumPy 2.0 里更快速的字符串函数

△△请给“Python猫”加星标 ,以免错过文章推送 本周刊由 Python猫 出品,精心筛选国内外的 250 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术&am…

Mysql(一):深入理解Mysql索引底层数据结构与算法

众所众知,MySql的查询效率以及查询方式,基本上和索引息息相关,所以,我们一定要对MySql的索引有一个具体到数据底层上的认知。 这一次也是借着整理的机会,和大家一起重新复习一下MySql的索引底层。 本节也主要有一下的…

AOSP : Android编译记录

Android编译记录 1、关注编译配置文件2、编译记录2.1 设置构建环境2.2 记录 1、关注编译配置文件 Android.bp 或 Android.mk Android.bp 文件格式 2、编译记录 2.1 设置构建环境 source build/envsetup.sh lunch product_name-release-build_variant查看当前的启动设置&#…

【PL理论】(25) C- 语言:表达式求值的推理规则 | 执行语句的推理规则 | 语句执行的推理规则

💭 写在前面:本章我们将继续更新我们的 "C-" 语言,更新表达式求值的推理规则、执行语句的推理规则以及语句执行的推理规则。 目录 0x00 C- 语言更新:表达式求值的推理规则 0x01 C- 语言更新:执行语句的推…