0

0

混合专家更有主见了,能感知多模态分情况行事,Meta提出模态感知型专家混合

PHPz

PHPz

发布时间:2024-08-11 14:45:28

|

1136人浏览过

|

来源于机器之心

转载

混合专家,也得术业有专攻。


对于目前的混合模态基础模型,常用的架构设计是融合特定模态的编码器或解码器,但这种方法存在局限:无法整合不同模态的信息,也难以输出包含多种模态的内容。

为了克服这一局限,Meta FAIR 的 Chameleon 团队在近期的论文《Chameleon: Mixed-modal early-fusion foundation models》中提出了一种新的单一 Transformer 架构,它可以根据下一个 token 的预测目标,对由离散图像和文本 token 组成的混合模态序列进行建模,从而在不同模态之间进行无缝推理和生成。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

混合专家更有主见了,能感知多模态分情况行事,Meta提出模态感知型专家混合

在约 10 万亿混合模态 token 上完成预训练之后,Chameleon 表现出了适应广泛的视觉和语言能力,能很好地处理多种不同的下游任务。Chameleon 在生成混合模态长回答任务的表现尤其亮眼,它甚至打败了 Gemini 1.0 Pro 和 GPT-4V 等商用模型。然而对于 Chameleon 这样各种模态会在模型训练的早期混合起来的模型,想要拓展它的能力,需要投入大量算力。

基于以上问题,Meta FAIR 的团队对路由式稀疏架构(routed sparse architecture)进行了一番研究探索,提出了 MoMa:模态感知型专家混合架构。

混合专家更有主见了,能感知多模态分情况行事,Meta提出模态感知型专家混合

  • 论文标题:MoMa: Efficient Early-Fusion Pre-training with Mixture of Modality-Aware Experts
  • 论文地址:https://arxiv.org/pdf/2407.21770

之前已有研究表明,这类架构可以有效地扩展单模态的基础模型的能力,也可以增强多模态对比学习模型的性能。但是,将其用于较早将各种模态融合的模型训练还是一个机遇与挑战并存的课题,还少有人研究。

该团队的研究基于这一洞见:不同模态具有固有的异构性 —— 文本和图像 token 具有不同的信息密度和冗余模式。

在将这些 token 整合成统一的融合架构的同时,该团队也提出通过整合针对具体模态的模块来进一步优化该框架。该团队将这一概念称为模态感知型稀疏性(modality-aware sparsity),简称 MaS;其能让模型更好地捕获每个模态的特征,同时还能通过部分参数共享和注意力机制维持强大的跨模态整合性能。

之前的 VLMo、BEiT-3 和 VL-MoE 等研究已经采用了混合模态专家(MoME/mixture-of-modality-experts)方法来训练视觉 - 语言编码器和掩码式语言建模,来自 FAIR 的研究团队更进一步将 MoE 的可用范围又推进了一步。

模型架构

早期融合

本文提出的新模型基于 Chameleon 的早期融合架构,其做法是在一个统一 Transformer 中,将图像和文本表示成一系列离散 token。Chameleon 的核心是一个基于 Transformer 的模型,其会在图像和文本 token 的组合序列上应用自注意力机制。这能让该模型捕获模态内和模态间的复杂关联。该模型的训练使用的目标是下一 token 预测目标,以自回归方式生成文本和图像 token。

在 Chameleon 中,图像的 token 化方案采用了一个学习型图像分词器,它将基于大小为 8192 的 codebook 将 512 × 512 的图像编码成 1024 个离散 token。对于文本的分词将使用一个词表大小为 65,536 的 BPE 分词器,其中包含图像 token。这种统一的分词方法可以让模型无缝处理图像和文本 token 交织错杂的任意序列。

借助这种方法,新模型继承了表征统一、灵活性好、可扩展性高、支持端到端学习这些优点。

在此基础上(图 1a),为了进一步提升早融合模型的效率和性能,该团队还引入了模态感知型稀疏性技术。

混合专家更有主见了,能感知多模态分情况行事,Meta提出模态感知型专家混合

宽度扩展:模态感知型混合专家

该团队提出了一种宽度扩展方法:将模态感知型模块稀疏性集成到前向模块中,从而扩展标准混合专家(MoE)架构。

该方法基于这一洞见:不同模态的 token 有各自不同的特征和信息密度。

通过为每个模态构建不同的专家分组,可让模型开发出专门的处理路径,同时维持跨模态的信息整合能力。

图 1b 展示了这种模态感知型专家混合(MoMa)的关键组件。简单来说,先是对各个特定模态的专家进行分组,然后实现分层路由(分为模态感知型路由和模态内路由),最后选择专家。详细过程参见原论文。

总体来说,对于一个输入 token x,MoMa 模块的形式化定义为:

混合专家更有主见了,能感知多模态分情况行事,Meta提出模态感知型专家混合

