多模态大语言模型的对比

简介

文章主要对比了包括 VideoLLaMA 2CogVLM2-videoMiniCPM-V等模型

目前主流的多模态视觉问答大模型,大部分采用视觉编码器大语言模型图像到文本特征的投影模块

目录

  • 简介
  • 1. VideoLLaMA 2
    • 1.1 网络结构
    • 1.2 STC connector具体的架构
  • 2. MiniCPM-V 2.6
    • 2.1 模型的主要架构
    • 2.2 Model部分
    • 2.3 训练过程

1. VideoLLaMA 2

1.1 网络结构

在这里插入图片描述
该部分最主要的为一个STCconnector

主要过程:

  1. 输入的连续图像帧进入视觉编码器中进行视觉编码
  2. 后进入STC connector 该部分由空间卷积(ResNet) -> 时间空间的下采样(3D卷积) -> 空间卷积(ResNet)->进行flatten操作 -> 后进入几层全连接层(Priojection W)
  3. 组后进入Pre-trained Large Lanuage Model(可自主选择不同的大语言模型进行拼接)

1.2 STC connector具体的架构

其中:STC connector的伪代码如下图所示:
在这里插入图片描述

2. MiniCPM-V 2.6

2.1 模型的主要架构

在这里插入图片描述

2.2 Model部分

(1)引入了一种自适应视觉编码方法,来源于 LLAVA-UHD 方法。
(2)通过分割图像、调整分辨率及压缩视觉 token 来达到高效编码的目的。
但是在实际使用的过程中,虽然模型的准确率在同量级的视觉问答大模型中,但是在推理的速度上相比还是存在较大的差距


  1. Image Partition(图像分割)
  • 输入分辨率与预训练分辨率

    • 输入图像分辨率为 ( W I , H I ) (W_I, H_I) (WI,HI),模型的预训练分辨率为 ( W v , H v ) (W_v, H_v) (Wv,Hv)
    • 通过以下公式计算理想的切片数量:
      N = W I × H I W v × H v N = \frac{W_I \times H_I}{W_v \times H_v} N=Wv×HvWI×HI
      这里 N N N 是切片数量。
  • 选择分割方案

    • 将图像切分为 m m m行和 n n n 列的矩形网格,满足 m × n = N m \times n = N m×n=N
    • 用以下目标函数 S ( m , n ) S(m, n) S(m,n) 评估每种分割方案:
      S ( m , n ) = − ( log ⁡ W I / m W v + log ⁡ H I / n H v ) S(m, n) = - \left( \log \frac{W_I / m}{W_v} + \log \frac{H_I / n}{H_v} \right) S(m,n)=(logWvWI/m+logHvHI/n)
      • 该目标函数衡量切片的宽高比与预训练分辨率的偏差,越小越好。
  • 最优分割方案选择

    • 选择目标函数值 S ( m , n ) S(m, n) S(m,n)最大的方案:
      ( m ∗ , n ∗ ) = argmax ( m , n ) ∈ C N S ( m , n ) (m^*, n^*) = \text{argmax}_{(m, n) \in C_N} S(m, n) (m,n)=argmax(m,n)CNS(m,n)
    • C N C_N CN是所有可能的 m , n m, n m,n组合集合。
  • 实际约束

    • 为减少复杂度,限制切片数量 N ≤ 10 N \leq 10 N10
    • N N N 是质数时,允许引入更多的分割选项,如 ( N − 1 ) (N-1) (N1) ( 1 , N + 1 ) (1, N+1) (1,N+1)
    • 目标是在高分辨率(如 1344 × 1344 1344 \times 1344 1344×1344)下兼顾效率和细节。

  1. Slice Encoding(切片编码)
    在图像被分割后,每个切片需要适配模型的输入分辨率。
  • 调整切片大小

    • 每个切片被调整为与 ViT 预训练分辨率 ( W v , H v ) (W_v, H_v) (Wv,Hv)相匹配。
    • 调整大小时保留切片的宽高比,从而尽量减少失真。
  • 位置编码调整

    • ViT 的预训练位置编码是 1D 的,需要对 2D 图像重新插值:
    • 原始位置编码 P 1 ∈ R q × q P_1 \in \mathbb{R}^{q \times q} P1Rq×q被插值为 2D 形式 P 2 ∈ R q 2 × q 2 P_2 \in \mathbb{R}^{q^2 \times q^2} P2Rq2×q2,以适配切片大小。
    • 保留全局信息:
    • 额外加入整幅图像的缩略图作为全局信息的补充。

  1. Token Compression(令牌压缩)
    在编码切片后,每个切片会生成大量的视觉 token,这部分讨论了如何压缩这些 token。
  • 问题
    • 高分辨率图像会生成过多的视觉 token。
    • 例如,10 个切片每个生成 1024 个 token,总计 10,240 个 token,这会导致计算负担。
  • 压缩方法
    • 使用一个跨层注意力(cross-attention)模块对 token 进行压缩。
    • 每个切片的 token 从 1024 压缩到 64,总计 640 个 token。
    • 在 MiniCPM-Llama-v2 的框架下,这种压缩方法在性能与效率之间取得了平衡。

  1. Spatial Schema(空间模式)
    为帮助模型理解切片之间的空间关系,引入了空间标记。
    • 位置标记:每个切片前后加上特殊 token: <slice> 标记切片的开始,<slice_end> 标记切片的结束。行与行之间用特殊 token "n" 分隔。
    • 全局信息 将图像整体位置编码加入输入中,帮助模型理解图像切片的全局位置关系。

