多模态大模型在处理单张图像时已经表现得相当出色,但一旦涉及长序列图片的理解,挑战便接踵而至——计算成本急剧上升,信息丢失也几乎难以避免。那么,如何突破这一瓶颈?近期,阿里开源的mPLUG-Owl3提出了一种颇具巧思的解决方案。它不仅擅长单图任务,更重要的是,在面对长图文序列、混合图文内容乃至长视频场景时,依然能保持高效且稳定的表现。
问题的根源在哪里?当前主流方案,例如LLaVA-Next-Interleave这类模型,倾向于将视觉特征直接拼接到文本序列中。此方法在处理单图或少量图片时尚可应对,一旦图片数量增加,计算量便会呈爆炸式增长。另一种路线,比如Flamingo采用的cross-attention结构,虽然降低了计算开销,却牺牲了视觉细节的丰富性,导致单图和多图任务的表现均不尽如人意。
mPLUG-Owl3的解题思路则显得相当巧妙:它设计了一种名为“超注意力模块”的创新技术,能够高效地将视觉信息与语言信息进行整合,使得多图理解变得流畅自然。
01 技术原理
理解这一模型的关键,在于其核心架构:视觉编码器采用SigLIP-400M,语言模型则基于Qwen2,两者之间通过一个线性层实现连接。具体流程如下——视觉编码器首先提取图像特征,随后线性层将这些特征映射到语言模型能够理解的语义空间。
在处理文本序列时,模型利用特殊的标记来指示图像位置,并采用self-attention与cross-attention并行建模的方式,促使图像特征与文本特征深度融合。这里有一个值得注意的差异:Flamingo和EVLM等模型在语言模型的每一层都插入cross-attention层,这种做法会引入大量额外参数。而mPLUG-Owl3仅在少数层中部署了他们提出的Hyper Attention Transformer Block,既实现了多模态融合,又有效控制了计算负担。
在特征融合的具体设计上,视觉与文本特征会先经过一个共享的LayerNorm层处理。实验结果表明,共用同一个LN层的效果,优于单独为视觉输入设置一个LN模块。这一细节虽小,但对最终性能的影响却不可忽视。
紧接着,模型沿用了mPLUG-Owl2的做法:为视觉输入设置专门的Key-Value映射,但与文本输入共享相同的Query映射。这样设计的好处是,既能保留视觉特征的独特性,又能让语言模型根据文本语义灵活地获取所需的视觉信息。
在完成文本间的self-attention和跨模态的cross-attention并行建模后,模型引入了一种自适应门控机制。该门控通过计算文本特征线性映射后的激活值来获得门控权重,从而实现文本与视觉信息的自适应融合。简而言之,就是让模型自主判断:当前时刻,应该重点关注文字,还是图片?
另一个值得一提的设计是多模态交错旋转位置编码。因为在文本序列中,图像是用特殊标记表示的,对于第n幅图像,其所有patch特征都会共享同一个标记位的位置编码。这样一来,位置编码不仅能反映图像的顺序,也能体现图像在整个文本序列中的具体位置,从而确保模型对图文关系的准确理解。
02 实际示例
mPLUG-Owl3的实际能力在几个典型场景中得到了充分展现。它能够向检索系统学习知识,这一点在知识密集型任务中意义重大。更重要的是,它可以通过交错的图像文本上下文与用户进行自然对话,这意味着你可以将多张图片和文字混杂在一起提问,模型也能准确理解并给出合理回答。
处理长视频是另一个亮点。mPLUG-Owl3能够观看像电影这样的长视频,并记住其中的细节。对于视频理解、内容总结等应用场景而言,这算得上是一个实质性的突破。

