【LLM】 CuMo: 使用协同再利用的混合专家模型来扩展多模态大型语言模型 精华

发布于 2024-5-23 17:52
浏览
0收藏

【LLM】 CuMo: 使用协同再利用的混合专家模型来扩展多模态大型语言模型-AI.x社区

一、结论写在前面

近期,多模态大型语言模型(LLMs)的发展主要集中在通过增加文本-图像配对数据和增强LLMs来提高多模态任务的性能。然而,这些扩展方法计算成本高昂,且忽视了从视觉方面有效提升模型能力的重要性。受到混合专家(MoE)在LLMs中成功应用的启发,该技术在训练过程中提高了模型的可扩展性,同时保持推理成本与小型模型相似,论文将稀疏混合专家设计引入了多模态大型语言模型。

具体而言,论文用Top-K稀疏MoE块替换了MLP连接器和视觉编码器中的每个MLP块。为了增强训练稳定性,论文采用了三阶段训练方法,在视觉指令调优阶段引入了再利用的MoE块,以及辅助bzloss来维持专家的均衡加载。所有CuMo模型都在完全开源的数据集和基准测试上进行训练和评估。通过广泛的实验和消融研究,论文验证了每个模块中再利用的MoE块的有效性。CuMo在多个竞争基准测试中超过了同等模型大小组别内的最新模型。 

CuMo的代码和模型权重已在​​https://github.com/SHI-Labs/CuMo​​上开源。

二、论文的简单介绍

2.1 论文的背景

最近的多模态LLMs 通常将预训练的视觉编码器和LLMs与视觉指令调整数据集成,以微调预训练的LLMs,增强其视觉理解能力。为了进一步扩展多模态LLMs,以往的努力主要集中在使用更广泛的文本-图像配对数据集训练模型,并采用更强大的LLMs,显著增加了训练工作量。在视觉方面,最近的工作集中在利用多个视觉编码器来丰富视觉内容,采用更大的视觉编码器,并使用先进的视觉-语言连接器来提高多模态任务的性能。然而,这些技术导致了额外的参数数量增加,并为LLMs处理生成了额外的视觉token,使得扩展变得低效。 

【LLM】 CuMo: 使用协同再利用的混合专家模型来扩展多模态大型语言模型-AI.x社区

在高效扩展模型方面,混合专家(MoE)已成为现代大规模神经网络,特别是在自然语言处理(NLP)中的事实标准框架。大多数大型语言模型(LLM)都是基于transformer 架构,其中稀疏MoE被用来替换密集MLP块,采用Top-K稀疏门控MoE块。最近,最先进的开源和私有LLMs主要采用了稀疏MoE架构。这些模型在训练过程中通过MoE设计进行扩展,同时保持相对较低的推理成本,因为只有选定的MLP专家在向前传播过程中被激活。然而,MoE模型的开发和优化主要针对LLMs,而使用MoE扩展多模态LLMs,特别是在视觉方面的探索,仍然很大程度上未被探索。 

受这些观察的启发,论文引入了CuMo,它将Top-K稀疏门控MoE块融入多模态LLMs的视觉编码器和MLP连接器中,如图2所示。论文还探索了CuMo相关的训练配方和方法。首先,论文预训练MLP连接器,并在不引入MoE架构的情况下进行预微调,以稳定后续的视觉指令调整阶段,该阶段引入了新的稀疏MoE块。然后,论文通过协同升级,将MLP连接器和视觉编码器中的每个MLP块替换为稀疏MoE块。稀疏MoE块中的每个专家都从预训练和预微调阶段的相应MLP块初始化。此外,每个MoE块包含一个从头开始训练的Top-K路由器,在视觉指令调整阶段选择专家,路由器上的辅助损失用于维持专家负载的平衡。论文进一步比较了协同升级的LLMs和预训练的MoE基LLMs。


2.2 论文的方法

【LLM】 CuMo: 使用协同再利用的混合专家模型来扩展多模态大型语言模型-AI.x社区

 

【LLM】 CuMo: 使用协同再利用的混合专家模型来扩展多模态大型语言模型-AI.x社区

2.2.1. 回顾稀疏MoE

稀疏MoE结构:以前的主流实践[60]是替换密集MLP块与稀疏门控专家混合块。为了通过并行多个MLP块扩展模型,稀疏MoE块包括一个路由网络来从S个总专家中选择Top-K专家。这个路由网络有一个线性层来根据输入计算归一化权重矩阵以进行投票。对于每个token,根据选择前K个专家,并使用下式计算重新归一化的权重 。每个选择的专家都由一个多层感知器(MLP)块表示,最终的输出是通过对这些专家的加权求和获得的。

