mPLUG-Owl2: 7B的多模态大模型

news2024/11/28 23:12:31

前言

  • 语言模型:LLama2 - 7B
  • 视觉模型:Clip-L 0.3B
    在这里插入图片描述

痛点

  • 作者任务以往的方法(Qformer,linear层)直接将视觉编码器中的视觉特征映射到冻结的LLMs中,通过利用保留的语言能力执行多模态任务。这种策略限制了模态协作的潜力。

模型结构

为了解决上述问题,作者设计了个多模态对齐的层,如图所示:
在这里插入图片描述
先看图a,整体模型结构包含以下几个部分:

  • 视觉底座:clip-L
  • 视觉抽象层:visual Abstractor,这层目的是把视觉底座出来的视觉token降纬,论文中视觉底座出来的token数是256,然后用visual Abstractor降维到64个token表示视觉特征。
  • 语言模型:
    • 本身基础是LLama2 7B。
    • 作者把transformer结构里面FFN之前的multi head self attention改成了Modality-Adaptive Module。

再看图b:

  • 看着多加了norm层,视觉和文本的token分别过对应的norm层,然后加了个FC层把视觉的特征也映射出KV,然后视觉的K和文本K拼接起来和Q算加权的attention分数加权到拼接的视觉的V和文本V,最后再过不同的norm给到FFN了。所以额外加的参数倒是不多,就实现了文本和视觉进行交互并且保留了原来的文本分支。

训练策略

预训练

  • 视觉底座可训
  • visual Abstractor可训
  • Modality-Adaptive Module中视觉部分外加的层可训
  • 语言模型部分整体不训练。
  • 预训练数据量:3.48亿

SFT阶段

  • 全参数可训
  • 图像尺度翻倍224->448

两个阶段训练参数对比

在这里插入图片描述

消融实验

Modality-Adaptive Module层的重要性

作者对比了加和不加这个层的时候语言模型的在语言数据集上的表现:
在这里插入图片描述
可以看到去掉这个模块,语言模型在语言的benchmark上都出现了性能损失。但是这里我感觉是不是应该放出llama2 7B本身在这上面评价的指标一起对比看看呢?如果加上了MAM对比原来的性能还是损失了很多说明这个方法也不是最优解。

视觉底座是不是要训呢?

在这里插入图片描述
作者实验了几个数据集,发现放开视觉训练带来涨点的还是比较多。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1392338.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Springboot整合Canal 实践经验

文章目录 前言一、Canal 服务端:1.1 canal.properties:1.2 canal的监听实例: 二、canal客户端2.1 客户端配置要监听的实例:2.2 通过连接获取信息 总结 前言 本文是Springboot整合Canal 实践过程中经验记录; 一、Canal…

Linux/Networked

Enumeration nmap 网站更新之后有了一个引导模式,更利于学习了,之前看ippsec的视频,要不总是没有思路,现在出现的问题多了提示也更多了,还没有使用,一会用用再说 首先,第一个问题是“目标上正…

2 python快速上手

2 python快速上手 快速上手1.编码(密码本)2.编程初体验3.输出4. 初识数据类型4.1 整形(int)4.2 字符串(str)4.3 布尔类型(bool)4.4 类型转换 5. 变量5.1 变量名的规范5.2 变量内存指…

项目架构之Zabbix部署

1 项目架构 1.1 项目架构的组成 业务架构:客户端 → 防火墙 → 负载均衡(四层、七层) → web缓存/应用 → 业务逻辑(动态应用) → 数据缓存 → 数据持久层 运维架构:运维客户端 → 跳板机/堡垒机&#x…

探索Python数据结构与算法:解锁编程的无限可能

文章目录 一、引言1.1 数据结构与算法对于编程的重要性1.2 Python作为实现数据结构与算法的强大工具 二、列表和元组2.1 列表:创建列表、索引、切片和常用操作2.2 元组:不可变序列的特性和使用场景 三、字符串操作和正则表达式3.1 字符串的常见操作和方法…

本地运行LlaMA 2的简易指南

大家好,像LLaMA 2这样的新开源模型已经变得相当先进,并且可以免费使用。可以在商业上使用它们,也可以根据自己的数据进行微调,以开发专业版本。凭借其易用性,现在可以在自己的设备上本地运行它们。 本文将介绍如何下载…

0003.为什么有的电流表需要使用分流器?

以下两款电流表,你仔细看能有什么发现? 除了量程一个是20A,一个是30A,还有什么区别? 仔细观察你会发现30A的电流表上还有一个20A电流表没有的参数75mV. 是的,这就是他们之间最大的差距。 要测量一…

HTML--基本结构构成

基本结构&#xff1a; 文档声明: <!DOCTYPE html> htm标签对 :<html> </html> head标签对&#xff1a; <head> </head> body标签对&#xff1a;<body> </body> 如下结构&#xff1a; <html> <head> <title>这是一…

