迈向多图长序列理解,阿里开源多模态大模型 mPLUG-Owl3

关注公众号,发现CV技术之美

b2376ac4e1ad8395d97e88b97ae141cb.png

多模态多轮对话场景
7f4e7b9d60000d059ebfd24c94f69622.png
长视频理解场景

阿里的mPLUG系列在多模态大模型领域产出了多项研究工作。从mPLUG-Owl初代模型引入了视觉对齐-语言模型微调的训练模式,到mPLUG-Owl2通过模块化的模态自适应解决模态拉扯,再到mPLUG-DocOwl通过切图建模高分辨率。这一系列模型一直在探索更为高效有效的多模态大语言模型。

尽管近年包括mPLUG-Owl在内的主流多模态大模型在多种单图任务上取得了一系列进展,当前对于多模态大模型来说,多图长序列输入仍然是一个极具挑战性的场景。如图1、2所示的多模态多轮对话、长视频理解等实际应用,就对模型的多图长序列理解能力提出了很高的要求。

现有的支持多图输入的工作,主要存在两个方面的缺陷:LLaVA-Next-Interleave等工作直接将视觉特征与文本序列拼接,在多图长序列输入时会带来很高的推理成本;Flamingo等使用的cross-attention结构,虽然降低了计算成本,但造成了细粒度视觉信息的损失,限制了其在单图和多图场景的性能。

针对上述问题,阿里通义实验室的研究人员提出通用多模态大模型mPLUG-Owl3,该模型能够在支持多图长序列输入的同时,兼顾性能和效率。为实现这一点,作者提出轻量级的hyper attention模块,实现视觉和语言信息的高效自适应融合。与相似参数规模的模型相比,mPLUG-Owl3在单图、多图、视频等多达14个benchmark上表现出SOTA性能。

  • paper: https://arxiv.org/pdf/2408.04840

  • code: https://github.com/X-PLUG/mPLUG-Owl/

  • HF: https://huggingface.co/spaces/mPLUG/mPLUG-Owl3

  • 魔搭:https://modelscope.cn/studios/iic/mPLUG-Owl3


模型结构


mPLUG-Owl3模型的主体结构由视觉编码器SigLIP-400M、语言模型Qwen2和线性连接层组成。视觉编码器提取图像特征后,经线性层映射到与语言模型相同的维度。

作者在文本序列中使用了<|image|>作为图像标记位,并通过self-attention和cross-attention并行建模的方式将视觉特征融合到文本特征中。

与Flamingo、EVLM等工作在语言模型的每一层插入cross-attention层的做法不同,mPLUG-Owl3仅将网络的少数层拓展为提出的Hyper Attention Transformer Block (HATB),从而避免了增加大量参数和计算。

bb2a725b2b951db07fb18501dd18d235.png
模型结构

HATB模块


如下图(a)所示,Flamingo、IDEFICS等工作采用的cross-attention结构存在以下几点缺陷:(1) 增加大量参数和计算开销;(2) 视觉输入的理解无法受益于语言模型学习到的知识;(3) 未充分考虑图像在输入序列中的位置,限制其在多图场景的性能。

相比之下,作者提出的Hyper Attention Transformer Block (HATB)模块,通过共享LayerNorm、设置模态专属的Key-Value映射、自适应门控等设计,使得文本间的self-attention和跨模态的cross-attention能够高效地并行建模和自适应融合。

c8faef542380b8a9993f30b2083ae7fd.png
HATB模块

具体设计上,如图(b)所示,视觉特征与文本特征首先经过一个共享的LN层。作者在实验中发现,相比为视觉输入单独训练一个LN模块,视觉-语言共享同一个LN表现出更好的收敛性。经过LN层后,继承了mPLUG-Owl2的经验,其为视觉输入设置专属的Key-Value映射,而与文本输入共享相同的Query映射,从而在保留视觉模态特性的同时,使得语言模型能够基于文本语义自适应地获取需要的视觉信息。

在完成文本间self-attention和跨模态cross-attention的并行建模后,作者设计自适应门控机制,通过计算文本特征经线性映射后的激活值获得门控值,实现文本和视觉信息的自适应融合。