从头开始训练基于MoE的设计可能不稳定且成本高昂。稀疏再利用[33]通过从预训练的密集检查点中对应的MLP块初始化每个MoE块中的专家,来解决这一挑战。这种初始化方式为训练基于MoE的模型提供了一个更好的起点,并且与从头训练相比降低了训练成本。

【LLM】 CuMo: 使用协同再利用的混合专家模型来扩展多模态大型语言模型-AI.x社区

 

图4. CuMo的训练阶段。第一阶段涉及预训练MLP以获得更好的对齐。随后,预微调阶段训练所有参数作为下一阶段的预热。最后,每个MoE块内的MLP专家从相应MLP块的权重初始化,随后在视觉指令调优阶段训练所有参数

2.2.2. CuMo架构

MLP连接器中的稀疏MoE: MLP连接器将视觉token转换为单词嵌入空间,对齐视觉和文本token之间的维度。视觉语言连接器的有效架构是一个包含两个线性层的MLP块。论文从单个MLP块开始,将其替换为Top-K稀疏MoE块,结合Top-K路由器和一组专家将视觉token投影到单词嵌入空间。

视觉编码器中的稀疏MoE: 视觉编码器提取图像特征作为视觉token序列,用于在LLMs中进行推理。CLIP是多模态LLM最流行的预训练视觉编码器之一,因为它在大规模图像-文本对上进行了预训练,适合处理多模态用途的图像。CLIP的视觉编码部分是一个ViT模型,其转换器编码器中有连续的MLP块。论文将每个MLP块替换为Top-K稀疏MoE块,保留MoE块输出的跳跃连接。

LLM中的稀疏MoE: 在使用MoE的LLM方面,论文将共升级的LLM与预训练的基于MoE的LLM进行比较。论文从Mistral-7B开始,升级的Mistral-7B-MoE在某些基准测试中略微优于Mistral-7B。然而,考虑到从Mistral-7B升级的专家的知识库有限,论文将其与具有多样化知识库预训练专家的预训练Mixtral 8x7B进行比较。实验结果表明,预训练的Mixtral 8x7B显著优于Mistral-7B-MoE。因此,LLM没有与CLIP和MLP连接器共升级,因为它带来了边际改进,但参数增加了很多。

2.2.3. 训练配方

共升级MoE块:论文从从头开始训练添加的MoE块开始,而模型在收敛方面遇到困难。尝试通过降低学习率来解决这个问题,但结果比基线更差。因此,论文采用共升级方法,将每个集成稀疏门控MoE块的模块初始化为预训练的MLP,以替换相应的MLP块,如图3所示。

三阶段训练:为了进一步增强训练稳定性,论文为CuMo模型采用了一种三阶段训练策略,如图4所示。在第一阶段,论文只预训练MLP连接器,因为视觉编码器和LLM已经在大型数据上进行了预训练。在第二阶段预微调期间,论文使用高质量的标题数据训练所有参数,以在引入MoE块的后续阶段之前预热整个模型。第三阶段涉及视觉指令微调,其中多模态LLM通过升级的MoE块进行扩展,并在视觉指令微调数据上进行训练。 

【LLM】 CuMo: 使用协同再利用的混合专家模型来扩展多模态大型语言模型-AI.x社区

*表1. CuMo与其他最先进的多模态LLM在竞争基准上的比较。这些模型根据基础LLM的大小分组。由于空间有限,基准测试是双行的:SQA-IMG [50];TextVQA [62];GQA [24];POPE [40];MME [19];MMBench [49];MMVet [71];VQAv2 [21];LLaVA-Wild [47];SEED-IMG [37];MMMU [72];MathVista [51]。                
激活参数。数字†是通过查询GPT API的三次推理运行平均得到的*

损失函数:为了在每个MoE块中保持专家之间的负载平衡,论文采用了基于语言建模交叉熵损失的辅助损失。辅助损失包括加载平衡损失和路由器z损失[77]。

2.3 论文的效果

论文在一个混合的开源数据集上训练CuMo模型,这些数据集被转换为视觉指令调整格式。然后,论文在各种竞争性的VQA基础和指令遵循基础的基准上对CuMo模型的性能进行全面评估。此外,论文对每个模块进行消融研究,使用升级的MoE块,并对结果进行定性分析。 

