阿里mPLUG-Owl新升级,鱼与熊掌兼得,模态协同实现MLLM新SOTA

openai gpt-4v 和 google gemini 都展现了非常强的多模态理解能力,推动了多模态大模型(mllm)快速发展,mllm 成为了现在业界最热的研究方向。

MLLM 在多种视觉-语言开放任务中取得了出色的指令跟随能力。尽管以往多模态学习的研究表明不同模态之间能够相互协同和促进,但是现有的 MLLM 的研究主要关注提升多模态任务的能力,如何平衡模态协作的收益与模态干扰的影响仍然是一个亟待解决的重要问题。

阿里mPLUG-Owl新升级,鱼与熊掌兼得,模态协同实现MLLM新SOTA

请点击以下链接查看论文:https://arxiv.org/pdf/2311.04257.pdf

请查看以下代码地址:https://github.com/X-PLUG/mPLUG-Owl/tree/main/mPLUG-Owl2

ModelScope 体验地址:https://modelscope.cn/studios/damo/mPLUG-Owl2/summary

HuggingFace 体验地址链接:https://huggingface.co/spaces/MAGAer13/mPLUG-Owl2

针对这个问题,阿里巴巴的多模态大模型mPLUG-Owl迎来了一次大升级。通过模态协同的方式,它同时提升了纯文本和多模态的性能,超过了LLaVA1.5、MiniGPT4、Qwen-VL等模型,在多种任务中取得了最佳性能。具体来说,mPLUG-Owl2利用共享的功能模块促进了不同模态之间的协作,并引入了模态自适应模块来保留各个模态的特征。通过简洁而有效的设计,mPLUG-Owl2在包括纯文本和多模态任务在内的多个领域取得了最佳性能。对模态协作现象的研究也为未来多模态大模型的发展提供了启示

阿里mPLUG-Owl新升级,鱼与熊掌兼得,模态协同实现MLLM新SOTA

图 1 与现有 MLLM 模型性能对比

方法介绍为了达到不改变原始意思的目的,需要将内容重新写成中文

mPLUG-Owl2 模型主要包含三个部分:

Visual Encoder:以 ViT-L/14 作为视觉编码器,将输入的分辨率为 H x W 的图像,转换为 H/14 x W/14 的视觉 tokens 序列,输入到 Visual Abstractor 中。

视觉提取器:通过学习一组可用的查询,提取高层次的语义特征,同时减少输入语言模型的视觉序列长度

语言模型:使用了 LLaMA-2-7B 作为文本解码器,并设计了如图 3 所示的模态自适应模块。

阿里mPLUG-Owl新升级,鱼与熊掌兼得,模态协同实现MLLM新SOTA

图 2 mPLUG-Owl2 模型结构

为了对齐视觉和语言模态,现有的工作通常是将视觉特征映射到文本的语义空间中,然而这样的做法忽视了视觉和文本信息各自的特性,可能由于语义粒度的不匹配影响模型的性能。为了解决这一问题,本文提出模态自适应模块 (Modality-adaptive Module, MAM),来将视觉和文本特征映射到共享的语义空间,同时解耦视觉 – 语言表征以保留模态各自的独特属性。

阿里mPLUG-Owl新升级,鱼与熊掌兼得,模态协同实现MLLM新SOTA

图3 展示了模态自适应模块的示意图

在图3中显示的是,与传统的Transformer相比,模态自适应模块的主要设计在于:

在模块的输入、输出阶段,分别对视觉和语言模态进行 LayerNorm 操作,以适应两种模态各自的特征分布。

知海图Chat 知海图Chat

知乎与面壁智能合作推出的智能对话助手

知海图Chat 157 查看详情 知海图Chat

在自注意力操作中,对视觉和语言模态采用分离的 key 和 value 投影矩阵,但采用共享的 query 投影矩阵,通过这样解耦 key 和 value 投影矩阵,能够在语义粒度不匹配的情况下,避免两种模态之间的干扰。

通过共享相同的FFN,两种模态可以促进彼此之间的协作