修改iview的表格table展开的默认icon和样式

修改前 修改后 修改内容 .title_label_list .ivu-icon-ios-add{font-size: 26px;color: #888888; } .title_label_list .ivu-icon-ios-add:hover{color: #11AAAA; } .title_label_list .ivu-icon-ios-add:before {content: "\F341"; } .title_label_list .ivu-icon-…

JVM工作原理与实战(十八):运行时数据区-堆

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、运行时数据区 二、堆 1.堆介绍 2.关键参数 总结 前言 ​JVM作为Java程序的运行环境&#xff0c;其负责解释和执行字节码&#xff0c;管理内存&#xff0c;确保安全&#xff0c…

Qt/QML编程之路:小键盘keyboard(36)

小键盘对于qml应用是经常用到的,在qml里面,就如一个fileDialog也要自己画一样,小键盘keyboard也是要自己画的,对于相应的每个按键的clicked都要一一实现的。 这里有一个示例: 代码如下: import QtQuick 2.5 import QtQuick.Controls 1.4 import QtQuick.Window 2.0 im…

【刷题】 leetcode 2 .两数相加

两数相加 两数相加1 思路一 &#xff08;暴毙版&#xff09;2 思路二 &#xff08;本质出发&#xff09; 谢谢阅读Thanks♪(&#xff65;ω&#xff65;)&#xff89;下一篇文章见&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 两数相加 我们来看…

DQN、Double DQN、Dueling DQN、Per DQN、NoisyDQN 学习笔记

文章目录 DQN (Deep Q-Network)说明伪代码应用范围 Double DQN说明伪代码应用范围 Dueling DQN实现原理应用范围伪代码 Per DQN (Prioritized Experience Replay DQN)应用范围伪代码 NoisyDQN伪代码应用范围 部分内容与图片摘自&#xff1a;JoyRL 、 EasyRL DQN (Deep Q-Networ…

Queue详解(Java)

Queue详解 Java 中的队列&#xff08;Queue&#xff09;是一种数据结构&#xff0c;它遵循先进先出&#xff08;FIFO&#xff09;的原则。队列可以用于在一个集合中保存一组元素&#xff0c;并支持在队列的尾部添加元素&#xff0c;以及在队列的头部移除元素。 Java 标准库提…

CleanMyMac X .4.14.7如何清理 Mac 系统?

细心的用户发现苹果Mac电脑越用越慢&#xff0c;其实这种情况是正常的&#xff0c;mac电脑用久了会产生很多的缓存文件&#xff0c;如果不及时清理会影响运行速度。Mac系统在使用过程中都会产生大量系统垃圾&#xff0c;如不需要的系统语言安装包&#xff0c;视频网站缓存文件&…

Spring全家桶

官网 Spring | Home 一、市面上主流的Spring框架以及简介 Spring Framework&#xff1a;Spring Framework是最基础、最核心的Spring框架&#xff0c;提供了IoC&#xff08;控制反转&#xff09;和AOP&#xff08;面向切面编程&#xff09;等功能。它是其他Spring项目的基础&am…

统计学-R语言-5.2

文章目录 前言大数定理中心极限定理和抽样分布抽样分布样本均值的分布样本比例的分布练习 前言 本篇文章将继续上篇的进行介绍。 大数定理 大数定理大数定理”的另一种表达方式是“均值定理”&#xff0c;其含义是&#xff0c;随机变量X多个观察值的均值会随着观察值的增加越…

探索 Python:发现有趣的库——第 1 章:数据可视化之旅

在一个充满活力的科技世界中&#xff0c;数据分析专家“算法仙”和编程爱好者“代码侠”相遇了&#xff0c;决定一起踏上数据可视化的探险之旅。他们将运用 Matplotlib 和 Seaborn 这两个强大的 Python 库&#xff0c;将枯燥的数据转化为生动的图形。 算法仙&#xff1a;你好&…

【部署LLaMa到自己的Linux服务器】

部署LLaMa到自己的Linux服务器 1、Llama2 项目获取方法1&#xff1a;有git可以直接克隆到本地方法2&#xff1a;直接下载 2、LLama2 项目部署3、申请Llama2许可4、下载模型权重5、运行 1、Llama2 项目获取 方法1&#xff1a;有git可以直接克隆到本地 创建一个空文件夹然后鼠标…

vscode无法自动补全

前提&#xff1a;安装c/c插件 c/c插件功能非常强大&#xff0c;几乎能满足日常编码过程中常用的功能&#xff1b;因此也包含自动补全的功能&#xff0c;开启方法如下&#xff1a; 文件->首选项->设置&#xff1a; 扩展->c/c->Intellisense&#xff0c;找到Intell…