达摩院开源多模态对话大模型mPLUG-Owl
miniGPT-4的热度至今未减,距离LLaVA的推出也不到半个月,而新的看图聊天模型已经问世了。今天要介绍的模型是一款类似于miniGPT-4和LLaVA的多模态对话生成模型,它的名字叫mPLUG-Owl。

- 论文链接:https://arxiv.org/abs/2304.14178
- 项目链接:https://github.com/X-PLUG/mPLUG-Owl
- 在线demo:https://modelscope.cn/studios/damo/mPLUG-Owl/summary
mPLUG-Owl展现出强大的图文理解能力:

以下是本文作者的试用结果:

本文贡献如下:
- 提出一种新的模块化的训练多模态大模型的方式
- 提出测评集OwlEval,以便测试多模态模型在视觉相关任务上的能力
- 开源模型代码,demo代码以及模型权重文件,方便研究者进行进一步的研究。
mPLUG-Owl
模型架构

本文提出了 mPLUG-Owl,其整体架构如图2所示。它由视觉基础模型 f V f_V fV、视觉抽象模块 f K f_K fK 以及预训练语言模型 f L f_L fL 组成。视觉抽象模块将较长的、细粒度的图像特征概括为少量可学习的 Token,从而实现对视觉信息的高效建模。生成的视觉 Token 与文本查询一起输入到语言模型中,以生成相应的回复。
训练策略

如图1所示,目前存在三种主要的训练策略来训练端到端的多模态LLM模型。这些策略分别是:
- 在预训练和指令微调阶段冻结视觉模块和语言模块,调整有限的参数,如MiniGPT4。
- 冻结视觉模块,训练语言模块,如Kosmos-1。
- 在指令微调阶段冻结视觉模块,训练语言模块,如LLaVA。
然而,这些模型都冻结了视觉模块的参数调整,从而限制了不同模态之间的对齐。此外,它们缺乏单模态和多模态数据的共同训练,难以有效地激发大型模型的各种潜能。
为了克服这些限制,mPLUG-Owl采用了一种不同的训练策略。首先,其使用多模态数据训练视觉模块,并冻结语言模块。这样可以让视觉特征贴合语言特征。然后,其使用多模态和单模态数据联合调整语言模块的LoRA参数,同时冻结视觉模块。这样,模型可以学习多样化的单模态和多模态指令,同时具备单模态和多模态多轮对话能力。
实验
定量分析


如图3所示,本文在构建的多模态测评集 OwlEval 上对 mPLUG-Owl 进行了人工评估。评价结果分为四个等级 A-D,代表对应的生成质量依次递减。从测评结果中可以看出,mPLUG-Owl 取得了最佳的结果。
为了分别探究 mPLUG-Owl 在单轮对话和多轮对话上的性能,本文还从 OwlEval 中单独抽出了一些单轮对话和一些多轮对话,分别进行人工评估。结果如图4所示。可以发现,mPLUG-Owl 具有较强的多轮对话能力。
消融实验

为了探究训练策略与指令数据的使用对模型结果的影响,本文还展示了消融实验的结果,如表2所示。

此外,本文还发现了一个有趣的现象:多模态数据的学习可以提高模型的文本单模态能力。正如表3所示,使用ChatGPT对生成结果进行评分发现,仅调整LoRA参数的mPLUG-Owl在纯文本生成能力上击败了全参数调整的Alpaca。
定性分析

从图6中可以发现,mPLUG-Owl有较强的多轮对话能力。

从图7中可以发现,mPLUG-Owl还具有很强的推理能力。

尽管mPLUG-Owl已具有较强的图文理解能力,但和GPT-4相比仍有一些差距。如图8所示,mPLUG-Owl虽然已经正确理解了笑点,但错误地将VGA插头识别为了USB插头。

图9展示了一些额外的笑话解释例子。

如图10所示,虽然在训练阶段并没有进行多图关联数据的训练。mPLUG-Owl展现出了一定的多图关连能力。

如图11所示,尽管mPLUG-Owl在训练阶段仅接触了英文数据,但其展现出了有趣的多语言能力。这可能是因为mPLUG-Owl中的语言模块采用了支持多语言的LLaMa,从而出现了这一现象。

尽管mPLUG-Owl没有在带有标注的文档数据上进行训练,但其仍然展现出了一定的文字识别和文档理解能力。测试结果如图12所示。


如图13、14所示,mPLUG-Owl在多模态的开放式结尾续写方面展现出了较强的能力。
以下是更多有趣的例子:



