混合专家系统(MoE)概述

news2024/11/16 15:51:29

 MoE概述

神经网络的学习能力受限于它的参数规模,因此寻找更有效的方法来增加模型的参数已成为深度学习研究的趋势。混合专家系统 (MoE) 可以大幅增加模型参数规模且不会等比例地增加模型计算量,对于单个样本,神经网络只有某些部分被激活。在混合专家系统的稀疏变体(如 Switch Transformer, GLaM, V-MoE)中,会根据 token 或样本来选择专家子集,从而在网络中产生稀疏性。此类模型在多个领域表现出更好的扩展性,并在持续学习的设置下表现出更好的记忆力。然而,糟糕的专家路由策略可能会导致某些专家训练不足,从而导致专家不够专业或过于专业。

在 NeurIPS 2022 的“Mixture-of-Experts with Expert Choice Routing”一文中,谷歌提出了一种称为专家选择 (EC) 的新型 MoE 路由算法。这种方法在 MoE 系统中实现了最佳负载平衡,同时允许 token 到专家映射的异构性。与传统 MoE 网络中基于 token 的路由或其他路由方法相比,EC 表现出了非常强的训练效率,在下游任务取得了很好的成绩。

MoE 路由概述

混合专家系统包含多个专家,每个专家是一个子网络,当输入一个符号 (token) 时,一个或一些专家子网络会被激活。混合专家系统中有一个门控网络 (Gating Network),它的目标是将每个符号路由给最合适的专家网络。根据符号被映射到专家的方式,混合专家系统可以是稀疏的,也可以是密集的。稀疏混合专家系统在路由每个符号时只选择专家集合的一个子集,与密集混合专家系统相比减少了计算成本。稀疏混合专家系统有很多实现方式,例如 k-means 聚类,哈希等。谷歌提出了 GLaM 和 V-MoE,它们都通过稀疏门控混合专家系统推进了自然语言处理和计算机视觉领域的技术进步,证明了稀疏激活的混合专家网络有更好的扩展性能。许多先前的工作都使用的是一种符号选择 (token choice) 的路由策略,这种路由算法为每个输入符号选择最合适的一到两个专家。

图片

符号选择路由示例。路由选择为每个输入符号依据匹配度 (affinity scores) 选择 top-1 或 top-2 的专家。匹配度与模型的其它参数一起参与训练。

但是为每个符号独立地选择专家往往会导致专家负载不均衡或者利用率不足。为了缓解这种情况,之前的稀疏门控网络会引入额外的辅助损失函数作为正则项,来防止太多符号被路由到相同的专家,但这种方法效果有限。因此,符号选择路由需要大幅增加专家容量(计算容量的2倍到8倍)来避免在缓冲区溢出时丢弃输入符号。

除了负载不均衡这个问题,先前的大多数工作会为每个输入符号通过 top-k 函数分配固定数量的专家,而不考虑不同输入符号的相对重要性。谷歌的研究人员认为,不同的符号应该基于符号的重要性或者难度被不同数量的专家处理。

专家选择路由

为了解决上述问题,谷歌研究人员提出了一种异构混合专家系统,它采用如下所示的专家选择 (Expert Choice) 路由方法。它没有让输入符号选择 top-k 的专家,而是将预定缓冲容量的专家分配给了 top-k 的输入符号。这种方式保证了负载均衡,允许每个输入符号被不同数量的专家处理,并在训练效率和下游性能方面取得了显著的进步。与 Switch Transformer、GShard 和 GLaM 中的 top-1 及 top-2 门控模型相比,专家选择路由在 8B/64E(80 亿激活参数,64 位专家)模型中将训练收敛速度提高了 2 倍以上。

图片

专家选择路由。预定缓冲容量的专家被分配给了 top-k 的输入符号。每个输入符号被不同数量的专家处理。

在专家选择路由中,容量 k 被设置成了每个专家在一批输入序列中处理的平均符号数乘以一个容量因子,这决定了每个符号可被接收的平均专家数量。为了学习符号到专家的匹配度,该方法生成了一个符号到专家的得分矩阵,用于做出路由决策。该得分矩阵表示一批输入序列中的给定符号被路由到指定专家的概率。

与 Switch Transformer 和 GShard 类似,MoE 和门函数使用了全连接前馈神经网络 (Dense Feedforward Layer),这是基于 Transformer 的网络中计算成本最高的部分。在生成符号到专家的得分矩阵后,每个专家使用 top-k 函数来选择与它最相关的输入符号。数据被分配给了多个专家,这样所有的专家可以在输入符号的子集上并行计算。由于专家的容量是固定的,因此不会因负载不平衡而过度配置专家容量,从而与 GLaM 相比,显著减少了约 20% 的训练和推理步骤时间。

