多模态大语言模型的对比

news2024/12/24 2:27:22

简介

文章主要对比了包括 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 训练过程

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

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

相关文章

Docker Compose 和 Kubernetes 之间的区别?

一、简介&#x1f380; 1.1 Docker Compose Docker Compose 是 Docker 官方的开源项目&#xff0c;负责实现对 Docker 容器集群的快速编排&#xff0c;可以管理多个 Docker 容器组成一个应用。你只需定义一个 YAML 格式的配置文件 docker-compose.yml &#xff0c;即可创建并…

小迪安全笔记 第四十四天 sql盲注 实战利用sql盲注 进行漏洞的利用

sql盲注的分类 什么是盲注 就是我们什么也不知道的情况下进行的注入 前边的注入 都是简单的注入 我们猜测 数据类型 之后 可以直接 union 去查 这种情况多用于 数据库增删查改中的 查 bool盲注也用于查 这个的情况的就是我们前边都试了 没有用 就需要…

FFmpeg:强大的音视频处理工具指南

FFmpeg&#xff1a;强大的音视频处理工具指南 1. FFmpeg简介2. 核心特性2.1 基础功能2.2 支持的格式和编解码器 3. 主要组件3.1 命令行工具3.2 开发库 4. 最新发展5. 安装指南5.1 Windows系统安装5.1.1 直接下载可执行文件5.1.2 使用包管理器安装 5.2 Linux系统安装5.2.1 Ubunt…

Cursor+Devbox AI开发快速入门

1. 前言 今天无意间了解到 Cursor 和 Devbox 两大开发神器,初步尝试以后发现确实能够大幅度提升开发效率,特此想要整理成博客以供大家快速入门. 简单理解 Cursor 就是一款结合AI大模型的代码编辑器,你可以将自己的思路告诉AI,剩下的目录结构的搭建以及项目代码的实现均由AI帮…

MySQL——操作

一.库的操作 1.基本操作 创建数据库 create database 数据库名称; 查看数据库 show databases; 删除数据库 drop database 数据库名称; 执行删除之后的结果: 数据库内部看不到对应的数据库 对应的数据库文件夹被删除&#xff0c;级联删除&#xff0c;里面的数据表全部被删…

【Python系列】使用 `psycopg2` 连接 PostgreSQL 数据库

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

MacOS安装sshfs挂载远程电脑硬盘到本地

文章目录 sshfs简介sshfs安装下载安装macFUSE安装sshfs sshfs使用注意事项 sshfs简介 SSHFS&#xff08;SSH Filesystem&#xff09;是一种基于FUSE&#xff08;用户空间文件系统&#xff09;的文件系统&#xff0c;它允许你通过SSH协议挂载远程文件系统。使用SSHFS&#xff0…

数据结构---链表(2)---双向链表

链表(1)中讲过了在OJ题中出现很多并且能作为一些复杂数据结构子结构的不带头单向不循环链表&#xff0c;下面讲解应用很广很实用的带头双向循环链表。 三、双向链表---DoublyLinkedList 演示带头双向循环链表(实用)。 带头--->不需要对空链表继续单独判断&#xff1b;循环…

Web 毕设篇-适合小白、初级入门练手的 Spring Boot Web 毕业设计项目:智行无忧停车场管理系统(前后端源码 + 数据库 sql 脚本)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 项目介绍 1.1 项目功能 2.0 用户登录功能 3.0 首页界面 4.0 车辆信息管理功能 5.0 停车位管理功能 6.0 入场登记管理功能 7.0 预约管理功能 8.0 收费规则功能 9.0…

【text2sql】低资源场景下Text2SQL方法

SFT使模型能够遵循输入指令并根据预定义模板进行思考和响应。如上图&#xff0c;、 和 是用于通知模型在推理过程中响应角色的角色标签。 后面的内容表示模型需要遵循的指令&#xff0c;而 后面的内容传达了当前用户对模型的需求。 后面的内容代表模型的预期输出&#xff0c;也…

MongoDB安装|注意事项