此外,作者在进行attention建模之前,引入了多模态交错的旋转位置编码MI-Rope来保留图文的位置信息。由于在文本序列中使用了<|image|>作为图像标记位,对于第n幅图片,其所有patch特征共享对应的标记位的位置编码,从而确保了位置编码不仅能反映图片的顺序,也能反映其在文本序列中的位置。


模型训练


在模型训练上,mPLUG-Owl3采用了三阶段的训练方式:

  1. 第一阶段的预训练中,作者从公开数据中收集和采样了约40M图文对用于跨模态对齐,并更新新引入的模块参数,即线性连接层、视觉KV映射以及动态门控模块的参数。

  2. 第二阶段多图预训练,为增强模型的多图理解能力,作者收集了交错图文、富文本图片和视频这三类数据,并对线性连接层和大语言模型的参数进行更新。

  3. 第三阶段指令微调,使用单图、多图、视频等不同类型的混合数据进行指令微调,训练设置与第二阶段保持一致。三个阶段使用的训练数据及比例如下表所示。

4f5b80b071884043227a5d72ba7400d9.png
训练数据

实验结果


227adf6f156b15e6de9c2a47bd50d553.png
多图Benchmark评估结果
f04d4d92b9702053dc3d013894993887.png
(多图) MIBench评估结果

作者首先在多个多图benchmark上评估了mPLUG-Owl3的性能。实验结果显示,在NLVR2、Mantis-Eval等多图数据集上,mPLUG-Owl3取得了SOTA性能,领先于Idefics2、Mantis、LLaVA-Interleave等多图模型。

在近期开源的大规模多图评测数据集MIBench上,mPLUG-Owl3也在涵盖多图指令和多模态外部知识等场景的多个任务中取得了大幅领先现有开源模型的效果。

0100aed65f7b48973f4fc44adac47b38.png
视频数据集评估结果

在MVBench、VideoMME等视频多模态权威benchmark上,mPLUG-Owl3也取得了优于现有多图及视频多模态大模型的性能,体现出模型出色的视频理解能力。

540ba883c7be0fcf1e9caa6848424694.png
VQA数据集评估结果
3c3fb5e47a99c152189023e83767acab.png
(单图)多模态Benchmark评估结果

此外,作者也在多个流行的VQA数据集以及单图输入的多模态benchmark上评估了mPLUG-Owl3的性能。可以看到,尽管mPLUG-Owl3是针对多图长序列设计的,其在单图场景同样具备十分出色的表现。

与相近参数规模的多模态大模型相比,在多个数据集上取得了SOTA效果,甚至在部分数据集上领先于更大参数规模的CogVLM、EVLM等模型。

943ff3db8e70a370249e1e464ce9034d.png
超长多图序列评估结果
b3861b53cfd71a9b11c507163ba5f766.png
推理效率对比

除了常规的单图、多图和视频理解,作者还利用MMBench验证集数据构造了一个名为Distractor Resistance的新任务,将原始query图片混入多张图片组成的超长序列中,以评估模型面对多图长序列中大量干扰图像时的鲁棒性。

实验结果显示,现有Mantis、LLaVA-Interleave等多图模型的性能均随着序列长度的增加而急剧衰减,而mPLUG-Owl3则在输入多达数百张图像时仍能保持较高的性能。此外,得益于HATB模块的高效设计,mPLUG-Owl3在取得更优性能的同时,兼顾了更高的推理效率。

样例展示

a1a08357f5a46d5f88793c6b349da256.png
样例1
b8871b07fdc381dae80c5b2ea90990cf.png
样例2

上图对比了mPLUG-Owl3和LLaVA-Interleave模型在超长视频理解场景中的表现,对于输入指令,mPLUG-Owl3能够从长达40余分钟的视频中捕捉到关键信息,并给出正确的回答。相比之下,LLaVA-Interleave模型则未能很好地把握细节信息。

最新 AI 进展报道
请联系:amos@52cv.net

1820fc6c8488912b4053c17f6b4ba9ec.jpeg

END

欢迎加入「大模型交流群👇备注:LLM

f9e3fd403f6732725f56e1a3efebdf6a.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值