结果评估

为了说明专家选择路由的有效性,首先看训练效率和收敛性。使用容量因子为 2 (EC-CF2) 的专家选择路由,与 GShard top-2 门控相比较,并运行固定数量的步骤。EC-CF2 在不到一半的步骤内达到了与 GShard top-2 相同的 perplexity,此外,研究人员发现 GShard top-2 的每一步都比 EC-CF2 慢 20%。

研究人员还测试了不同的专家数量,这个过程将 EC 和 GShard top-2 的专家大小固定为 100M 参数。 结果发现,两者在预训练的 perplexity 的指标上表现得都很好——拥有更多的专家可以持续改善 perplexity。

图片

为了验证更好的 perplexity 是否可以为下游任务带来收益,研究人员对 GLUE 和 SuperGLUE 中的 11 个任务进行了微调。在比较了 Switch Transformer top-1 gating (ST Top-1),GShard top-2 gating (GS Top-2) 以及 EC-CF2 后发现,EC-CF2 始终比其他两种方法效果更好,在 8B/64E 的设置下准确率提升了2%以上。此外,与 EC-CF2 对应的密集模型相比,EC-CF2 将平均分数提高了 3.4 分。

实验结果还表明,限制输入符号的专家数量会使微调后的分数平均降低 1 分。这项研究证实,允许每个符号有不同数量的专家确实是有帮助的。另一方面,研究人员发现大多数符号被路由到一到两名专家,而 23% 的符号被路由到三到四名专家,只有约 3% 的符号被路由到四名以上的专家,从而验证了假设,即专家选择路由学会了将可变数量的专家分配给输入符号。

总结思考

专家选择 (EC) 路由为稀疏激活的混合专家系统提出了一种新的路由方法,该方法解决了传统 MoE 方法中的负载不平衡和专家利用率不足的问题,并能够为每个输入符号选择不同数量的专家。与 GShard 和 Switch Transformer 模型相比,该方法将训练效率提升了两倍以上,并且在 GLUE 和 SuperGLUE 基准测试中对 11 个数据集进行微调时取得了可观的收益。

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

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

相关文章

基于JAVA+ springboot实现的抗疫物质信息管理系统

基于JAVA springboot实现的抗疫物质信息管理系统设计和实现 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 …

手机ip地址获取失败是什么原因

在移动互联网时代,手机的IP地址不仅是设备在网络中的唯一标识,还关系到我们的网络体验与数据安全。然而,有时我们在使用手机时可能会遇到IP地址获取失败的情况。这种情况不仅会影响我们的在线活动,还可能引发一系列问题。本文将探…

【动态规划】二维费用的背包问题

欢迎来到Cefler的博客😁 🕌博客主页:折纸花满衣 🏠个人专栏:题目解析 🌎推荐文章:【LeetCode】winter vacation training 目录 👉🏻一和零 👉🏻一…

智慧城市的新引擎:物联网技术引领城市创新与发展

目录 一、引言 二、物联网技术与智慧城市的融合 三、物联网技术在智慧城市中的应用 1、智慧交通管理 2、智慧能源管理 3、智慧环保管理 4、智慧公共服务 四、物联网技术引领城市创新与发展的价值 五、挑战与前景 六、结论 一、引言 随着科技的日新月异,物…

国家妇女节放假是法定的假日

在这个充满活力和希望的春天,我们迎来了一个特殊的节日——国家妇女节。这是一个属于所有女性的节日,是一个庆祝女性成就、关爱女性权益的时刻。在这个特殊的日子里,我们不禁要问:国家妇女节放假是法定假日吗?让我们一…

北斗卫星引领智能油气管线革新

北斗卫星引领智能油气管线革新 现代化的油气管线系统已成为国家经济发展的重要基础设施,而北斗卫星则为这些管线注入了新的活力。北斗卫星作为中国自主研发的卫星导航定位系统,其准确度和稳定性在全球范围内享有盛誉。在智能化时代的背景下,…

Pytorch线性回归实现(原理)

设置梯度 直接在tensor中设置 requires_gradTrue,每次操作这个数的时候,就会保存每一步的数据。也就是保存了梯度相关的数据。 import torch x torch.ones(2, 2, requires_gradTrue) #初始化参数x并设置requires_gradTrue用来追踪其计算历史 print(x…

