Scaling Vision-Language Models with Sparse Mixture of Experts
作者/机构: Sheng Shen†§∗, Zhewei Yao‡∗, Chunyuan Li‡∗, Trevor Darrell†, Kurt Keutzer†, Yuxiong He‡ (†加州大学伯克利分校 ‡微软)
邮箱: sheng.s@berkeley.edu, {zheweiyao,chunyl}@microsoft.com
A1 主要贡献
本文探讨了使用稀疏门控专家混合(MoE)技术来扩展视觉-语言模型(VLM)的有效性,以解决大型复杂模型在训练和部署中面临的挑战。研究的核心问题是,随着VLM模型规模和复杂性的增加,其训练和部署变得愈发困难。研究目标是通过将模型划分为更小、更专业的子模型(即专家)来共同解决任务,从而在同等计算成本下,实现比密集模型更优的性能。
本文提出的主要模型是VL-MoE,一种新颖的VLM架构。该架构利用MoE来统一扩展模型中的文本前馈网络(T-FFN)和视觉前馈网络(V-FFN)。输入表示根据其模态(纯图像、纯文本或图文对)被路由到不同的专家网络中。具体来说,在模型的早期层,VL-MoE采用模态特定的方式进行条件计算,将视觉和文本的Token分别路由到V-MoE和T-MoE中,这些MoE层由多个V-FFN或T-FFN专家组成。
图1:VL-MoE针对不同模态输入的编码过程,灰色和彩色块分别表示未激活和激活的模块。(a) 仅图像输入时,编码过程切换到V-MoE或V-FFN。(b) 仅文本输入时,编码过程切换到T-MoE或T-FFN。(c) 图文对输入时,编码过程切换到V-MoE、T-MoE和VL-FFN。(d) 在早期层,我们使用稀疏专家混合将V-FFN和T-FFN扩展为V-MoE和T-MoE。VL-MoE将利用条件计算以模态特定的方式分配令牌。V/T-MoE将多个V/T-FFN转换为专家,其中图像/文本输入将由V/T-路由器网络进行条件路由。
实验证明,VL-MoE能够显著提升VLM的效率和效果。例如,一个扩展到20亿参数的VL-MoEBASE/32E模型,每个令牌仅应用1.8亿参数,其性能与使用相似或更多预训练数据且每个令牌应用3-4倍更多参数的密集模型相当。
本文的主要贡献如下:
* 提出了VL-MoE,这是首个用于纯视觉/纯语言以及视觉-语言任务的大规模生成式MoE多模态模型。
* 探索了多种扩展策略,包括增加密集模型大小、增加专家数量以及单独扩展T-FFN或V-FFN,以研究模型复杂性与在各种下游任务上性能之间的权衡。
* 通过消融实验来理解VL-MoE模型的行为、可解释性以及设计选择。
A2 背景知识
视觉-语言建模
模型架构。视觉-语言预训练旨在通过模型架构和预训练目标从大规模图文对中学习有效的多模态表示。在模型架构方面,主要有两种设计。第一种设计,如【51, Learning transferable visual models from natural language supervision. 2021. ICML】、【23, Scaling up visual and vision-language representation learning with noisy text supervision. 2021. ICML】和【70, Florence: A new foundation model for computer vision. 2021. CoRR】等模型所采用,使用不同的编码器分别对每个模态进行编码。这种方法在图文检索任务上表现良好,但在视觉推理等复杂的视觉-语言任务上效果不佳。第二种设计,如【63, LXMERT: Learning crossmodality encoder representations from transformers. 2019. EMNLP-IJCNLP】、【37, Align before fuse: Vision and language representation learning with momentum distillation. 2021. Advances in neural information processing systems】、【45, ViLBERT: Pretraining task-agnostic visiolinguistic representations for vision-and-language tasks. 2019. Advances in Neural Information Processing Systems】、【38, Visualbert: A simple and performant baseline for vision and language. 2019. CoRR】、【25, ViLT: Vision-and-language transformer without convolution or region supervision. 2021. ICML】、【6, Pali: A jointly-scaled multilingual language-image model. 2022. arXiv】和【1, Flamingo: a visual language model for few-shot learning. 2022. CoRR】等模型所采用,使用复杂的融合模块和跨模态注意力来结合不同模态,学习强大的多模态表示。然而,这种设计以牺牲效率为代价来换取性能的提升。最近,VLMO【3, Vlmo: Unified vision-language pre-training with mixture-of-modalityexperts. In Advances in Neural Information Processing Systems.】和BEIT-3【66, Image as a foreign language: Beit pretraining for all vision and vision-language tasks. 2022. arXiv】中使用的MOME Transformer引入了一种新的设计。该设计通过引入模态混合专家(mixture-of-modality-experts)技术,统一了双编码器和融合编码器模型。借助MOME,不同模态在共享的Transformer块内进行编码,从而提高了可扩展性,并在视觉-语言任务上取得了最先进的性能。目前,在可接受的计算预算内提升VL模型容量的兴趣日益增加,方法包括MoE【47, Multimodal contrastive learning with limoe: the language-image mixture of experts. 2022. arXiv】和在预训练模型上注入新的可训练模块【1, 58, 43, 41, 35, 28】;其中前者研究较少。
预训练目标。目前已研究了多种跨模态预训练目标,可分为两类:(1)判别式建模,包括图文对比学习【51, 23】、图文匹配【63, 25, 37, 3】和词-图像块/区域对齐【7, 25】;(2)生成式建模,包括掩码语言建模【63, 61, 25】或前缀语言建模【67】,掩码区域建模【63】,多模态前缀语言建模【67】。最近,BEIT-3【66, Image as a foreign language: Beit pretraining for all vision and vision-language tasks. 2022. arXiv】通过统一生成式多模态预训练目标与掩码数据建模(包括单模态编码器上的掩码图像建模和掩码语言建模,以及多模态编码器上的掩码多模态建模),展示了强大的扩展性。
本文的选择。本文采用MOME Transformer作为骨干密集网络,并使用生成式(掩码数据)建模作为预训练目标,因其简洁性和可扩展性。
稀疏专家混合模型
稀疏专家混合模型背景。本文的研究建立在深度稀疏MoE概念之上,这一概念在计算机视觉【53, Scaling vision with sparse mixture of experts. 2021. Advances in Neural Information Processing Systems】、【44, Cross-token modeling with conditional computation. 2021. arXiv】、【47, Multimodal contrastive learning with limoe: the language-image mixture of experts. 2022. arXiv】和自然语言处理【53, 44, 47, 57, 33, 15, 13, 74, 8, 72, 29, 32】领域中,作为条件计算的背景被独立研究。条件计算的目标是在不按比例增加计算成本的情况下增加模型参数数量,这是通过根据输入相关的因素选择性地激活模型的特定部分来实现的【4, Deep learning of representations: Looking forward. 2013. SLSP】、【5, Improved learning algorithms for mixture of experts in multiclass classification. 1999. Neural networks】、【10, Low-rank approximations for conditional feedforward computation in deep neural networks. 2013. arXiv】。MoE模型使用一个学习到的门控机制,对于给定的输入,仅激活E个专家中的k个子集,允许输入选择所有专家【14, Learning factored representations in a deep mixture of experts. 2013. arXiv】或仅选择稀疏的专家混合,如最近的大型语言模型【15, 13】。虽然许多工作旨在改进门控机制本身【18, 34, 54, 72】,MoE模型也已在多任务学习中被研究【18, 32】,使用按任务的路由器【46, Modeling task relationships in multi-task learning with multi-gate mixture-of-experts. 2018. KDD】,尽管通常使用共享的专家池。
多模态中的MoE。MoE模型也已被探索用于多模态学习,其中LIMOE【47, Multimodal contrastive learning with limoe: the language-image mixture of experts. 2022. arXiv】与我们的工作最相关。然而,他们的MoE扩展考虑的是CLIP风格的对比学习作为预训练目标,以及视觉/检索任务作为下游评估。据我们所知,本文提出的VL-MoE是首个在视觉-语言预训练中考虑生成式建模目标的MoE扩展研究,并且我们以更全面的方式评估其扩展性能,包括纯视觉/纯语言以及视觉-语言任务。
A3 方法细节
3.1. 视觉-语言掩码数据建模
统一的掩码数据建模目标。我们利用统一的掩码数据建模目标【66, Image as a foreign language: Beit pretraining for all vision and vision-language tasks. 2022. arXiv】在单模态(即图像和文本)和多模态数据(即图文对)上预训练VL-MoE。这种方法已被证明在小批量尺寸下具有良好的可扩展性。我们的预训练过程包括在单模态图像数据上进行掩码图像建模,在单模态文本数据上进行掩码语言建模,以及在多模态图文对上进行掩码视觉-语言建模。
掩码语言建模(MLM)。我们使用掩码语言建模(MLM)从大规模纯文本数据中学习语言表示。在MLM中,单模态文本数据中15%的令牌被随机掩码,模型被训练从损坏的输入文本中恢复被掩码的令牌。遵循BERT【11, BERT: pre-training of deep bidirectional transformers for language understanding. 2019. NAACL-HLT】的做法,被掩码的令牌有80%的时间被替换为[MASK]令牌,10%的时间被替换为随机令牌,10%的时间保持原始令牌。
掩码图像建模(MIM)。除了掩码语言建模,VL-MoE还使用掩码图像建模(MIM)从大规模图像数据中学习视觉表示。在MIM中,对40%的图像块应用块状掩码,预训练目标是重建被掩码块的离散视觉令牌,这遵循了BEiT【2, BEiT: BERT pre-training of image transformers. 2022. ICLR】的方法。我们使用BEITv2【49, Beit v2: Masked image modeling with vector-quantized visual tokenizers. 2022. ArXiv】的图像分词器来获得作为重建目标的离散令牌。
掩码视觉-语言建模(VLM)。为了学习对齐的视觉-语言表示,我们使用掩码视觉-语言建模(VLM),它将掩码语言建模和掩码图像建模扩展到多模态数据。该任务旨在基于视觉和语言线索恢复被掩码的图像块和文本令牌。在VLM中,文本令牌以50%的掩码率随机掩码(如MLM中一样),模型被训练以基于联合的图文表示来恢复被掩码的文本令牌。图像块也以与MIM中相同的比例被掩码,并基于图文对预测相应的视觉令牌。VLM任务进一步鼓励模型学习图文对之间的对齐关系。
3.2. VL-MoE 架构
文本输入表示。为了获得文本表示,输入文本被分词并投影到词嵌入上($\{w_i\}_{i=1}^M$),其中M是分词后文本序列的长度。序列中添加了两个特殊令牌:序列开始令牌([T CLS])和特殊边界令牌([T SEP])。文本表示是通过将词嵌入和文本位置嵌入相加得到的,结果为 $H_w = [w_{[T CLS]}, w_1, \dots, w_M, w_{[T SEP]}] + T_{pos}$。
图像输入表示。对于图像表示,输入的二维图像 $v \in R^{H \times W \times C}$ 被分割并重塑为 $N = HW / P^2$ 个图像块 $v_p \in R^{N \times (P^2C)}$,其中C是通道数,(H, W)是输入图像的高度和宽度,P是图像块的大小。这些图像块随后被展平为向量,并进行线性投影以获得图像块嵌入,这遵循了Vision Transformer【12, An image is worth 16x16 words: Transformers for image recognition at scale. 2020. arXiv】、【64, Training data-efficient image transformers & distillation through attention. 2020. arXiv】和【2, BEiT: BERT pre-training of image transformers. 2022. ICLR】的方法。我们在序列前添加一个可学习的特殊令牌[I CLS]。最终的图像输入表示为 $H_v = [v_{[I CLS]}, v_1, \dots, v_N] + V_{pos}$,其中 $H_v \in R^{(N+1) \times D}$,V $\in R^{(P^2C) \times D}$ 是一个线性投影,而 $V_{pos} \in R^{(N+1) \times D}$ 是可学习的一维位置嵌入。
图文输入表示。为了形成图文输入表示,我们将图像和文本的输入向量连接起来,得到 $H_{vl}^0 = [H_w^0; H_v^0]$。
骨干网络。VL-MoE的密集骨干网络是一个共享的多模态Transformer,如图1所示。为了编码不同模态,我们利用了混合模态专家(MOME)Transformer【3, Vlmo: Unified vision-language pre-training with mixture-of-modalityexperts. In Advances in Neural Information Processing Systems.】、【66, Image as a foreign language: Beit pretraining for all vision and vision-language tasks. 2022. arXiv】,它接收单模态数据的图像和文本表示,以及图文对的表示作为输入。MOME Transformer由多层块组成,每个块包含一个多头自注意力层和一个前馈专家层。虽然自注意力模块在不同模态间共享,但每个前馈专家层包含一个模态特定的专家池(V-FFN、T-FFN或VL-FFN),作为标准Transformer中前馈网络的替代。这允许根据输入令牌的模态对前馈网络池进行硬路由。
使用MoE进行条件计算。条件计算的概念是根据输入选择性地激活神经网络的不同部分【4, Deep learning of representations: Looking forward. 2013. SLSP】。一种具体方法是使用专家混合(MoE)模型,其中不同的“专家”处理输入空间的不同区域【22, Adaptive mixtures of local experts. 1991. Neural computation】。本文中,我们采用【57, Outrageously large neural networks: The sparsely-gated mixture-of-experts layer. 2017. ICLR】中提出的MoE层,该层由E个专家组成,定义为 $MoE(x) = \sum_{i=1}^{E} g(x)_i e_i(x)$。这里,$x$是该层的输入,$e_i: R^D \rightarrow R^D$是专家$i$计算的函数,$g: R^D \rightarrow R^E$是“路由”函数,它决定了专家的输入依赖权重。$e_i$和$g$都作为神经网络实现。尽管这种形式仍然涉及一个密集网络,但通过限制$g$只分配$k \ll E$个非零权重,可以使其变得稀疏,从而消除了未使用专家的计算。这种方法允许模型参数在训练和推理中实现超线性扩展。
VL-MoE 设计。我们在MOME的背景下将稀疏MoE应用于视觉-语言模型。如图1所示,来自不同模态的输入在前(L-F)层被路由到V-FFN和T-FFN,在最后F层被路由到V-FFN、T-FFN或VL-FFN。为了避免在V-MOE【53, Scaling vision with sparse mixture of experts. 2021. Advances in Neural Information Processing Systems】中将MoE应用于模态无关的VL模块时因模态输入不平衡而导致的不稳定性,我们仅在前(L-F)层对V-FFN和T-FFN使用MoE。V-FFN和T-FFN有两层和一个GeLU【19, Gaussian error linear units (GELUs). 2016. arXiv】非线性激活函数:$V/T-FFN(x) = W_2 \sigma_{gelu}(W_1x)$。对于VL-MoE,我们用V-MoE和T-MoE层替换一部分V-FFN和T-FFN,其中每个专家都是一个具有相同架构 $e_i(x) = FFN_{\theta}(x)$ 但权重 $\theta_i = (W_{i1}, W_{i2})$ 不同的FFN。这种设计模式类似于GShard【33, Gshard: Scaling giant models with conditional computation and automatic sharding. 2020. arXiv】和VMOE【53, Scaling vision with sparse mixture of experts. 2021. Advances in Neural Information Processing Systems】模型。在V-MoE和T-MoE层中,每个令牌 $x \in R^D$ 由E个可用专家中的k个稀疏地处理。为了选择哪些专家,一个轻量级的V/T-Router为每个令牌预测门控权重:$g(x) = \text{softmax}(W_g x) \in R^E$,其中 $W_g \in R^{D \times E}$ 是可学习的。k个被激活的专家的输出根据门控权重进行线性组合:$MoE(x) = \sum_{e=1}^{k} g(x)_e \cdot FFN_e(x)$。
路由与稳定性。为了确保计算效率和满足实现约束,VL-MoE中的每个专家都有一个固定的缓冲区容量,这决定了它能处理的最大令牌数。其假设是令牌在专家之间大致均衡分配。如果容量被超出,一些令牌将不会被专家处理而被丢弃,导致成功率下降。这个比率是衡量路由均衡和训练稳定性的重要指标。为缓解此问题,我们采用批量优先路由(BPR)【53, Scaling vision with sparse mixture of experts. 2021. Advances in Neural Information Processing Systems】、【47, Multimodal contrastive learning with limoe: the language-image mixture of experts. 2022. arXiv】,它根据令牌的路由权重选择性地跳过令牌。BPR优先处理路由权重较大的令牌,因为它们被认为信息量更大。我们的结果表明,BPR对于VL-MoE的稳定训练至关重要。我们在第5节进一步分析了令牌路由决策,并在附录中分析了被丢弃的令牌。
图2:VL-MoE扩展对三种预训练任务——掩码语言建模(MLM)、掩码图像建模(MIM)和掩码视觉-语言建模(VLM)——在不同训练FLOPs下的影响。
图3:COCO数据集上的令牌路由决策。展示了VL-MoEBASE/32E在第6个编码器块(即网络中部)的V/T-MoE层中,视觉令牌的路由决策示例以及语言令牌路由决策的分解。
A4 实验
4.1. 实验环境
预训练数据。预训练过程同时使用了单模态和多模态数据。单模态数据包括用于图像的ImageNet-22K和用于文本的英文维基百科及BookCorpus【73, Aligning books and movies: Towards story-like visual explanations by watching movies and reading books. 2015. ICCV】。多模态数据结合了四个图文对数据集:Conceptual Captions【56, Conceptual captions: A cleaned, hypernymed, image alt-text dataset for automatic image captioning. 2018. ACL】、SBU Captions【48, Im2text: Describing images using 1 million captioned photographs. 2011. Advances in Neural Information Processing Systems】、COCO【42, Microsoft COCO: common objects in context. 2014. ECCV】和Visual Genome【30, Visual genome: Connecting language and vision using crowdsourced dense image annotations. 2017. Int. J. Comput. Vis.】,总共包含400万张图像和1000万个图文对。
预训练设置。
* 模型架构:
* Base尺寸模型:采用12层Transformer网络,隐藏层大小为768,注意力头数为12,遵循VIT【12, An image is worth 16x16 words: Transformers for image recognition at scale. 2020. arXiv】、BEiT【2, BEiT: BERT pre-training of image transformers. 2022. ICLR】和VLMO【3, Vlmo: Unified vision-language pre-training with mixture-of-modalityexperts. In Advances in Neural Information Processing Systems.】。VL-FFN从第10层开始使用。
* Small尺寸模型:8层Transformer网络,隐藏层大小为384,注意力头数为6,VL-FFN在第8层使用。
* 训练参数:
* 初始化:使用BEiT【2】中描述的方法随机初始化模型参数。
* 输入尺寸:图像分辨率为224×224,图像块大小为16×16。文本最大序列长度为128。
* 批次与步数:批次大小为6,144,从头开始训练20万步(相当于图文对的40个epoch)。每个批次包含2,048张图像、2,048段文本和2,048个图文对。
* 优化器与学习率:使用Adam优化器【27, Adam: A method for stochastic optimization. 2015. ICLR】,$\beta_1 = 0.9$,$\beta_2 = 0.999$。峰值学习率为2e-3,前10,000步使用线性预热,之后使用余弦学习率衰减。权重衰减为0.05,禁用dropout,使用随机深度(stochastic depth)【20, Deep networks with stochastic depth. 2016. ECCV】,比率为0.1。
* 数据处理:
* 图像增强:使用随机缩放裁剪、水平翻转和颜色抖动,方法同BEiT【2】。
* 文本分词:使用SentencePiece【31, SentencePiece: A simple and language independent subword tokenizer and detokenizer for neural text processing. 2018. EMNLP】分词器,词汇表大小为64k。
* 损失权重:三个预训练损失的权重相等,同BEIT-3【66, Image as a foreign language: Beit pretraining for all vision and vision-language tasks. 2022. arXiv】。
MoE设置。
* 专家配置:VL-MoEBASE/32E的默认设置为T-FFN和V-FFN分别使用E=32个专家。所有VL-MoE模型每个令牌激活k=1个专家,类似于Switch Transformer【15, Switch transformers: Scaling to trillion parameter models with simple and efficient sparsity. 2021. CoRR】和LIMoE【47, Multimodal contrastive learning with limoe: the language-image mixture of experts. 2022. arXiv】。
* MoE层替换:遵循GShard【33, Gshard: Scaling giant models with conditional computation and automatic sharding. 2020. arXiv】和Switch Transformer【15】,每隔一个密集的T-FFN或V-FFN子层替换为MoE子层。
* 稳定性与辅助损失:为保证V-MoE的稳定性,使用了BPR【53, Scaling vision with sparse mixture of experts. 2021. Advances in Neural Information Processing Systems】。辅助损失方面,T-FFN的MoE使用加载损失【57, Outrageously large neural networks: The sparsely-gated mixture-of-experts layer. 2017. ICLR】,V-FFN的MoE使用平均加载损失和重要性损失【53】。辅助损失的组合比率在所有实验中均设置为0.01。容量因子C在训练期间设为1.05,推理期间设为1,遵循【53】。
* 软硬件:预训练实验在32个Nvidia Tesla V100-32GB GPU上完成。所有模型基于DeepSpeed【52, Deepspeed: System optimizations enable training deep learning models with over 100 billion parameters. 2020. KDD】实现,并使用TUTEL【21, Tutel: Adaptive mixture-of-experts at scale. 2022. arXiv】进行快速路由和计算。在微调过程中,遵循ST-MoE【74, St-moe: Designing stable and transferable sparse expert models. 2022. arXiv】,冻结所有MoE模块(路由器和专家网络)。
4.2. 实验结果
预训练中的VL-MoE表现。图2展示了VL-MoE在三个预训练任务上的验证性能随模型规模的扩展情况。结果显示,就预训练的FLOPs而言,VL-MoE的成本-性能权衡远优于密集模型,表明从SMALL/8E到BASE/32E的所有规模下,VL-MoE都提供了显著的改进。附录中提供的墙钟时间与验证性能图也显示了类似的扩展趋势。得益于DeepSpeed【52, Deepspeed: System optimizations enable training deep learning models with over 100 billion parameters. 2020. KDD】中精细的核优化和专家并行,VL-MoEBASE/32E相对于密集模型的最大墙钟时间开销可减少到仅13%。
视觉-语言下游任务
本文通过在三个标准任务上进行微调实验,探索了VL-MoE在视觉-语言下游任务上的性能:视觉问答(VQA)【17, Making the V in VQA matter: Elevating the role of image understanding in visual question answering. 2017. CVPR】,自然语言视觉推理(NLVR2)【62, A corpus for reasoning about natural language grounded in photographs. 2019. ACL】,以及图文检索(COCO【42, Microsoft COCO: common objects in context. 2014. ECCV】,Flickr30K【50, Flickr30k entities: Collecting region-tophrase correspondences for richer image-to-sentence models. 2015. ICCV】)。
实验结果 (表1):
* 模型性能:VL-MoEBASE/32E模型总参数量为20亿,但每个输入令牌仅应用1.8亿参数。该模型在VQA、NLVR2、COCO和Flickr30K任务上均显著优于先前的base尺寸模型,特别是与在相同设置下预训练的复现版BEIT-3【66, Image as a foreign language: Beit pretraining for all vision and vision-language tasks. 2022. arXiv】相比。
* MoE的有效性:该研究首次证明,MoE架构能够在视觉-语言任务的背景下,以相对适中的架构尺寸和训练次数成功扩展,并在一系列任务上实现良好的泛化性能。
* 与大型模型对比:VL-MoE在COCO和Flickr30K任务上甚至超过了使用更多图文对数据预训练并从预训练模型初始化的VLMOLARGE和ALBEF,并在VQA和NLVR2上取得了有竞争力的性能。
* 分析与展望:作者推测,VL-MoE中未扩展VL-FFN的容量可能是性能的一个限制因素,这一点从图2的预训练图中可以看出(VLM损失在VL-MoE和密集BEIT-3模型之间的差异小于MLM和MIM损失的差异)。考虑到LIMOE【47, Multimodal contrastive learning with limoe: the language-image mixture of experts. 2022. arXiv】中展示的模态无关MoE架构中日益增加的不稳定性,作者将VL-FFN模块的扩展留作未来工作。
Table 1: 不同模型在视觉-语言分类任务和图文检索任务上的微调结果。报告了VQA test-dev和test-standard集上的vqa-score,NLVR2 development和public test集(test-P)上的准确率,以及图像检索(IR)和文本检索(TR)的top-1召回率。(*表示由我们复现并使用与VL-MoE相同设置训练的模型。)
纯视觉/纯语言下游任务
本文在纯视觉和纯语言下游任务上评估了模型性能,分别使用了图像分类(ImageNet-1K【55, Imagenet large scale visual recognition challenge. 2015. IJCV】)和自然语言推理(MNLI-m【68, A broad-coverage challenge corpus for sentence understanding through inference. 2018.】)。
实验结果 (表2):
* 图像分类:在ImageNet-1K任务上,VL-MoEBASE/32E与之前的SOTA监督和自监督模型表现相当。与密集模型BEIT-3BASE相比,VL-MoE也优于其他在更多数据和更多步数上预训练的强大视觉-语言模型。
* 自然语言推理:在MNLI-m任务上,VL-MoE优于SIMVLM等强大的视觉-语言模型。
Table 2: Base尺寸模型在图像分类(ImageNet-1K)和自然语言推理(MNLI-m)上的结果。我们报告了ImageNet和MNLI-m的top-1准确率。
4.3. 讨论与分析 (消融研究)
本文通过消融研究,从不同角度分析了VL-MoE中MoE模块的贡献,评估任务包括NLVR2、Flickr30k、ImageNet-1k和MNLI-m。
扩展策略 (表3):
* 结论:实验表明,仅扩展单一模态(纯文本或纯视觉)可以提升相应模态的下游任务性能以及整体的视觉-语言任务性能。然而,同时扩展视觉和语言模态能够得到性能最均衡的模型,平均性能达到70.6%。
* 原因分析:这可能是因为模型采用了三种针对不同模ality的预训练目标,扩展每个模态有助于更好地优化特定模态的预训练损失以及VLM损失。
Table 3: 扩展策略的消融研究(所有结果基于VL-MoESMALL/E32模型)。所有*-MoE模型使用32个专家(T表示在T-FFN上应用MoE,V表示在V-FFN上应用MoE)。
专家数量 (图5):
* 结论:关于MoE中最佳专家数量尚无定论,但本文在VL-MoE上的研究发现,更大的专家池能够持续带来性能提升。
图5:专家数量对下游任务的影响。
辅助损失的影响 (图4):
* 问题:MoE专家容量有限,若不加干预,top-k MoE容易发生“坍塌”,导致大量令牌被丢弃,性能不佳。
* 实验:本文在VL-MoESMALL/E32上实验了不同的V-MoE辅助损失:加载平衡损失【57, Outrageously large neural networks: The sparsely-gated mixture-of-experts layer. 2017. ICLR】、平均加载平衡与重要性损失("vloss")【53, Scaling vision with sparse mixture of experts. 2021. Advances in Neural Information Processing Systems】、z-loss【74, St-moe: Designing stable and transferable sparse expert models. 2022. arXiv】。
* 结论:Z-loss损害了VL-MoE的视觉-语言预训练;仅使用加载平衡损失会导致训练不稳定和模型性能不佳。而"vloss"带来了最稳定的训练,这与V-MOE【53】和LIMOE【47, Multimodal contrastive learning with limoe: the language-image mixture of experts. 2022. arXiv】的发现一致。BPR(批量优先路由)也有助于稳定训练。
图4:辅助损失对训练稳定性的影响。
VL-MoE中的令牌路由示例 (图3):
* 本文对COCO数据集上的令牌路由决策进行了定性分析。
* 视觉令牌:表现出明显的专业化,被路由到特定的专家,如食物和蔬菜专家、眼睛专家、OCR专家等。
* 语言令牌:显示出语法专业化的迹象,一些专家主要处理填充令牌,而另一些专家则专注于名词和形容词(以及一些填充),排除了介词、限定词或动词。
A5 结论
本文探索了使用专家混合(MoE)技术来扩展视觉-语言模型。实验证明,MoE是一种有前景的技术,可以提高视觉-语言模型的效率和效果。具体而言,研究表明通过MoE将大型视觉-语言模型划分为更小、更专业的子模型,可以在多个基准测试中达到最先进的性能,同时降低计算成本。实验还表明,更大的专家池能带来持续的性能提升。此外,我们探索了MoE对模型可解释性的影响,发现它可以通过提供关于模型如何处理不同输入的更好洞见来提高视觉-语言模型的可解释性。
总之,我们的研究结果表明,MoE是扩展视觉-语言模型的一项有价值的技术,使其能够处理大规模、真实的现实世界多媒体数据。我们的工作为探索MoE在其他视觉-语言任务(如视觉问答、视觉推理和图文检索)中的有效性开辟了新的研究方向,我们希望我们的发现能激励该研究领域的进一步研究。
A6 附录
A.1. 进一步分析
“被丢弃”的令牌。在MoE训练中,“被丢弃的令牌”问题是固有的【33, 57, 47, 53, 72】,由每个MoE专家的有限容量引起,可能导致不稳定性。为对此问题进行详细分析,我们展示了图6,该图说明了在不同预训练任务中,VL-MoEBASE/32E中被丢弃令牌的分布。图中显示,与VLM任务相比,MLM和MIM任务表现出更均衡的令牌分布,这可能解释了在图2中所示的,使用MoE在前两个预训练任务中性能提升更明显的原因。此外,被丢弃的图像令牌问题比被丢弃的文本令牌问题更严重,这与第5节中不同扩展策略的结果以及【47, 53】中的发现一致。
图6:VL-MoEBASE/32E在掩码语言建模(MLM)、掩码图像建模(MIM)和掩码视觉-语言建模(VLM)三个预训练任务中的“被丢弃”令牌分析。虚线上方表示超出专家容量将被丢弃的令牌比例。
不同缩放策略的预训练损失。我们在图7中额外报告了第5节中不同缩放策略对VL-MoESMALL/32E在三个预训练任务(MLM、MIM、VLM)中随训练步数变化的预训练损失的影响。结果支持了我们的假设,即为每个模态使用三个不同的预训练目标,并对每个模态进行缩放,可以改善特定模态预训练损失和VLM损失的优化。
图7:第5节中不同缩放策略对VL-MoESMALL/32E在掩码语言建模(MLM)、掩码图像建模(MIM)和掩码视觉-语言建模(VLM)三个预训练任务中随训练步数变化的预训练损失的影响。
与LIMOE的比较。在LIMOE【47, Multimodal contrastive learning with limoe: the language-image mixture of experts. 2022. arXiv】中,单模态MoE架构和所采用的对比损失是两个主要构建模块。为了在我们的设置下直接比较多模态LIMOE的这两个组件,我们深入实验了优化单模态MoE架构或使用对比损失或掩码数据建模(MDM)损失的VL-MoE。然而,我们发现使用MDM损失优化LIMOE架构时模型无法收敛,这可能是因为MDM损失包含三个针对不同模态的损失,这可能加剧模态不平衡问题,使得即使配备了【47】中的熵平衡损失也难以优化MoE。因此,我们专注于使用对比损失优化VL-MoE和LIMOE,因为它产生了更稳定的结果。然而,需要注意的是,LIMOE使用了18亿图文对,而我们的设置只有400万。我们在图8中报告了使用对比损失优化VL-MoE或LIMOE时,训练和验证损失随训练步数的变化。批次大小设置为2k。可以看出,两个模型都很快在400万图文对上过拟合,但LIMOE中的单模态MoE架构继承了更多不稳定性。
图8:在对比预训练任务中,Dense、VL-MoE和LIMOE随训练步数的比较。
A.2. 超参数
视觉问答 (VQA)。我们对base尺寸模型进行10个epoch的微调,批次大小为128。峰值学习率为3e-5。遵循VLMO【3, Vlmo: Unified vision-language pre-training with mixture-of-modalityexperts. In Advances in Neural Information Processing Systems.】,输入图像分辨率为480×480。
自然语言视觉推理 (NLVR2)。对于表1的结果,base尺寸模型微调10个epoch,批次大小为128。base尺寸模型的峰值学习率设为5e-5。输入图像分辨率为384×384。对于消融实验,我们微调模型10个epoch,批次大小为128,学习率从{5e-5, 1e-4}中选择。输入图像分辨率为224×224。所有NLVR2的消融实验结果均为3次运行的平均值。
COCO。我们对base尺寸模型进行20个epoch的微调,批次大小为2048。峰值学习率为2e-5,输入图像分辨率为384×384。
Flickr30K。对于表1的结果,base尺寸模型微调40个epoch,批次大小为2048,峰值学习率为1e-5。我们使用在COCO上微调过的模型作为初始化。输入图像分辨率为384×384。对于所有消融实验,我们微调模型10个epoch,批次大小为1024。峰值学习率设为5e-5,输入图像分辨率为224×224。
ImageNet-1k。我们仅使用V-MoE和V-FFN对base尺寸的VL-MoE进行15个epoch的微调,批次大小为2048。峰值学习率为3e-5,输入图像分辨率为384×384。
MNLI。我们仅使用T-MoE和T-FFN对base尺寸的VL-MoE进行10个epoch的微调,批次大小为32。峰值学习率为3e-5。
A.3. 辅助损失公式
给定一个令牌 $x \in R^D$,我们用 $g(x) = \text{softmax}(W x) \in R^E$ 表示E个专家的门控权重,其中 $W \in R^{E \times D}$ 是路由参数。当我们处理一批多个令牌 $\{x_i\}_{i=1}^n$ 时,我们使用符号 $X \in R^{n \times D}$。
重要性损失 (Importance loss)。我们遵循【53, 47】中的定义。重要性损失 $\Omega_{imp}$ 确保门控权重在专家之间均匀分布,维持一个平衡的分配。对于任何专家 $e \in \{1, \dots, E\}$,我们有:
损失 $\Omega_{imp}$ 通过 $imp(X) = \{imp_e(X)\}_{e=1}^E$ 的平方变异系数来定义:
负载损失 (Load loss)。同样,我们遵循【53】。我们假设通过对路由函数加噪声来获得门控权重 $g_{noisy}(x)$,即 $g_{noisy}(x) = \text{softmax}(W x + \epsilon)$,其中 $\epsilon \sim N(0, \sigma^2I)$ 且 $\sigma = 1/E$。我们用 $\eta_k$ 表示 $W x + \epsilon$ 的第k个最大值。重要性损失 $\Omega_{imp}$ 旨在通过关注选择专家的可能性来平衡专家的选择概率,因为向专家分配任务是一个离散过程。负载损失 $\Omega_{load}$ 对此进行补充,力求均衡专家间的任务分配数量。为计算选择概率,假设即使只重新采样噪声,专家 $e \in \{1, \dots, E\}$ 也属于top-k之内:
其中$\Phi$是高斯分布的累积分布函数。负载损失$\Omega_{load}$最终定义为:
Z-损失 (Z-loss)。【74】中引入的z-损失 $\Omega_{zloss}$ 旨在控制路由器激活值 $A = \{W x_i\}_{i=1}^n \in R^{n \times E}$ 的最大幅度,其中条目为 $a_{i,e} = (W x_i)_e$。该损失定义为:
v-损失 (v-loss)。我们在第5节中使用的“v-loss”符号,本质上是V-MOE【53, Scaling vision with sparse mixture of experts. 2021. Advances in Neural Information Processing Systems】中最终采用的损失,其中 $\Omega_{vloss}(X) = 0.5 \cdot \Omega_{imp}(X) + 0.5 \cdot \Omega_{load}(X)$。
💬 评论讨论
欢迎在这里分享您的想法和见解!