mPLUG-Owl3:高效统一长视频与多图理解的多模态大模型

mPLUG-Owl3在多图和长视频理解方面取得突破,推理速度快,精度高,并在多个数据集上达到SOTA,尤其擅长处理长序列。

原文标题:ICLR'25 | mPLUG-Owl3: 统一长视频与多图的高效多模态长序列大模型

原文作者:数据派THU

冷月清谈:

阿里巴巴通义实验室推出了mPLUG-Owl3,一款专为理解多图和长视频设计的多模态大模型。该模型显著提升了推理效率,First Token Latency缩小了6倍,单A100可处理的图像数量提升至400张,能在4秒内“看完”一部2小时电影。mPLUG-Owl3的关键在于其轻量化的Hyper Attention模块,它允许视觉信息在不占用语言模型序列容量的情况下融入,通过稀疏地扩展Transformer Block实现图文特征交互和文本建模。实验结果表明,mPLUG-Owl3在单图、多图和长视频理解任务中均取得了SOTA效果,尤其在长视觉序列的抗干扰能力方面表现出色,尽管仍有提升空间。该模型通过多模态检索增强、多图推理和长视频理解等功能,为下游研发人员提供了友好的开发和调试环境。

怜星夜思:

1、mPLUG-Owl3通过Hyper Attention模块实现了高效的多模态融合,但这种方式是否会牺牲模型对图像细节的捕捉能力?未来是否可以考虑其他更精细的融合策略?
2、论文中提到mPLUG-Owl3在长视觉序列中表现出较强的抗干扰能力,但准确率仍有提升空间。除了优化模型结构,是否可以考虑从数据层面入手,例如通过更有效的数据增强或清洗方法来提升模型的鲁棒性?
3、mPLUG-Owl3在多模态检索增强方面表现出色,能够给出判断依据。未来如何进一步提升模型的可解释性,例如让模型能够可视化其关注的图像区域,或者给出更详细的推理过程?

原文内容

来源:AI TIME 论道
本文约2500字,建议阅读5分钟
单图、多图、食品领域的诸多Benchmarks上达到了SOTA。



作者简介


叶加博,阿里巴巴通义实验室高级算法工程师。


4秒看完2小时电影,通用多模态大模型mPLUG-Owl3,专门用来理解多图、长视频。



具体来说,以LLaVA-Next-Interleave为基准,mPLUG-Owl3将模型的First Token Latency缩小了6倍,且单张A100能建模的图像数目提升了8倍,达到了400张图片,实测4秒就能看完一部2小时的电影。


换句话说,模型的推理效率有了极大提升。


而且不牺牲模型的准确性。


mPLUG-Owl3还在多模态大模型所涉及的各种场景,包括单图、多图、视频领域的诸多Benchmarks上达到了SOTA。



论文作者来自阿里mPLUG团队,他们一直深耕多模态大模型底座,在此之前还提出了:


  • 高效多模态底座mPLUG系列

  • 模块化多模态大语言模型底座mPLUG-Owl系列

  • 文档理解底座mPLUG-DocOwl系列


下面就让我们来了解一下本次发布的mPLUG-Owl3究竟带来了什么黑科技吧。


玩法解锁


团队展示了mPLUG-Owl3的几种常见用法。


多模态检索增强


一般来说,对于模型没有学过的知识,通过检索系统进行补充是常见的做法。这需要模型能准确理解传入的多模态知识,并用于解答问题。


在下面这个例子中,mPLUG-Owl3不仅能基于检索知识正确回复,还能给出它基于哪一条知识做出的判断,并且给出详细的判断依据。这对于下游研发人员开发和调试都是非常友好的。


检索部分:以下是为你检索到的几个多模态知识,供你做出决定。


提问:根据你对上面四张狗的照片的观察,你能对图片5中的狗进行分类吗?给出理由。


回答根据对四张狗的照片的观察,图片5中的狗可以被归类为爱尔兰梗犬。图片1中的狗被描述为爱尔兰梗犬,图片5中的狗与图片1中的狗在身体特征上有相似之处……

多图推理


生活中经常会出现这样的情况——


很多用户并非只围绕一张图片进行对话,而是用户可能有几份材料,需要模型能正确理解不同材料中的内容的关系。


在下面这个例子中,mPLUG-Owl3能通过两张图像所见,激活语言模型的常识知识,并围绕两张图片进行推理。


提问:左边的动物能在右边的环境中存活吗?需要回答并给出解释。


回答(正确答案标绿):大意是,不能存活,因为环境太冷了