在 MoMa 计算之后,该团队又进一步使用了残差连接和 Swin Transformer 归一化。


Mixture-of-Depths(MoD)

之前也有研究者探索将稀疏性引入深度维度,他们的做法要么是随机丢弃某些层,要么就是使用可学习的路由器。

该团队的做法参考了第二种方法,同时整合了近期提出的混合深度(MoD)技术。有关 MoD 的更多介绍可参阅本站报道《DeepMind 升级 Transformer,前向通过 FLOPs 最多可降一半》

具体而言,如下图所示,该团队的做法是在每个 MoD 层中,在混合专家 (MoE)路由之前都集成 MoD,从而确保在模态分离之前,整批数据都能应用 MoD。

混合专家更有主见了,能感知多模态分情况行事,Meta提出模态感知型专家混合

推理

在推理阶段,我们不能直接使用 MoE 的专家选择路由或 MoD 的层选择路由,因为在一批数据中进行 top-k(选择前 k 个)选择会破坏因果关系。

为了保证推理的因果关系,受上述 MoD 论文的启发,研究团队引入了辅助路由器(auxiliary router),其作用是仅基于 token 的隐藏表征预测该 token 被某个专家或层选中的可能性。

升级改造(Upcycling)

在优化表征空间和路由机制方面,对于一个从头开始训练 MoE 架构,存在一个独特的难题。该团队发现:MoE 路由器负责为每个专家划分表征空间。但是,在模型训练的早期阶段,这个表征空间并非最优,这就会导致训练得到的路由函数也是次优的。

为了克服这一局限,他们基于 Komatsuzaki 等人的论文《Sparse upcycling: Training mixture-of-experts from dense checkpoints》提出了一种升级改造方法。

混合专家更有主见了,能感知多模态分情况行事,Meta提出模态感知型专家混合

具体来说,首先训练一个每个模态都有一个 FFN 专家的架构。经过一些预先设定的步数之后,再对该模型进行升级改造,具体做法是:将每个特定模态的 FFN 转换成一个专家选择式 MoE 模块,并将每个专家初始化为第一阶段训练的专家。这里会在保留前一阶段的数据加载器状态的同时重置学习率调度器,以确保第二阶段的训练能使用已刷新的数据。

为了促进专家更加专业,该团队还使用了 Gumbel 噪声来增强 MoE 路由函数,从而使得新的路由器能以可微分的方式对专家进行采样。

这种升级改造方法加上 Gumbel-Sigmoid 技术,可克服学习到的路由器的局限性,从而提升新提出的模态感知型稀疏架构的性能。

效率优化

为促进 MoMa 的分布式训练,该团队采用了完全分片式数据并行(FSDP/Fully Sharded Data Parallel)。但是,相比于常规 MoE,该方法存在一些特有的效率难题,包括负载平衡问题和专家执行的效率问题。

对于负载平衡问题,该团队开发了一种平衡的数据混合方法,可让每台 GPU 上的文本 - 图像数据比例与专家比例保持一致。

对于专家执行的效率问题,该团队探索了一些策略,可帮助提升不同模态的专家的执行效率:

  • 将各个模态的专家限制为同构的专家,并禁止将文本 token 路由到图像专家,反之亦然;
  • 使用模块稀疏性(block sparsity)来提升执行效率;
  • 当模态的数量有限时,按顺序运行不同模态的专家。

由于实验中每台 GPU 处理的 token 都足够多,因此即使使用多个分批次矩阵乘法,硬件利用率也不算大问题。因此,该团队认为对于当前规模的实验环境而言,按顺序执行的方法是比较好的选择。

其它优化

为了进一步提升吞吐量,该团队还采用了其它一些优化技术。

其中包括降低梯度通信量、自动化的 GPU 核融合等一般优化操作,研究团队还通过 torch.compile 实现了图优化。

此外,他们还针对 MoMa 开发了一些优化技术,包括跨不同层复用模态 token 索引,以最高效地同步 CPU 和 GPU 之间的设备。

实验

设置

实验中使用的预训练数据集和预处理过程与 Chameleon 一样。为了评估扩展性能,他们训练模型使用的 token 数量超过 1 万亿。

混合专家更有主见了,能感知多模态分情况行事,Meta提出模态感知型专家混合

Akkio
Akkio

Akkio 是一个无代码 AI 的全包平台,任何人都可以在几分钟内构建和部署AI

下载
表 1 给出了密集和稀疏模型的详细配置情况。

不同计算层级的扩展性能

该团队分析了不同模型在不同计算层级上的扩展性能,这些计算层级(FLOPs)相当于三种大小的密集模型:90M、435M 和 1.4B。

实验结果表明,一个稀疏模型仅使用总 FLOPs 的 1/η 就能比肩同等 FLOPs 的密集模型的预训练损失(η 表示预训练加速因子)。

