探索大型语言模型新架构:从 MoE 到 MoA

探索大型语言模型新架构:从 MoE 到 MoA

当前,商业科技公司纷纷投身于一场激烈的竞赛,不断扩大语言模型的规模,并为其注入海量的高质量数据,试图逐步提升模型的准确性。然而,这种看似顺理成章的发展路径逐渐暴露出诸多内在局限。一方面,高质量数据的获取并非易事;另一方面,计算能力的瓶颈以及在普通用户硬件上运行这些庞然大物的实际困难,都成为了难以逾越的障碍。幸运的是,人工智能领域的最新研究为我们指明了一个新的方向——结合多个模型的预测和生成能力,或许才是破局的关键。而这其中,混合专家(MoE)模型和混合智能体(MoA) 架构尤为引人注目。

混合专家(MoE)模型:原理与发展

MoE 模型的核心设计理念是构建一个由多个前馈神经网络组成的网络架构,这些神经网络被形象地称为“专家”。每个专家都在特定的领域进行了专门的训练或预训练,其独特之处在于,任何类型的模型都可以作为专家被纳入其中,从而实现了多样化的专业分工。

MoE 模型成功的关键在于其内置的门控或路由机制。这个机制就像是一个智能导航系统,能够精准地将特定的输入导向在相应领域表现卓越的网络。并且,这个路由器是与整个网络同时进行预训练的,这确保了它与整个系统的无缝集成,从而保障了模型的最优性能。

回顾 MoE 模型的发展历程,自 1991 年开创性的论文首次提出其架构以来,它经历了多次演变和改进。2013 年的“Factored Representation of Deep MoE”论文和 2017 年的“Sparsely Gated MoE Layer”论文都对这一概念进行了重新审视和深化。而在 2023 年,“MoE Meets Instruction Tuning”论文更是进一步推动了该领域的发展,充分展示了 MoE 模型的多功能性和巨大潜力。

混合智能体(MoA)架构:创新与突破

一篇名为**“Mixture-of-Agents Enhances Large Language Model Capabilities”**的论文横空出世,正式向我们介绍了 MoA 架构。该论文的作者敏锐地捕捉到了 LLMs 中一个内在的现象——协作性。他们发现,当 LLMs 接收到来自其他模型的输出时,能够生成质量更高的响应。

MoA 架构主要包含两个核心组件:提议者和聚合器,它们均是在协作方面表现出色的 LLMs。 例如,GPT - 4o、Qwen1.5、LLaMA - 3 等模型在协助和聚合任务中都展现出了良好的通用性;而 WizardLM 则在提议者角色上表现优异,但在聚合其他模型的响应时稍显逊色。

MoA 架构的具体运作方式如下:它拥有一个由 l 层 MoE 层堆叠而成的结构。每一层 MoE 层都包含 n 个专家 LLMs,这些专家 LLMs 可以在同一层或不同层中被重复使用,同时还配备了门控网络和残差连接。 每个 LLM 都会对输入文本进行处理,并在此基础上不断构建和完善输出。特别值得一提的是,MoA 方法无需进行微调,它是在模型层面而非激活层面进行操作的,这意味着它完全基于提示接口工作,无需对模型的权重进行任何修改。

在性能表现上,MoA 模型在 AlpacaEval 2.0、MT - Bench 和 FLASK 这三大基准测试中都取得了令人瞩目的成绩。在 AlpacaEval 2.0 基准测试中,MoA 方法成功登顶排行榜,相较于之前的顶级模型 GPT - 4o,实现了高达 8.2%的绝对提升。尤为值得关注的是,MoA 模型仅使用开源模型就超越了 GPT - 4o,从 GPT - 4o 的 57.5%提升到了 65.1%,绝对提升幅度达到 7.6%。 在 MT - Bench 基准测试中,尽管当前的模型已经取得了相当高的分数,但 MoA 依然在排行榜上独占鳌头,这充分证明了即使在已经高度优化的基准测试中,MoA 方法仍能突破极限,保持领先地位。在 FLASK 基准测试中,与聚合器 Qwen - 110B - Chat 的单模型得分相比,MoA 在稳健性、正确性、效率、真实性、常识性、洞察力、完整性等方面都有显著的提升。 此外,在正确性、真实性、洞察力、完整性和元认知等方面,MoA 也优于 GPT - 4 Omni。不过,MoA 在简洁性方面还有待提高,其生成的输出略显冗长。

MoA 架构的成功秘诀