阿里mPLUG-Owl新升级,鱼与熊掌兼得,模态协同实现MLLM新SOTA

对于图4 mPLUG-Owl2的训练策略进行优化

如图 4 所示,mPLUG-Owl2 的训练包含预训练和指令微调两个阶段。预训练阶段主要是为了实现视觉编码器和语言模型的对齐,在这一阶段,Visual Encoder、Visual Abstractor 都是可训练的,语言模型中则只对 Modality Adaptive Module 新增的视觉相关的模型权重进行更新。在指令微调阶段,结合文本和多模态指令数据(如图 5 所示)对模型的全部参数进行微调,以提升模型的指令跟随能力。

阿里mPLUG-Owl新升级,鱼与熊掌兼得,模态协同实现MLLM新SOTA

图 5 mPLUG-Owl2 使用的指令微调数据

实验及结果

阿里mPLUG-Owl新升级,鱼与熊掌兼得,模态协同实现MLLM新SOTA

图 6 图像描述和 VQA 任务性能阿里mPLUG-Owl新升级,鱼与熊掌兼得,模态协同实现MLLM新SOTA

图 7 MLLM 基准测试性能

如图 6、图 7 所示,无论是传统的图像描述、VQA 等视觉 – 语言任务,还是 MMBench、Q-Bench 等面向多模态大模型的基准数据集上,mPLUG-Owl2 都取得了优于现有工作的性能。

阿里mPLUG-Owl新升级,鱼与熊掌兼得,模态协同实现MLLM新SOTA

图 8 纯文本基准测试性能

阿里mPLUG-Owl新升级,鱼与熊掌兼得,模态协同实现MLLM新SOTA

图 9 模态自适应模块对纯文本任务性能的影响

此外,为了评估模态协同对纯文本任务的影响,作者还测试了 mPLUG-Owl2 在自然语言理解和生成方面的表现。如图 8 所示,与其他指令微调的 LLM 相比,mPLUG-Owl2 取得了更好的性能。图 9 展示的纯文本任务上的性能可以看出,由于模态自适应模块促进了模态协作,模型的考试和知识能力都得到了显著提高。作者分析,这是由于多模态协作使得模型能够利用视觉信息来理解语言难以描述的概念,并通过图像中丰富的信息增强模型的推理能力,并间接强化文本的推理能力。

阿里mPLUG-Owl新升级,鱼与熊掌兼得,模态协同实现MLLM新SOTA
阿里mPLUG-Owl新升级,鱼与熊掌兼得,模态协同实现MLLM新SOTA

mPLUG-Owl2 展示了出色的多模态理解能力,成功地缓解了多模态幻觉。这种多模态技术已经被应用于通义星尘、通义智文等核心通义产品,并且已经在 ModelScope、HuggingFace 开放 Demo 中得到了验证

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

阿里mPLUG-Owl新升级,鱼与熊掌兼得,模态协同实现MLLM新SOTA

以上就是阿里mPLUG-Owl新升级,鱼与熊掌兼得,模态协同实现MLLM新SOTA的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/804087.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月26日 19:20:22
下一篇 2025年11月26日 19:26:13