更多开源应用
智能通行团队模型、论文、博文、直播合集,点击此处浏览。
DamoFD人脸检测0.5G
RetinaFace人脸检测关键点模型
人脸活体检测模型-IR
人脸活体检测模型-RGB
FLCM人脸关键点置信度模型
人脸表情识别模型FER
人脸属性识别模型FairFace
相关文章:
达摩院开源多模态对话大模型mPLUG-Owl
miniGPT-4的热度至今未减,距离LLaVA的推出也不到半个月,而新的看图聊天模型已经问世了。今天要介绍的模型是一款类似于miniGPT-4和LLaVA的多模态对话生成模型,它的名字叫mPLUG-Owl。 论文链接:https://arxiv.org/abs/2304.14178…...
Group相关问题-组内节点限制移动范围
1.在节点中定义dragComputation,限制节点的移动范围 注意事项 组节点不定义go.Placeholder ,设置了占位符后组内节点移动将改变组节点位置dragComputation中自定义stayInGroup计算规则是根据groupNode的resizeObject计算 如果开启了resizable:true,建议指定其改变大的零部件r…...
程序员该如何学习技术
程序员该如何学习技术 前言 学习是第一生产力,我从来都是这么认为的,人只有只有不断地学习才能意识到自己的缺点和不足,身为程序员,我更认为人们应当抱着终身学习的想法实践下去,这是我所一直践行且相信的。 高处不胜寒…...
springboot+vue交流互动系统(源码+文档)
风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的交流互动系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:风歌&a…...
【2023华为OD笔试必会25题--C语言版】《01 预定酒店》——排序、二分查找
本专栏收录了华为OD 2022 Q4和2023Q1笔试题目,100分类别中的出现频率最高(至少出现100次)的25道,每篇文章包括原始题目 和 我亲自编写并在Visual Studio中运行成功的C语言代码。 仅供参考、启发使用,切不可照搬、照抄,查重倒是可以过,但后面的技术面试还是会暴露的。✨✨…...
C语言实现队列--数据结构
😶🌫️Take your time ! 😶🌫️ 💥个人主页:🔥🔥🔥大魔王🔥🔥🔥 💥代码仓库:🔥🔥魔…...
前端CSS经典面试题总结
前端CSS经典面试题总结 2.1 介绍一 下 CSS 的盒子模型?2.2 css 选择器优先级?2.3 垂直居中几种方式?2.4 简明说一下 CSS link 与 import 的区别和用法?2.5 rgba和opacity的透明效果有什么不同?2.6 display:none和visib…...
cookie、session、token的区别是什么
前言 今天就来说说session、cookie、token这三者之间的关系!最近这仨玩意搞得头有点大🤣 1.为什么会有它们三个? 我们都知道 HTTP 协议是无状态的,所谓的无状态就是客户端每次想要与服务端通信,都必须重新与服务端链接…...
leetcode分类刷题 -- 前缀和和哈希
力扣 class Solution { public int subarraySum(int[] nums, int k) { Map<Integer,Integer> map new HashMap<>(); int count0,sum0; map.put(0,1); for(int i:nums){ sum i; if(map.containsKey(sum-k)) count map.get(sum-k); map.compute(sum,(key,v)->…...
浅谈作为程序员如何写好文档:了解读者
我作为从一名懵懂的实习生转变为工程师的工作经历中,伴随着技术经验的成长,也逐渐意识到了编写文档是知识和经验传递给其他人的最有效方式。通过文档,可以分享我的技术知识和最佳实践,使其他人更好地理解我的工作。在这里…...
一文读懂国内首本《牛客2023金融科技校园招聘白皮书》
金融科技人才作为金融数字化转型的关键支撑,但当下金融科技人才培养体系尚未形成,优秀的金融科技人才供不应求,目前存在严重的人才供给问题。 据调研数据统计,96.8%的金融机构存在金融科技人才缺口,54.8%的机构认为新…...
深度学习03-卷积神经网络(CNN)
简介 CNN,即卷积神经网络(Convolutional Neural Network),是一种常用于图像和视频处理的深度学习模型。与传统神经网络相比,CNN 有着更好的处理图像和序列数据的能力,因为它能够自动学习图像中的特征&…...
你真正知道什么是品牌营销么?颠覆你旧有认知
什么是品牌营销,新时代也需要新时代的定义和诠释! 尤其这次疫情加剧了行业竞争,让很多企业都开始重新重视品牌建设,以此实现对产品的价格保护,脱离同质化恶性竞争;提高品牌知名度,实现更高价值…...
pytorch 测量模型运行时间,GPU时间和CPU时间,model.eval()介绍
文章目录 1. 测量时间的方式2. model.eval(), model.train(), torch.no_grad()方法介绍2.1 model.train()和model.eval()2.2 model.eval()和torch.no_grad() 3. 模型推理时间方式4. 一个完整的测试模型推理时间的代码5. 参考: 1. 测量时间的方式 time.time() time.…...
十三、超时重试机制
目录 超时配置和重试机制 FeignClient 、Ribbon 、 Hystrix三个之间配置优先级的关系 配置常用属性 Ribbon超时和重试配置: Ribbon重试次数计算公式: FeignClient 超时配置: Hystrix超时配置: Hystrix超时计算公式: 超时配…...
JAVA常用API - Runtime和System
文章目录 前言 大家好,我是最爱吃兽奶,今天给大家带来JAVA常用API中的Runtime类和System类 那么就让我们一起去看看吧! 一、Rubtime 1.Rubtime是什么? 2.Runtime常用方法 Runtime提供了很多方法,在这里演示两个 public static Runtime getRuntime(): 返回当前运行时环境的…...
ANR实战案例 - FCM拉活启动优化
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 文章目录 系列文章目录前言一、Trace日志分析二、业务分析1.Firebase源码分析2.Firebase官方查看官方文档Dem…...
Kali-linux查看打开的端口
对一个大范围的网络或活跃的主机进行渗透测试,必须要了解这些主机上所打开的端口号。在Kali Linux中默认提供了Nmap和Zenmap两个扫描端口工具。为了访问目标系统中打开的TCP和UDP端口,本节将介绍Nmap和Zenmap工具的使用。 4.4.1 TCP端口扫描工具Nmap 使…...
判断浏览器是否支持webp图片
.WebP是谷歌主导的开放免费的网络图像格式,其核心编码来自VP8也就是同时支持WebP图片和WebM视频等。 这种图像格式追求的并不是无损画质,而是在有损画质的情况下尽可能的压缩图像体积但也尽量降低清晰度下降。 谷歌资助和发展该图像格式最主要的目的就是…...
【Qt编程之Widgets模块】-007:QTextStream类及QDataStream类
1 概述 QTextStream和QDataStream都是对流进行操作 QTextStream只能普通类型的流操作像QChar、QString、int…,其实就很类似我们c或者c中读写文件的感觉, QDataStream就厉害了,无论是QTextStream的普通类型的流操作还是一些特殊类型的流操作…...
构建智能体的专业技能树 - Agent Skills生态全析(中篇)
一、概述 这篇文章我们将围绕Skills、Tools、MCP、Subagents 四个组件有什么区别、Anthropic 官方做好了哪些现成 Skills、如何从零创建一个自定义 Skill 的完整流程 这些四个方面来进行讲解。 二、智能体生态系统概览 在 Anthropic 构建的智能体生态中,多种技术组件…...
Win11Debloat:5分钟解决Windows 11卡顿的终极优化指南
Win11Debloat:5分钟解决Windows 11卡顿的终极优化指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and cu…...
Umi-OCR终极指南:3分钟掌握免费离线OCR文字识别
Umi-OCR终极指南:3分钟掌握免费离线OCR文字识别 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言库。 …...
React+GSAP实战:5种酷炫滚动动画效果完整代码分享(含ScrollTrigger配置)
ReactGSAP实战:5种酷炫滚动动画效果完整代码分享(含ScrollTrigger配置) 在现代Web开发中,流畅的滚动动画已经成为提升用户体验的关键因素。作为前端开发者,我们经常需要实现各种吸引眼球的滚动效果,从简单的…...
别再手动改稿了!用LaTeX的soul包搞定论文批注(删除线/高亮/引用兼容)
LaTeX高效批注指南:用soul包实现学术协作的优雅排版 当导师的红色批注铺满论文初稿,或是合作者发来二十处修改意见时,大多数研究者都会面临一个共同困境——如何在保留原始内容的同时清晰标记修改痕迹?传统的手动添加删除线或高亮…...
ROS实战:5分钟搞定大华网络摄像机RTSP流接入(Ubuntu18.04+Melodic版)
ROS实战:5分钟搞定大华网络摄像机RTSP流接入(Ubuntu18.04Melodic版) 在智能机器人开发领域,实时视频流处理是构建环境感知系统的核心能力之一。大华作为安防行业领先品牌,其网络摄像机被广泛应用于工业检测、智能巡检等…...
技术揭秘:QtScrcpy如何实现跨平台Android投屏与低延迟控制
技术揭秘:QtScrcpy如何实现跨平台Android投屏与低延迟控制 【免费下载链接】QtScrcpy Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限 项目地址: https://gitcode.com/barry-ran/QtScr…...
Nunchaku-flux-1-dev生成效果对比:不同采样器与步数下的画质差异
Nunchaku-flux-1-dev生成效果对比:不同采样器与步数下的画质差异 最近在玩AI生图的朋友,估计都绕不开一个话题:怎么调参数才能让图更好看?是选个快的采样器,还是选个慢的但质量高的?采样步数到底调到多少才…...
腾讯混元翻译模型HY-MT1.5-1.8B:免费开源,企业级翻译解决方案
腾讯混元翻译模型HY-MT1.5-1.8B:免费开源,企业级翻译解决方案 1. 引言 1.1 为什么选择HY-MT1.5-1.8B 在全球化的商业环境中,语言障碍成为企业拓展国际市场的首要挑战。腾讯混元团队推出的HY-MT1.5-1.8B翻译模型,以其18亿参数的…...
uniapp集成腾讯地图:从marker点聚合到轨迹回放的跨端实战与性能调优
1. uniapp集成腾讯地图SDK的核心步骤 第一次在uniapp里用腾讯地图SDK时,我踩了个大坑——直接在H5端跑代码发现地图出不来。后来才明白,腾讯地图在H5端需要单独配置安全域名。具体操作是在腾讯地图开放平台申请key时,必须把H5的域名加入白名单…...