MoA 聚合器的成功关键在于其精妙的输出融合策略。它并非简单地从众多响应中挑选出最佳答案,而是执行一个复杂的聚合过程,将所有最优输出无缝地融合在一起。这一独特的设计使得 MoA 与传统的基于 LLM 的排序器区分开来,并使其能够始终保持卓越的性能。

为了验证 MoA 方法的有效性,研究人员运用了 BLEU 和 Levenshtein 相似性等相似性分数,对聚合器的输出和提议者的输出进行了比较。结果显示,两者之间存在显著的正相关关系,这有力地证明了聚合器确实有效地整合了一层内所有 LLM 输出中的最佳答案。

此外,研究人员在模型选择上也下足了功夫。他们精心挑选聚合器和提议者的模型类型,确保每个组件都能针对底层任务实现专业化。这种策略性的方法使得 MoA 框架的每个部分都能为其特定角色进行优化,从而极大地提升了系统的整体准确性和性能。

MoA 框架的另一个显著优势在于它能够充分利用多样化的 LLMs。研究人员通过实验证明,这种多样性能够显著提高系统的整体准确性,正如论文中的图 4 所展示的令人印象深刻的结果。随着提议者模型数量的增加,基于 MoA 的系统的整体准确性和性能都有了显著的提升,这充分凸显了在大型语言模型发展中采用协作式人工智能的优势。

如果你对文中提到的 MoE 和 MoA 模型感兴趣,想了解更多详细信息,可以参考以下文献:

  • 混合专家(MoE)
    • https://huggingface.co/blog/moe
    • https://en.wikipedia.org/wiki/Mixture_of_experts
  • 混合智能体(MoA):https://arxiv.org/abs/2406.04692

希望今天的分享能让你对大型语言模型的前沿进展有更深入的了解,如果你有任何想法或建议,欢迎在评论区留言交流!让我们一起关注人工智能的发展动态,共同探索未来的无限可能!

以上就是今天为大家带来的全部内容,感谢阅读!

推荐阅读

1. 专家混合(MoE)大语言模型:免费的嵌入模型新宠

2. LLM大模型架构专栏|| 从NLP基础谈起

3. AI Agent 架构新变革:构建自己的 Plan-and-Execute Agent

4. 探索 AI 智能体工作流设计模式

本文由mdnice多平台发布

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【通识安全】煤气中毒急救的处置

1.煤气中毒的主要症状与体征一氧化碳中毒,其中毒症状一般分为轻、中、重三种。 (1)轻度:仅有头晕、头痛、眼花、心慌、胸闷、恶心等症状。如迅速打开门窗,或将病人移出中毒环境,使之吸入新鲜空气和休息,给些热饮料&am…

分享:osgb倾斜数据转cesium-3dtiles 小工具.

背景: 很多知识殊途同归,在三维软件这块,少不了要和各种各样的数据格式打交道.osgb,stl,obj,3dtiles,3ds等等..虽然里面本质核心基本都是几何数据拓扑数据材质纹理数据等等,但是由于其组织方式不同和特殊的应用场景,导致很多模型需要转来转去...相信很多人在这方面都或多或少吃…

Node.js——fs(文件系统)模块

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

Mac M2基于MySQL 8.4.3搭建(伪)主从集群

前置准备工作 安装MySQL 8.4.3 参考博主之前的文档,在本地Mac安装好MySQL:Mac M2 Pro安装MySQL 8.4.3安装目录:/usr/local/mysql,安装好的MySQL都处于运行状态,需要先停止MySQL服务最快的方式:系统设置 …

第5章——与HTTP协作的Web服务器

第5章——与HTTP协作的Web服务器 用单台虚拟主机实现多个域名 ​ 一台服务器可以使用虚拟主机功能拥有多个域名。 ​ 域名通过DNS服务映射到IP地址(域名解析)之后访问目标网站。当请求发送到服务器时,已经是以IP地址形式访问了。 ​ 相同的…

基于Python的投资组合收益率与波动率的数据分析

基于Python的投资组合收益率与波动率的数据分析 摘要:該文通过研究马科维茨的投资组合模型,并将投资组合模型应用到包含6只金融股票的金融行业基金中。首先通过开源的财经接口Tushare获取股票原始数据,接着利用数据分析的黄金组合库&#xf…

AWS re:Invent 2024 现场实录 - It‘s all about Scale

时隔五年,再度造访美国,也是同样的主题,参加在拉斯维加斯举行的 AWS re:Invent 大会。 会场 从 2012 起第一届开始,每年的 re:Invent 大会都放在拉斯维加斯,主会场也都放在威尼斯人酒店 (Venetian)。有小伙伴好奇这背…