《疯狂Spring Boot讲义》是2021年电子工业出版社出版的图书&#xff0c;作者是李刚 《疯狂Spring Boot终极讲义》不是一本介绍类似于PathVariable、MatrixVariable、RequestBody、ResponseBody这些基础注解的图书&#xff0c;它是真正讲解Spring Boot的图书。Spring Boot的核心…

基于 LLamafactory 的异步API高效调用实现与速度对比

文章目录 背景摘要简介代码实现运行结果速度对比异步调用速度同步调用速度 背景 原先经常调用各家的闭源大模型的API&#xff0c;如果使用同步的方式调用&#xff0c;速度会很慢。为了加快 API 的调用速度&#xff0c;决定使用异步调用 API 的方式。 摘要 通过异步方式调用大…

Linux的用户和权限【Linux操作系统】

文章目录 Linux的用户切换用户普通用户暂时以root用户的权限执行指令如何把一个普通用户加入白名单? 新建用户 Linux权限权限的组成更改权限文件/目录权限的表示方法&#xff1a; umask粘滞位添加粘滞位的方法 Linux的用户 Linux下有两种⽤⼾&#xff1a;超级用户&#xff08…

如何使用apache部署若依前后端分离项目

本章教程介绍,如何在apache上部署若依前后端分离项目 一、教程说明 本章教程,不介绍如何启动后端以及安装数据库等步骤,着重介绍apache的反向代理如何配置。 参考此教程,默认你已经完成了若依后端服务的启动步骤。 前端打包命令使用以下命令进行打包之后会生成一个dist目录…

优先算法 —— 滑动窗口系列 - 无重复字符的最长子串

目录 前言 1. 无重复字符的最长子串 2. 题目解析 3. 算法原理 解法1&#xff1a;暴力枚举 哈希表&#xff08;判断字符是否有重复出现&#xff09; 解法2&#xff1a;滑动窗口 4. 代码 前言 当我们发现暴力解法两个指针都不回退&#xff0c;都是向同一个方向移动的时候我…

2024年认证杯SPSSPRO杯数学建模B题(第一阶段)神经外科手术的定位与导航解题全过程文档及程序

2024年认证杯SPSSPRO杯数学建模 B题 神经外科手术的定位与导航 原题再现&#xff1a; 人的大脑结构非常复杂&#xff0c;内部交织密布着神经和血管&#xff0c;所以在大脑内做手术具有非常高的精细和复杂程度。例如神经外科的肿瘤切除手术或血肿清除手术&#xff0c;通常需要…

Jest timers

引入 我们自己先写一个定时器,在这里,这个测试是一定会通过的,因为他一旦传入callback,就算是完成了,而不是在意你的运行结果了,而且你的定时器还有几秒呢 export const timer (fn) > {setTimeout(() > {fn()}, 3000) }//test import {timer} from "./timer"…

数据链路层(四)---PPP协议的工作状态

1 PPP链路的初始化 通过前面几章的学习&#xff0c;我们学了了PPP协议帧的格式以及组成&#xff0c;那么对于使用PPP协议的链路是怎么初始化的呢&#xff1f; 当用户拨号上网接入到ISP后&#xff0c;就建立起了一条个人用户到ISP的物理链路。这时&#xff0c;用户向ISP发送一…

UE5 C++ 不规则按钮识别,复选框不规则识别 UPIrregularWidgets

插件名称&#xff1a;UPIrregularWidgets 插件包含以下功能 你可以点击任何图片&#xff0c;而不仅限于矩形图片。 UPButton、UPCheckbox 基于原始的 Button、Checkbox 扩展。 复选框增加了不规则图像识别功能&#xff0c;复选框增加了悬停事件。 欢迎来到我的博客 记录学习过…

Latex转word(docx)或者说PDF转word 一个相对靠谱的方式

0. 前言 投文章过程中总会有各种各样的要求&#xff0c;其中提供word格式的手稿往往是令我头疼的一件事。尤其在多公式的文章中&#xff0c;其中公式转换是一个头疼的地方&#xff0c;还有很多图表&#xff0c;格式等等&#xff0c;想想就让人头疼欲裂。实践中摸索出一条相对靠…