相关推荐

  • 如何用HTML插入标签云组件_HTML CSS3变换与随机颜色生成算法

    使用HTML构建标签结构,CSS3添加旋转与过渡效果,JavaScript生成随机HSL颜色并设置字体大小,实现动态交互的标签云组件。 要在网页中实现一个动态的标签云组件,结合 HTML、CSS3 变换和随机颜色生成算法,可以按照以下步骤操作。这个组件不仅能提升页面视觉效果,还能通过色彩和旋转增加交…

    2025年12月23日
    000
  • 如何在Go Gin应用中集成前端JavaScript模块(如Sentry)

    本文探讨了在Go Gin框架下,通过HTML模板服务前端页面时,如何有效集成JavaScript模块(如Sentry)。针对浏览器不直接支持Node.js模块导入语法的问题,文章详细阐述了利用CDN引入Sentry SDK的解决方案,并提供了具体的代码示例,帮助开发者实现前端错误监控功能,避免了复杂…

    2025年12月23日
    000
  • html官网浏览入口_html网站设计免费平台

    html官网浏览入口在https://www.codepen.io,该平台支持实时预览代码、创建Pen项目、Fork开源示例,可添加外部资源,具备点赞评论收藏等社区互动功能,设有挑战活动与作品集分类,开放API接口,界面简洁适合初学者,在线编写无需配置环境,支持多种预处理器和响应式测试。 html官…

    2025年12月23日
    000
  • 表单中的AI助手怎么集成?如何添加智能填写建议?

    表单中添加ai助手的核心是通过前后端协同实现智能填写建议,具体需从后端智能服务构建、前端交互逻辑、性能优化及复杂场景处理等方面入手。首先应根据需求选择合适的ai能力:若仅需关键词匹配,可采用轻量级规则引擎或本地模型;若需语义理解,则调用大型语言模型(llm)api如gpt、文心一言等更为合适。后端需…

    2025年12月22日
    000
  • html如何修改日期样式

    在html中,可以使用“::-webkit-datetime-edit”伪元素选择器来修改日期格式,只需要用该选择器选中元素,在设置具体样式即可,具体语法为“::-webkit-datetime-edit{属性:属性值}”。 本教程操作环境:windows7系统、CSS3&&HTML…

    2025年12月21日
    100
  • 单选框的type属性值为什么

    单选框的type属性值为“radio”。html type属性可以规定要显示的输入框“”元素的类型;值为“radio”时显示为单选框、“checkbox”时显示为复选框、“select”时显示为下拉式选框等等。 本教程操作环境:windows7系统、HTML5版、Dell G3电脑。 在HTML中,…

    2025年12月21日
    000
  • HTML中type是什么意思

    在HTML中,type是类型的意思,是一个标签属性,主要用于定义标签元素的类型或文档(脚本)的MIME类型;例在input标签中type属性可以规定input元素的类型,在script标签中type属性可以规定脚本的MIME类型。 本教程操作环境:windows7系统、html5版、Dell G3电…

    2025年12月21日
    000
  • HTML中ul标签如何去掉点?HTML无序列表的样式实例解析

    本篇文章主要讲述的是关于html中的ul标签的默认小点给取消掉,还有关于html的无序列表ul标签的样式解释,给出了ul标签中的type属性三种值的介绍。现在就让我们一起来看本篇文章吧 首先这篇文章一开始我们就开始介绍在html中是怎么把ul标签的点给去掉的: 大家应该都使用过ul无序列表标签,ul…

    2025年12月21日 好文分享
    000
  • html中的ol标签如何去掉标号呢?标签的使用方法总结

    本篇文章介绍了html的ol标签是怎么去掉序号标号的,这里还有代码的详细解释,还有介绍了关于html ol有序列表标签如何更改序号,下文介绍了三种序号,大家也可以自己去想填写怎样的序号。现在来看这篇文章吧 一、我们先看看html中的ol标签是如何去掉标号的呢: 我们都知道html的ol标签是个有序列…

    2025年12月21日 好文分享
    000
  • HTML ul标签的什么意思?HTML ul标签的作用详解

    本篇文章主要的为大家讲解了关于html ul标签的三种重要的用法,还有关于html ul标签的解释,包含li标签的还有type属性对ul标签的使用情况,好了,下面大家一起来看文章吧 首先让我们先来解释一下HTML ul标签的意思: ul标签定义的是表格当中无序列表,表格当中的无序列表都是在 标签之中…

    2025年12月21日
    000
  • javascript框架和库是什么_如何选择React、Vue或Angular?

    JavaScript框架与库分别提供按需调用的功能集合和约束性开发结构;React是UI组件库,生态灵活但需自行整合工具;Vue渐进式易上手,兼顾原型与工程化;Angular是全功能TypeScript框架,适合强规范企业级项目。 JavaScript框架和库是封装好的代码集合,用来简化前端开发——…

    2025年12月21日
    000
  • React应用生产环境环境变量配置深度指南

    本文针对react应用在生产环境中无法读取`.env`文件配置的环境变量问题,深入剖析其工作原理、常见原因及排查方法。通过详细的步骤和示例代码,指导开发者正确配置和使用环境变量,解决api调用层面的`null`响应问题,确保应用在生产环境下的稳定运行。 在React应用开发中,环境变量(如API密钥…

    2025年12月21日
    000
  • JS注解怎么实现文档化_ JS注解生成开发文档的流程与工具

    JSDoc是一种JavaScript结构化注释规范,通过@param、@returns等标签描述代码元素,并借助工具生成HTML文档,结合IDE支持和CI/CD可提升团队协作效率。 JavaScript本身不支持原生注解(Annotation)像Java那样的语法,但通过约定的注释格式和配套工具,可…

    2025年12月21日
    000
  • JS注解怎么标注联合类型_ JS联合类型的注解书写与使用技巧

    在JavaScript中可通过JSDoc使用联合类型注解,如string|number表示多类型支持,结合@param、@typedef等标签提升代码可读性与编辑器提示,适用于函数参数、返回值等场景。 在JavaScript中,虽然原生不支持类型注解,但在使用JSDoc配合现代编辑器(如VS Cod…

    2025年12月21日
    000
  • VS Code主题开发:告别JSON,拥抱脚本化生成

    vs code主题扩展最终需json格式定义,但开发者可通过javascript或typescript等脚本语言生成此json文件。这种方法有效解决了大型json文件难以维护、不支持注释等问题,并能实现颜色动态计算,显著提升主题开发的灵活性与效率。 为什么选择脚本化生成VS Code主题? 在开发V…

    2025年12月20日
    000
  • 如何用Quasar框架开发一个跨平台应用?

    Quasar基于Vue.js用一套代码构建多平台应用,支持响应式网站、PWA、移动App和桌面应用。通过quasar create创建项目,利用模式(SPA、PWA、Electron等)切换目标平台,使用Quasar组件库编写通用UI,配合Pinia管理状态,最后通过不同构建命令发布到各平台,实现高…

    2025年12月20日
    000
  • 怎么利用JavaScript进行前端代码覆盖率统计?

    答案:利用JavaScript进行前端代码覆盖率统计的核心是通过Istanbul/nyc等工具对代码插桩,结合测试框架收集执行数据并生成报告。具体流程包括:在代码执行前通过Babel或Webpack插件(如babel-plugin-istanbul)插入计数器实现插桩;运行测试时记录哪些代码被执行;…

    2025年12月20日
    100
  • 如何将兰链用于AI工作流程自动化

    引言 在飞速发展的AI领域,自动化是提升效率和可扩展性的关键。LangChain是一个开源框架,它提供强大的工具,用于将大型语言模型(LLM)集成到应用程序中。无论您是构建聊天机器人、数据处理管道还是智能决策系统,LangChain都能通过无缝连接不同的组件,实现AI工作流的自动化。本文将探讨如何利…

    2025年12月19日
    000
  • Netflix,但更好

    免责声明:本项目与Netflix无关,仅为技术实验。 超越Netflix:构建更智能的电影推荐系统 Netflix作为流媒体巨头,拥有超过2亿用户和17000多部电影及电视节目,其推荐系统功不可没。该系统基于用户观看历史、相似节目、用户趋势和热门剧集等数据进行推荐。但如果我们能以更简便的方式复制这一…

    2025年12月19日
    000
  • 如何在双子座AI中生成结构化输出(JSON,YAML)

    本文介绍如何使用google gemini api快速生成高质量的api文档,并演示如何灵活地输出json或yaml格式的结果。作者shrijith venkatrama,hexmos创始人,分享了liveapi的构建过程,这是一个通过代码生成api文档的强大工具。 步骤1:获取Gemini API…

    2025年12月19日
    000

发表回复

登录后才能评论
关注微信