【实用干货】日本上市药品价格、说明书、在研新药在线查询网站及数据库

众所周知,日本对上市药品公开信息程度非常高,我们在了解药品信息时常常会访问日本药监局(日本药方局)官网的PMDA数据库来查询信息,但由于网站的不熟悉或语言障碍原因,导致查找某个药品信息需要花费大量时间,如药物综述…

【vba源码】自动获取汇率

Hi,大家好! 没有想到今天居然是腊八,过了腊八就是年,离过年越来越近了,那在这里给大家就拜个年,希望大家在新的一年都有好事发生。 最近在弄点小项目,在项目遇到了一个汇率计算的问题&#xff…

【学习路线】Python 算法(人工智能)详细知识点学习路径(附学习资源)

学习本路线内容之前,请先学习Python的基础知识 其他路线: Python基础 >> Python进阶 >> Python爬虫 >> Python数据分析(数据科学) >> Python 算法(人工智能) >> Pyth…

CV-LLM经典论文解读|VTimeLLM: Empower LLM to Grasp Video MomentsVTimeLLM:赋能大语言模型理解视频片段

论文标题 VTimeLLM: Empower LLM to Grasp Video Moments VTimeLLM:赋能大语言模型理解视频片段 论文链接: VTimeLLM: Empower LLM to Grasp Video Moments论文下载 论文作者 Bin Huang, Xin Wang, Hong Chen, Zihan Song, Wenwu Zhu (Tsinghua Un…

机器学习基础-大语言模型

目录 大语言模型的基本概念 “大”体现在什么地方? 预训练微调两阶段的基本流程和作用 第一阶段:利用语言模型进行无监督预训练 第二阶段:通过监督微调的模式解决下游任务 BERT模型中MLM和NSP机制基本概念 MLM NSP Prompt学习的基本概…

给Kkfileview加请求头鉴权接入

所有接入前端token放localStorage, 或者后端cookie中获取鉴权 本案例以放localStorage为例 一、创建global.js $(document).ready(function() {// 设置全局的 AJAX 请求头$.ajaxSetup({headers: {Authentication: localStorage.getItem(Authentication) }}); }); 二。全部模…

flutter 专题二十四 Flutter性能优化在携程酒店的实践

Flutter性能优化在携程酒店的实践 一 、前言 携程酒店业务使用Flutter技术开发的时间快接近两年,这期间有列表页、详情页、相册页等页面使用了Flutter技术栈进行了跨平台整合,大大提高了研发效率。在开发过程中,也遇到了一些性能相关问题和…

源代码编译安装X11及相关库、vim,配置vim(2)

一、编译安装vim 编译时的cofigure选项如下.只有上一步的X11的包安装全了(具体哪些是必须的,哪些是多余的没验证),configure才能认为X的库文件和头文件是可以用的。打开多个编程语言的支持特性。 ./configure --prefixpwd/mybui…

爬虫学习记录

1.概念 通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程 通用爬虫:抓取的是一整张页面数据聚焦爬虫:抓取的是页面中的特定局部内容增量式爬虫:监测网站中数据更新的情况,只会抓取网站中最新更新出来的数据 robots.txt协议: 君子协议,网站后面添加robotx.txt…

大语言模型训练所需的最低显存,联邦大语言模型训练的传输优化技术

联邦大语言模型训练的传输优化技术 目录 联邦大语言模型训练的传输优化技术大语言模型训练所需的最低显存大语言模型训练所需的最低显存 基于模型微调、压缩和分布式并行处理的方法,介绍了相关开源模型及技术应用 核心创新点 多维度优化策略:综合运用基于模型微调、模型压缩和…

主机A与主机B建立TCP连接的三次握手过程

( 1 )主机 A 的 TCP 向主机 B 发出连接请求 SYN 报文段(第一次握手)。( 1 分) ( 2 )一旦包含 SYN 报文段的 IP 数据报到达主机 B , SYN 报文段被从数据报…

SpringCloud系列教程:微服务的未来(六)docker教程快速入门、常用命令

对于开发人员和运维工程师而言,掌握 Docker 的基本概念和常用命令是必不可少的。本篇文章将带你快速入门 Docker,并介绍一些最常用的命令,帮助你更高效地进行开发、测试和部署。 目录 前言 快速入门 docker安装 配置镜像加速 部署Mysql …

Express 加 sqlite3 写一个简单博客

例图: 搭建 命令: 前提已装好node.js 开始创建项目结构 npm init -y package.json:{"name": "ex01","version": "1.0.0","main": "index.js","scripts": {"test": &q…