2.3.1. 实现细节

训练数据集 在预训练期间,论文仅使用LLaVA-558K [47]来训练MLP连接器,以获得更好的对齐。在随后的预微调阶段,使用来自ALLaVA 的详细的图像标题数据来预热多模态LLM的所有参数。对于最终的视觉指令调整阶段,使用包括LLaVA-665K 、ShareGPT4V 、LAION-GPT-V 、DocVQA 、ChartQA 、AI2D 、InfoVQA 、SynDog-EN 、ALLaVA和LIMA在内的混合数据集来训练带有升级MoE块的CuMo模型。视觉指令调整的总数据大小约为165万,所有训练数据都是公开可访问的。

【LLM】 CuMo: 使用协同再利用的混合专家模型来扩展多模态大型语言模型-AI.x社区

表2. CuMo Mistral-7B与其他具有有限训练数据的多模态LMM模型的比较

【LLM】 CuMo: 使用协同再利用的混合专家模型来扩展多模态大型语言模型-AI.x社区

表3. 对MLP-MoE模块的消融研究。每一行代表一个不同的配置,使用⇌和+符号token更改或添加。在表1中为MLP-MoE模块采用的设置以浅蓝色背景突出显示 

【LLM】 CuMo: 使用协同再利用的混合专家模型来扩展多模态大型语言模型-AI.x社区

表4. 对CLIP-MoE模块的消融研究。所有CLIP中的MoE块都使用升级进行初始化

【LLM】 CuMo: 使用协同再利用的混合专家模型来扩展多模态大型语言模型-AI.x社区

表5. 对LLM-MoE模块的消融研究。Mixtral 8×7B在很大程度上优于升级的Mistral MoE模型。

评估基准:CuMo模型的评估主要集中在学术VQA基础数据集,如VQAv2 、GQA 、Science-QA 和TextVQA ,以及指令遵循基础的LMM基准,包括POPE 、MME 、MM-Bench 、SEED-Bench 、LLaVA-Wild和MM-Vet。此外,还评估了具有挑战性的MMMU [72]和MathVista [51]数据集,以评估多模态LLM的视觉推理能力。

训练设置:论文采用预训练的CLIP ViT-L 作为视觉编码器,一个两层MLP作为视觉-语言连接器,以及Mistral-7B 作为LLM,以遵循LLaVA v1.5 建立基线模型。论文仅使用LLaVA-558K作为预训练数据,使用LLaVA-665K 作为视觉指令调整数据来训练基线模型,并进行消融研究以进行比较。学习率设置为1e-3用于预训练MLP连接器,并降低到2e-5用于MLP连接器和CLIP的视觉指令调整。为了在扩展额外数据后进一步稳定视觉指令调整过程,最终结果中CuMo模型的所有参数的学习率降低到2e-6。 

评估设置:在评估过程中,论文遵循LLaVA系列中概述的设置,为所有基准测试采用贪婪解码策略。                
数据和问题被转换成视觉指令,以提示多模态大型语言模型(LLMs)。对于使用GPT API进行评估的基准测试,论文为LLaVA-Wild采用gpt-4-0613,为MathVista[51]采用gpt-3.5-turbo。

2.3.2. 主要结果

与最先进的(SoTA)多模态LLMs的比较:在表1中,论文展示了CuMo模型与其他基于指令跟随的最先进多模态LLMs的比较。论文根据基础LLMs的大小对模型进行分类,包括7B模型、13B模型和7B MoE模型。CuMo Mistral-7B在多个基准测试中超越了其他基于7B的最先进多模态LLMs。此外,CuMo Mistral-7B模型的性能与许多基于13B的多模态LLMs相当。在Mixtral-8×7B模型的情况下,CuMo实现了与SPHINX-MoE、MM1和Mini-Gemini相当的结果。由于许可限制,论文没有在论文的实验中使用基于LLaMA的LLMs。

在有限训练数据下的比较:为了进一步评估共同升级的MoE块的有效性,论文在表2中展示了在有限训练数据下训练的纯CuMo mistral-7B。结果显示,CuMo在相同的训练数据下超越了其他7B模型,并达到了与LLaVA-v1.5 Vicuna-13B相当的性能。

2.3.3. 消融研究

