返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

阿里全面开源mPLUG-Owl3!超长图像序列理解多模态大模型

[复制链接]
链载Ai 显示全部楼层 发表于 1 小时前 |阅读模式 打印 上一主题 下一主题
多模态大语言模型(MLLMs)已经在处理单张图片任务上表现得非常出色。不过,当涉及到长图片序列的处理时,仍然有很多困难需要解决。为此,阿里推出了一款名叫mPLUG-Owl3的模型,它不仅功能强大,还能在需要结合图文知识、混合图文内容和处理长视频的场景中,更好地理解长图片序列。
现有的一些多图输入方法存在两个主要问题:像LLaVA-Next-Interleave等模型将视觉特征直接与文本序列拼接,这在处理多图长序列时会导致高昂的计算成本;而Flamingo等模型使用的cross-attention结构虽然降低了计算开销,但却导致了视觉信息的细节损失,限制了它们在单图和多图任务中的表现。为此,mPLUG-Owl3特别设计了一个叫‘超注意力模块’的新技术,能够高效地将视觉和语言整合在一起,使得处理多张图片的任务变得更加轻松。

01技术原理
mPLUG-Owl3模型的核心结构由三个主要部分组成:视觉编码器SigLIP-400M、语言模型Qwen2,以及连接这两者的线性层。视觉编码器首先从图像中提取特征,然后通过线性层将这些特征映射到与语言模型相同的维度。在文本序列中,使用了特殊的标记来表示图像位置,并采用self-attention和cross-attention并行建模的方式,将图像特征与文本特征融合在一起。
与Flamingo和EVLM等模型在语言模型的每一层都插入cross-attention层的做法不同,mPLUG-Owl3只在网络中的少数层使用了他们提出的Hyper Attention Transformer Block(HATB)。这种方法避免了引入大量额外的参数和计算负担,同时仍然实现了有效的特征融合。

视觉特征和文本特征首先会经过一个共享的层(LN层)进行处理。在实验中发现,使用同一个LN层来处理视觉和文本输入,比为视觉输入单独设置一个LN模块能带来更好的效果。通过LN层处理后,延续了mPLUG-Owl2的做法,为视觉输入设置了专门的Key-Value映射,同时与文本输入共享相同的Query映射。这样做既能保留视觉特征的独特性,又能让语言模型根据文本的语义,灵活获取所需的视觉信息。
在完成文本间的self-attention和跨模态的cross-attention并行建模后,设计了一种自适应门控机制。通过计算文本特征线性映射后的激活值来获得门控值,实现了文本和视觉信息的自适应融合。
另外,在进行attention建模之前,引入了一种叫做多模态交错旋转位置编码(MI-Rope)的方法,来保留图像和文本的位置信息。因为在文本序列中,图像是用特殊标记表示的,对于第n幅图像,它的所有patch特征都会共享同一个标记位的位置编码。这种设计确保了位置编码不仅能反映图像的顺序,也能反映图像在整个文本序列中的具体位置。
02实际示例
mPLUG-Owl3可以从检索系统中学习知识。
mPLUG-Owl3 还可以通过交错的图像文本上下文与用户聊天。
mPLUG-Owl3可以观看电影等长视频并记住其细节。
https://huggingface.co/spaces/mPLUG/mPLUG-Owl3https://github.com/X-PLUG/mPLUG-Owl/tree/main/mPLUG-Owl3

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