在另一个例子中,mPLUG-Owl3不仅能察觉两张图片风格上的差异性,并且也能意识到两张图中的人物虽然风格不同,但其实是同一个角色。


第一次提问:图片中描绘了哪些艺术风格,它们有何不同?

回答:第一张是像素风,第二张是卡通风格……(给出理由)


第二次提问:在两幅画中都出现了谁?他们的特征是什么?

回答:在两幅画中,都出现了一个戴着牛仔帽的男人,他被两种不同的风格描绘。



长视频理解


观看超长视频是现在大部分模型都无法端到端完成的任务,若是基于Agent框架,则又难以保证响应速度。


mPLUG-Owl3能够看一部2小时电影,并且4秒就能开始回答用户的问题。


不管用户是对电影的开头、中间和结尾的非常细致的片段进行提问,mPLUG-Owl3都能对答如流。


咋做到的?


与传统模型不同,mPLUG-Owl3不需要提前将视觉序列拼接到语言模型的文本序列中。


换句话说,不管输入了啥(几十张图或几小时视频),都不占用语言模型序列容量,这就规避了长视觉序列带来的巨额计算开销和显存占用。


有人可能会问了,那视觉信息如何融入到语言模型中呢

为实现这一点,该团队提出了一种轻量化的Hyper Attention模块,它可以将一个已有的只能建模文本的Transformer Block扩展成一个能够同时做图文特征交互和文本建模的新模块。

通过在整个语言模型中稀疏地扩展4个Transformer Block,mPLUG-Owl3就能用非常小的代价将LLM升级成多模态LLM。

视觉特征在从视觉编码器抽取出来后,会通过一个简单的线性映射把维度对齐到语言模型的维度。


随后,视觉特征只会在这4层Transformer Block与文本交互,由于视觉Token没有经过任何压缩,所以细粒度的信息都能得到保留。


下面来看一下Hyper Attention内又是如何设计的。


Hyper Attention为了让语言模型能感知到视觉特征,引入了一个Cross-Attention操作,将视觉特征作为Key和Value,将语言模型的hidden state作为Query去析取视觉特征。


近年也有其他研究考虑将Cross-Attention用于多模态融合,比如Flamingo和IDEFICS,但这些工作都没能取得较好的性能表现。


在mPLUG-Owl3的技术报告中,团队对比了Flamingo的设计,来进一步说明Hyper Attention的关键技术点

首先,Hyper Attention没有采用Cross-Attention和Self-Attention级联的设计,而是嵌入在Self-Attention区块内。


它的好处是大幅度降低了额外引入的新参数,使得模型更容易训练,并且训练和推理效率也能进一步提升。


其次,Hyper Attention选择共享语言模型的LayerNorm,因为LayerNorm所输出的分布正是Attention层已经训练稳定的分布,共享这一层对于稳定学习新引入的Cross-Attention至关重要。


事实上,Hyper Attention采取了一种并行Cross-Attention和Self-Attention的策略,使用共享的Query去与视觉特征交互,通过一个Adaptive Gate融合两者的特征。


这使得Query可以根据自身语义针对性地选择与之相关的视觉特征。


团队发现,图像在原始上下文中与文本的相对位置关系对于模型更好的理解多模态输入非常重要。


为了建模这一性质,他们引入了一种多模态交错的旋转位置编码MI-Rope来给视觉的Key建模位置信息。


具体来说,他们预先记录了每张图片在原文中的位置信息,会取这一位置来计算对应的Rope embedding,而同一张图的各个patch会共享这个embedding。


此外,他们也在Cross-Attention引入了Attention mask,让原始上下文中在图片之前的文本不能看到后面的图片对应的特征。


概括而言,Hyper Attention的这些设计点,为mPLUG-Owl3带来了进一步的效率提升,并且保障了它仍然能具备一流的多模态能力。

图片

实验结果


通过在广泛的数据集上进行实验,mPLUG-Owl3在大多数单图多模态Benchmarks都能取得SOTA的效果,甚至不少测评还能超过模型尺寸更大的模型。


同时,在多图测评中,mPLUG-Owl3同样超越了专门针对多图场景优化的LLAVA-Next-Interleave和Mantis。

另外,在LongVideoBench(52.1分)这一专门评估模型对长视频理解的榜单上更是超越现有模型。

研发团队还提出了一个有趣的长视觉序列测评方法。


众所周知,真实的人机交互场景,并非所有图片都是为了用户问题服务的,历史上下文中会充斥着与问题无关的多模态内容,序列越长,这一现象越严重。


