我们今天来看哈工大的一篇有关多模态MoE的文章,看Latex格式似乎是TPAMI。

目前多模态大模型的核心驱动是Text+Audio、Speech、Image、Vedio紧紧环绕在Text周围。包括了Model的构建和Dataset的制作。

废话不多说,Uni-MoE主要是介绍了一种训练多模态MoE模型的Model架构、训练策略以及数据集。

Uni-MoE的训练阶段分为3步:

  • 1 跨模态对齐阶段
  • 2 训练特定模态的专家模型
  • 3 微调联合多模态专家模型

1 训练阶段

1.1 跨模态对齐阶段

跨模态对齐Uni-MoE给出的解决方案是针对Audio、Speech、Image和Vedio与Text之间分别训练一个Connector对齐模块。

  • 1 Audio – Text Connector -> Audio-QFormer
  • 2 Speech – Text Connector -> Speech-QFormer
  • 3 Image+Vedio – Text Connector -> IV-QFormer
1.1.1 模态编码

不同模态的编码器:

  • 1 Image使用CLIP的图像编码器;
  • 2 Vedio抽取视频中8个关键帧分别使用CLIP图像编码器编码后MEAN;
  • 3 Audio使用BEATs;
  • 4 Speech使用Whisper;
  • 5 Text使用大模型Embedding层;
1.1.2 Audio-QFormer

X_Q^A是QFormer模型专用的Learnable query vector,Audio输入A经过BEATs模型编码后,经过Slef-Attention模块和CrossAttention模块(两个模块都是Post-Norm)。

1.2 训练特定模态的专家模型

这一阶段的重点是通过对特定跨模态数据进行专门训练,培养单一模态专家。目标是提高每个专家在各自领域内的熟练程度,从而提高MoE系统在不同多模式数据上的整体性能。

具体而言,冻结LLM的Self-Attention相关MLP,LoRA训练FFN。

1.3 微调联合多模态专家模型

第三阶段使用LoRA微调整个LLM。

  • 1 将第2阶段经过专业调整的权重整合到MoE层中
  • 2 混合多模式教学数据对MLLM进行联合微调
1.3.1 Uni-MoE架构细节

1.3.2 具体Uni-MoE的Expert细节

由图可以看到第二阶段的特定训练的FFN如何叠到第三阶段的多个Expert。

  • 1 第一对齐阶段:只进行Audio-QFormer和Speech-QFormer的对齐(Vison-QFormer不需要对齐了,直接使用LLaVA等模型的即可)。
  • 2 第二特定训练阶段:进行8个FFN的特定训练,主要使用LoRA微调Speech和Audio模块(第二阶段的基础模型使用的是第一阶段对齐后的)。
  • 3 第三MoE阶段,由于第二特定训练阶段存在最多8个Expert,故MoE最大8个Expert
1.3.3 Uni-MoE三阶段的性能

由图可以看出几个结论:

  • 1 单Expert的loss最不稳定。
  • 2 蓝色的MoE-Task(4-2)表示使用4个Expert,topk为2的loss最低且最稳定。
  • 3 红色的MoE-Task(4-2)+AuxLoss的loss没有MoE-Task(4-2)稳定。

2 多模态数据集

多模态大模型的训练数据集至少也得两个模态,即Text+。

2.1 训练数据集

2.1.1 Speech
  • Specch recognition : Common Voice
  • Long Speech : base LibriSpeech
  • Tri Modal : base LLaVA-Instruct-150K
2.1.2 Audio
  • Long Audio : base RACE
  • Audio Caption : WavCaps
  • Audio QA : Clotho, ClothoQA
  • Audio emotion recognition : MELD
2.1.3 Vedio
  • Visual comprehension : Vedio-Instruct-Dataset

2.2 测评数据集

2.2.1 Speech
  • Short Speech : A-OKVQA , OKVQA and VQAv2
  • Long Speech : MMBench-Audio, RACE-Audio
  • Speech Recognition : EHSL

2.2.2 Audio
  • Audio Understanding : Clotho V1/2 and ClothoAQA

2.2.3 Vedio
  • Vedio Comprehension : ActivityNet-QA [66] and MSVD-QA