将MLP连接器升级为MLP-MoE:论文通过将MLP连接器替换为升级的MLP-MoE来开始消融研究,如表3所示。论文从一个Top 2-in-4路由器开始,并从头开始训练MoE块,这导致在所有基准测试上的性能明显下降。然后,论文采用升级策略来初始化MLP专家。论文观察到相对于基线有边际改进,考虑到每个专家只包含两个线性层。随后,将bzloss纳入以确保MLP-MoE中专家的平衡加载,在MMVet上产生了明显的改进。然而,使用带有升级和bzloss的Top 2-in-8路由器导致性能略有下降,可能是由于训练强大的、平衡的八个专家所需的视觉指令调整数据有限。

增强CLIP与CLIP-MoE:在表4中,最初基于MLP-MoE解冻CLIP在TextVQA和MMVet基准测试上导致了明显的改进。然而,从头开始训练添加的Top2-in-4 MoE块在CLIP中被证明是不成功的,因为即使使用降低的学习率,模型也无法收敛。因此,在视觉指令调整阶段采用升级的MoE块在TextVQA、MMVet和SEED基准测试上产生了进一步的改进。 

升级LLM与预训练LLM-MoE:在视觉部分替换所有MLP块为稀疏门控MoE块后,论文进一步研究了LLM中MoE架构的使用。从Mistral-7B模型开始,论文首先将学习率降低到2e-6以设置基线和随后的实验,因为2e-5的学习率会导致训练不稳定。然后,论文将每个MLP块与一个稀疏门控MoE块升级,每个专家的权重从预训练的MLP块初始化。如表5所示,升级的Mistral-4×7B和8×7B在除了TextVQA之外略微超越了Mistral-7B模型。然而,考虑到升级的专家显著增加了参数而没有引入新知识,论文将升级的Mistral 8×7B替换为Mixtral 8×7B[30]。在Mixtral 8×7B中,所有专家层都在大规模语言数据上预训练,提供了比升级更优越的初始化。结果表明,CuMo Mixtral-8x7B显著超越了其升级的对应物,并在最终模型中使用bzloss来维持专家的平衡加载。

 

【LLM】 CuMo: 使用协同再利用的混合专家模型来扩展多模态大型语言模型-AI.x社区

 

【LLM】 CuMo: 使用协同再利用的混合专家模型来扩展多模态大型语言模型-AI.x社区

多分辨率视觉特征:将多分辨率输入纳入对于增强多模态LLMs对图像内容的理解至关重要。遵循S2[61]中概述的方法,论文将多分辨率输入引入到CLIP中,并在通道上连接特征图,以保持与低分辨率输入一致的总视觉token数。如表6所示,3×和1×的经验组合产生了最佳性能,论文为最终的CuMo模型采用了这种配置。

预微调阶段:之前的消融研究直接在MLP连接器预训练后进行,导致在视觉指令调优期间观察到训练不稳定性。为了解决这个问题,论文引入了一个利用高质量图像描述数据的预微调阶段,在这个阶段所有参数都被解冻。在表7中,论文利用ALLaVA数据集进行这个阶段的训练。结果表明,ALLaVA数据证明是一个更好的选择,它提供的描述数据虽然更少但质量更高,最终导致性能的提升。

                 

【LLM】 CuMo: 使用协同再利用的混合专家模型来扩展多模态大型语言模型-AI.x社区

图6. 用户与多模态LLMs在挑战性图像上的对话。论文强调了多模态LLMs回答中的正确答案和幻觉 

2.3.4. 定性分析

【LLM】 CuMo: 使用协同再利用的混合专家模型来扩展多模态大型语言模型-AI.x社区

专家分布: 如图5所示,论文可视化了CLIP-MoE中选定层的MoE块中的专家分布。分析的数据集是MME基准测试集。分布显示,在推理过程中选择的专家均匀分布在各层,进一步证明了辅助损失在维持负载平衡方面的有效性。

对话比较: 在图6中,论文对比了CuMo-Mistral-7B、LLaVA-Yi-34B和MiniGemini-Yi-34B的响应。它展示了CuMo-Mistral7B能够有效地执行指令,并且主要能对源自复杂场景的具有挑战性的问题给出正确答复。然而,CuMo也展现了一些产生幻觉的情况,比如回答"2个人站在桌子上",这凸显了需要进一步研究来减少CuMo中的幻觉。


论文标题:CuMo: Scaling Multimodal LLM with Co-Upcycled Mixture-of-Experts

论文链接:​​​https://arxiv.org/pdf/2405.05949​​ 

本文转载自 AI帝国​,作者: 无影寺

收藏
回复
举报
回复
相关推荐