2.3 训练过程

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

美畅物联丨智能监控,高效运维:视频汇聚平台在储能领域的实践探索

在当今全球能源格局不断变化的大背景下&#xff0c;对清洁能源的需求正以惊人的速度增长。储能项目作为平衡能源供需、提升能源利用效率的关键环节&#xff0c;其规模和复杂度也在不断攀升。在储能项目的运营管理过程中&#xff0c;安全监控、设备运维以及数据管理等方面面临着…

node.js实现分页,jwt鉴权机制,token,cookie和session的区别

文章目录 1. 分⻚功能2. jwt鉴权机制1.jwt是什么2.jwt的应用3.优缺点 3. cookie&#xff0c;token&#xff0c;session的对比 1. 分⻚功能 为什么要分页 如果数据量很⼤&#xff0c;⽐如⼏万条数据&#xff0c;放在⼀个⻚⾯显⽰的话显然不友好&#xff0c;这时候就需要采⽤分⻚…

消息中间件-Kafka2-3.9.0源码构建

消息中间件-Kafka2-3.9.0源码构建 1、软件环境 JDK Version 1.8Scala Version 2.12.0Kafka-3.9.0 源码包 下载地址&#xff1a;https://downloads.apache.org/kafka/3.9.0/kafka-3.9.0-src.tgzGradle Version > 8.8Apache Zookeeper 3.7.0 2、源码编译 打开源码根目录修改…

修复docker启动失败:Failed to start Docker Application Container Engine

配置了镜像源之后&#xff0c;运行sudo systemctl restart docker.service失败&#xff0c;提示让运行systemctl status docker.service或journalctl -xeu docker.service查看详细信息。 运行后者发现有如下日志&#xff1a; 红色区域是我设置的一个镜像源这个日志的意思就是…

【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-43

文件下载与邀请翻译者 学习英特尔开发手册&#xff0c;最好手里这个手册文件。原版是PDF文件。点击下方链接了解下载方法。 讲解下载英特尔开发手册的文章 翻译英特尔开发手册&#xff0c;会是一件耗时费力的工作。如果有愿意和我一起来做这件事的&#xff0c;那么&#xff…

遗传算法与深度学习实战(26)——编码卷积神经网络架构

遗传算法与深度学习实战&#xff08;26&#xff09;——编码卷积神经网络架构 0. 前言1. EvoCNN 原理1.1 工作原理1.2 基因编码 2. 编码卷积神经网络架构小结系列链接 0. 前言 我们已经学习了如何构建卷积神经网络 (Convolutional Neural Network, CNN)&#xff0c;在本节中&a…

react 路由鉴权

权限路由一般两种 1中接口中返回菜单 2 接口中返回权限&#xff0c;前端做匹配 一般都是那种结合&#xff0c;react中没有vue那种钩子函数如何做&#xff1f; 在项目中写一个高阶函数&#xff0c;在高阶函数中判断权限、是否登录等操作app.tsx或者man.tsx中使用 《AuthRouter》…

Ansys Maxwell:电机中的磁芯和磁体损耗

了解磁体中的涡流损耗和电动机叠片中的磁芯损耗 磁体中的涡流损耗会影响电动机的效率和热性能。当交变磁场在导电材料&#xff08;例如电动机中使用的磁铁&#xff09;内感应出电流回路时&#xff0c;就会发生这种现象。这些电流会产生热量&#xff0c;导致效率降低和磁热点。…

EtherCAT转ProfiNet网关实现西门子1200PLC与伺服电机连接的通讯案例

一. 案例背景 西门子1200PLC通过捷米特JM-ECTM-PN(EtherCAT转ProfiNet)网关将松下伺服电机(包括不限于型号MHMFO22D1U2M)或EtherCAT协议的其它设备或连接到ProfiNetPLC上&#xff0c;并在正常运行中支持EtherCAT协议。本产品可作为EtherCAT主站&#xff0c;做为西门子S7-1200系…