炼石入选国家互联网应急中心CNCERT首批数据安全支撑单位

2024年2月22日,国家计算机网络应急技术处理协调中心(以下简称CNCERT)公示发布了第十届CNCERT网络安全应急服务支撑单位遴选结果,炼石成功入选首批“数据与软件安全评测领域”应急服务支撑单位!本次遴选根据申报单位综合…

MySQL学习笔记(一)数据库事务隔离级别与多版本并发控制(MVCC)

一、数据库事务隔离级别 数据库事务的隔离级别有4种,由低到高分别为Read uncommitted (读未提交)、Read committed(读提交) 、Repeatable read(可重复读) 、Serializable (串行化&a…

世界的尽头是sql注入漏洞

sql注入漏洞大家都了解吧?但是人类也会有类似sql注入型的漏洞存在! sql注入本质是数据内容被当做命令执行。 举个简单的例子: 某国面临全国性战争,发起全国性的捐款捐物,基本流程是: 居民填写自愿捐助单由军…

连接kafka报错:java.io.IOException: Can‘t resolve address:

修改电脑host文件:C:\Windows\System32\drivers\etc\hosts 加上一行 192.168.1.XXX MHA_SLAVE2(192.168.1.XXX 这个是安装kafka 的服务器地址,MHA_SLAVE2是kafka的容器id)

基于深度学习的驾驶员分心驾驶行为(疲劳+危险行为)预警系统使用YOLOv5+Deepsort实现驾驶员的危险驾驶行为的预警监测

人物专注性检测 项目快速预览 主要不同地方为: 1、疲劳检测中去掉了点头行为的检测,仅保留闭眼检测和打哈欠检测。 2、Yolov5的权重进行了重新训练,增加了训练轮次。 3、前端UI进行了修改,精简了部分功能。 项目介绍 该项目…

数字时代下的内部审计蜕变:探索数字化转型的七大关键领域

写在前面 内部审计是一种独立的、客观的确认和咨询活动,包括鉴证、识别和分析问题以及提供管理建议和解决方案。狭义的数字化转型是指将企业经营管理和业务操作的各种行为、状态和结果用数字的形式来记录和存储,据此再对数据进行挖掘、分析和应用。广义…

企业上了BI,做了很多报表,老板为什么还是不满意?

上次讲了企业有了ERP为什么还要上BI,但是部分企业在部署商业智能BI后,没有感受到商业智能BI的高价值,让很多企业老板感觉不太满意。 经过分析后我们发现,很多企业是冲着商业智能BI的火热部署的,并不清楚商业智能BI的具…

AWTK 开源串口屏开发(12) - 记事本应用

记事本是一个很常用的应用,用来编辑和查看文本文件非常方便。在传统的的串口屏中,开发一个记事本应用,即使可能,也是非常麻烦的事情。在 AWTK 串口屏中,内置文件模型和文件选择对话框,实现一个简单的记事本…

Enzo Life Sciences Cortisol(皮质醇) ELISA kit

皮质醇又称为氢化可的松,是一种由胆固醇合成的类固醇激素。它是肾上腺皮质产生和分泌的主要糖皮质激素。皮质醇在血液中以游离皮质醇的形式存在,或与皮质类固醇结合球蛋白(CBG)结合。皮质醇水平在早上7点左右最高,晚上最低。皮质醇可以调节新…

docker部署springboot jar包项目

docker部署springboot jar包项目 前提,服务器环境是docker环境,如果服务器没有安装docker,可以先安装docker环境。 各个环境安装docker: Ubuntu上安装Docker: ubuntu离线安装docker: CentOS7离线安装Docker&#xff1…

类和对象 02【C++】

文章目录 一、 构造函数(初始化列表)1. 初始化列表2. explicit 关键字3. static成员 二、 友元1. 友元函数2.友元类 三、 内部函数四、 匿名对象五、 拷贝对象时的一些编译器优化 一、 构造函数(初始化列表) 进一步理解构造函数,我们知道创建对象时,编译…

昇腾芯片解析:华为自主研发的人工智能处理器全面分析

在当今科技发展的浪潮中,昇腾芯片作为一种新兴的处理器,正引起广泛的关注和讨论。升腾芯片究竟是由哪家公司生产的?这个问题一直困扰着许多人。下面小编将全面介绍、分析升腾芯片的生产商及各类参数、应用,以便读者对其有更全面的…

【C++】设计模式:建造者、原型、单例

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍设计模式:建造者、原型、单例。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&#xf…