模态解绑

引入特定模态的专家分组可提高不同规模模型的预训练效率,这对图像模态尤其有益。如图 3 所示,使用 1 个图像专家和 1 个文本专家的 moe_1t1i 配置显著优于相应的密集模型。

混合专家更有主见了,能感知多模态分情况行事,Meta提出模态感知型专家混合

扩展每个模态分组的专家数量还能进一步提升模型性能。

混合深度与专家

该团队观察到,当采用 MoE 和 MoD 以及它们的组合形式时,训练损失的收敛速度会得到提升。如图 4 所示,向 moe_1t1i 架构添加 MoD(mod_moe_1t1i)可大幅提升不同模型大小的模型性能。

图片

此外,在不同的模型大小和模态上,mod_moe_1t1i 能媲美甚至超过 moe_4t4i,这表明在深度维度上引入稀疏性也能有效提升训练效率。

另一方面,还能看到堆叠 MoD 和 MoE 的收益会逐步下降。

扩展专家的数量

为了研究扩展专家数量的影响,该团队进行了进一步的消融实验。他们探索了两种场景:为每种模态分配同等数量的专家(平衡)以及为每种模态分配不同数量的专家(不平衡)。结果见图 5。

混合专家更有主见了,能感知多模态分情况行事,Meta提出模态感知型专家混合

对于平衡的设置,从图 5a 可以看到,随着专家数量提升,训练损失会明显下降。但文本和图像损失表现出了不同的扩展模式。这表明每种模态的固有特性会导致出现不同的稀疏建模行为。

对于不平衡的设置,图 5b 比较了同等专家总数(8)的三种不同配置。可以看到,一个模态的专家越多,模型在该模态上的表现通常就越好。

升级改造

该团队自然也验证了前述的升级改造的效果。图 6 比较了不同模型变体的训练曲线。

混合专家更有主见了,能感知多模态分情况行事,Meta提出模态感知型专家混合

结果表明,升级改造确实能进一步改善模型训练:当第一个阶段有 10k 步时,升级改造能带来 1.2 倍的 FLOPs 收益;而当这个步数为 20k 时,也有 1.16 倍的 FLOPs 收益。

此外,还能观察到,随着训练推进,经过升级改造的模型与从头开始训练的模型之间的性能差距会不断增大。

吞吐量分析

稀疏模型通常不能立即带来性能增益,因为稀疏模型会增加动态性和相关的数据平衡问题。为了量化新提出的方法对训练效率的影响,该团队通常控制变量实验比较了不同架构的训练吞吐量。结果见表 2。

混合专家更有主见了,能感知多模态分情况行事,Meta提出模态感知型专家混合

可以看到,相比于密集模型,基于模态的稀疏性能实现更好的质量 - 吞吐量权衡,并且能随专家数量增长展现出合理的可扩展性。另一方面,尽管 MoD 变体取得了最好的绝对损失,但由于额外的动态性和不平衡性,它们的计算成本往往也更高。

推理时间性能

该团队也评估了模型在留存的语言建模数据和下游任务上的表现。结果见表 3 和 4。
混合专家更有主见了,能感知多模态分情况行事,Meta提出模态感知型专家混合
如表 3 所示,通过使用多个图像专家,1.4B MoMa 1t1i 模型在大多数指标上都优于相应的密集模型,只有在 COCO 和 Flickr 上的图像到文本条件困惑度指标例外。进一步扩展专家数量也能提升性能,其中 1.4B MoE 8x 在图像到文本性能上达到了最佳。

此外,如表 4 所示,1.4B MoE 8x 这个模型还非常擅长文本到文本任务。1.4B MoMa 4t4i 在所有条件图像困惑度指标上表现最佳,而其在大多数基准上的文本困惑度也非常接近 1.4B MoE 8x。

总体而言,在混合文本和图像两种模态的数据上,1.4B MoMa 4t4i 模型的建模结果最好。

更多详细内容,请阅读原论文。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
什么是分布式
什么是分布式

分布式是一种计算和数据处理的方式,将计算任务或数据分散到多个计算机或节点中进行处理。本专题为大家提供分布式相关的文章、下载、课程内容,供大家免费下载体验。

329

2023.08.11

分布式和微服务的区别
分布式和微服务的区别

分布式和微服务的区别在定义和概念、设计思想、粒度和复杂性、服务边界和自治性、技术栈和部署方式等。本专题为大家提供分布式和微服务相关的文章、下载、课程内容,供大家免费下载体验。

235

2023.10.07

登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6170

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

819

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1067

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

1356

2024.03.01

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

397

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

575

2023.08.10

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

1

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.4万人学习

Node.js 教程
Node.js 教程

共57课时 | 9.7万人学习

CSS3 教程
CSS3 教程

共18课时 | 5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号