在 MacOS 上为 LM Studio 更换镜像源

在 MacOS 之中使用 LM Studio 部署本地 LLM时&#xff0c;用户可能会遇到无法下载模型的问题。 一般的解决方法是在 huggingface.co 或者国内的镜像站 hf-mirror.com 的项目介绍卡页面下载模型后拖入 LM Studio 的模型文件夹。这样无法利用 LM Studio 本身的搜索功能。 本文将…

AI开发:用模型来识别手写数字的完整教程含源码 - Python 机器学习

今天一起来学习scikit-learn 。 scikit-learn 是一个强大的 Python 机器学习库&#xff0c;提供多种分类、回归、聚类算法&#xff0c;适用于从数据预处理到模型评估的全流程。它支持简单一致的 API&#xff0c;适合快速构建和测试模型。 官方地址在这里&#xff0c;记得Mark…

快速上手 RabbitMQ:使用 Docker 轻松搭建消息队列系统

在现代的分布式系统中&#xff0c;消息队列&#xff08;Message Queue&#xff09;是实现异步通信、解耦系统组件、提高系统可扩展性和可靠性的重要工具。RabbitMQ 是一个广泛使用的开源消息代理软件&#xff0c;它实现了高级消息队列协议&#xff08;AMQP&#xff09;&#xf…

任务管理法宝:甘特图详解

在项目管理中&#xff0c;如何清晰、直观地展示项目的进度和任务分配&#xff1f; 甘特图作为一种经典的项目管理工具&#xff0c;提供了有效的解决方案。无论是团队合作还是个人项目管理&#xff0c;甘特图都能帮助你轻松追踪各项任务的进展。今天&#xff0c;我们将详细介绍…

Keil5配色方案修改为类似VSCode配色

1. 为什么修改Keil5配色方案 视觉习惯&#xff1a;如果你已经习惯了VSCode的配色方案&#xff0c;尤其是在使用ESP-IDF开发ESP32时&#xff0c;Keil5的默认配色可能会让你感到不习惯。减少视觉疲劳&#xff1a;Keil5的默认背景可能过于明亮&#xff0c;长时间使用可能会导致视…

电子病历静态数据脱敏路径探索

一、引言 数据脱敏&#xff08;Data Masking&#xff09;&#xff0c;屏蔽敏感数据&#xff0c;对某些敏感信息&#xff08;比如patient_name、ip_no、ad、no、icd11、drug等等 &#xff09;通过脱敏规则进行数据的变形&#xff0c;实现隐私数据的可靠保护。电子病历作为医疗领…

【Linux | 计网】TCP协议深度解析:从连接管理到流量控制与滑动窗口

目录 前言&#xff1a; 1、三次握手和四次挥手的联系&#xff1a; 为什么挥手必须要将ACK和FIN分开呢&#xff1f; 2.理解 CLOSE_WAIT 状态 CLOSE_WAIT状态的特点 3.FIN_WAIT状态讲解 3.1、FIN_WAIT_1状态 3.2、FIN_WAIT_2状态 3.3、FIN_WAIT状态的作用与意义 4.理解…

矩阵加法        ‌‍‎‏

矩阵加法 C语言代码C 语言代码Java语言代码Python语言代码 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 输入两个n行m列的矩阵A和B&#xff0c;输出它们的和AB。 输入 第一行包含两个整数n和m&#xff0c;表示矩阵的行数和列数。1 <…

当大的div中有六个小的div,上面三个下面三个,当外层div高变大的时候我希望里面的小的div的高也变大

问&#xff1a; 当大的div中有六个小的div&#xff0c;上面三个下面三个&#xff0c;当外层div高变大的时候我希望里面的小的div的高也变大 回答&#xff1a; 这时候我们就不能写死六个小的div的高度&#xff0c;否则上下的小的div的间距就会变大&#xff0c;因为他们的高度…

C++打造局域网聊天室第一课:编程环境及准备知识

文章目录 前言一、使用环境二、基础知识1.MFC&#xff08;Microsoft Foundation Class&#xff09;2.API&#xff08;Application Programming Interface&#xff09;3.Unicode编码4.简单的比较5.WinSock6.多线程知识 总结 前言 C打造局域网聊天室第一课&#xff1a;编程环境及…

【网络安全】网站常见安全漏洞 - 网站基本组成及漏洞定义

文章目录 引言1. 一个网站的基本构成2. 一些我们经常听到的安全事件3. 网站攻击者及其意图3.1 网站攻击者的类型3.2 攻击者的意图 4. 漏洞的分类4.1 按来源分类4.2 按危害分类4.3 常见漏洞与OWASP Top 10 引言 在当今的数字化时代&#xff0c;安全问题已成为技术领域不可忽视的…