为了评估模型在长视觉序列输入中的抗干扰能力,他们基于MMBench-dev构建了一个新的测评数据集。


通过为每一个MMBench循环评估样本引入无关的图片并打乱图片顺序,再针对原本的图片进行提问,看模型是否能稳定地正确回复。(对于同一个问题,会构造4个选项顺序和干扰图片均不同的样本,全都答对才记一次正确回答。)


实验中根据输入图片数目分为了多个层级。


可以看出,没有经过多图训练的模型例如Qwen-VL和mPLUG-Owl2很快就败下阵来。



而经过多图训练的LLAVA-Next-Interleave和Mantis在最开始能和mPLUG-Owl3保持近似的衰减曲线,但随着图片数目达到了50这个量级,这些模型也不再能正确回答了。


而mPLUG-Owl3坚持到了400张图片还能保持40%的准确率。


不过有一说一,尽管mPLUG-Owl3超越了现有模型,但其准确率远未达到优秀水平,只能说这一测评方法揭示了所有模型未来需要进一步提升的长序列下的抗干扰能力。


更多详情欢迎查阅论文及代码。


论文:
https://arxiv.org/abs/2408.04840
代码:
https://github.com/X-PLUG/mPLUG-Owl/tree/main/mPLUG-Owl3


编辑:于腾凯
校对:林亦霖


关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU

数据层面的优化当然非常重要!现在很多模型都面临着数据质量不高的问题。我认为可以从以下几个方面入手:一是数据增强,可以模拟各种干扰情况,比如遮挡、噪声等;二是数据清洗,去除一些与任务无关或标注错误的数据;三是主动学习,让模型主动选择哪些数据进行学习,提高学习效率。说白了,就是“喂”给模型更干净、更有营养的“食物”。

我觉得可解释性是多模态大模型非常重要的发展方向。可视化关注区域是一个很好的思路,可以使用 attention map 或者 gradient-based 方法来实现。另外,可以考虑让模型生成一些中间步骤的描述,例如“模型首先关注到图片中的XX,然后结合文本信息YY,最终得出结论ZZ”。这样可以帮助用户更好地理解模型的推理过程。

我比较认同数据增强的思路,尤其是在长序列场景下,干扰因素会更加复杂多样。可以尝试一些更高级的数据增强方法,例如基于 GAN 的数据增强,或者利用领域知识构建一些特定的干扰模式。另外,可以考虑引入一些对比学习的策略,让模型学习区分干扰信息和关键信息。

除了可视化和文本描述,还可以考虑引入一些符号化的推理方法。例如,可以将图像中的物体和关系表示成符号,然后使用符号化的推理引擎进行推理。这种方法可以提供更强的可解释性和可靠性。

我个人的理解是,图像细节的捕捉不一定完全依赖于融合策略,视觉编码器的能力也很重要。如果视觉编码器本身就能提取到足够丰富的特征,那么即使融合策略相对简单一些,也能保证模型对细节的感知。所以,可以考虑在视觉编码器上下功夫,而不是一味地追求复杂的融合策略,而且个人感觉这个名字起的也太像哈利波特的咒语了,建议修改。

从论文来看,Hyper Attention 在设计上确实做了一些权衡,在降低计算复杂度的同时,可能对图像细节的捕捉有所影响。但文中提到视觉 Token 没有经过任何压缩,所以细粒度信息能够得到保留。我觉得未来可以探索例如 Self-Attention 和 Cross-Attention 混合的更精细的融合策略,或者引入一些图像增强技术,来提升模型对细节的敏感度。

可以考虑从因果推断的角度来理解这个问题。干扰信息的存在,会导致模型学习到一些 spurious correlation(虚假相关)。可以尝试使用因果干预的方法,主动干预这些干扰因素,让模型学习到更鲁棒的特征表示。当然,这种方法需要对数据和任务有比较深入的理解。

可解释性确实很重要,但也要注意避免过度解释。有些时候,模型的决策过程可能非常复杂,难以用简单的语言或图像来解释清楚。过于追求可解释性,可能会牺牲模型的性能。所以,需要权衡可解释性和性能之间的关系。而且我觉得给出的理由最好能支持用户自定义,而不是模型预设定的。

牺牲一部分细节是必然的,关键在于 trade-off。Hyper Attention 追求的是效率,要在有限的算力下处理更多的图像和更长的视频。更精细的融合策略当然可以考虑,但也要看实际应用场景的需求。如果在一些对细节要求不高的场景下,mPLUG-Owl3 的效率优势可能更重要。鱼和熊掌不可兼得呀!