VoCo-LLaMA: Towards Vision Compression with Large Language Models

视觉语言模型在各种多模态任务上取得了显著的成功,但经常受到有限上下文窗口和处理高分辨率图像输入和视频的高计算成本的瓶颈。视觉压缩可以通过减少视觉令牌数量避免该问题。先前方法使用额外模块压缩视觉令牌并强制LLM理解压缩的令牌。然而,LLM对视觉令牌的理解范式在压缩学习过程中没有充分利用。本文提出了VoCo-LLaMA,这是第一种使用LLM压缩视觉视觉令牌的方法。通过在视觉指令调整过程中引入视觉压缩令牌并利用注意力蒸馏,本文方法蒸馏了LLM如何将LLM视觉令牌理解到它们对VoCo令牌的处理。

VoCo-LLaMA

本文VoCo-LLaMA算法引入特殊的视觉压缩(Vision Compression,VoCo)令牌,以利用LLM压缩和理解图像压缩表示的能力。大语言模型输入序列由连接视觉令牌,特殊的VoCo令牌和文本令牌形成。

X = ( V , V o C o , T ) = ( V 0 , … , V n , V o C o , T 0 , … , T m ) \mathcal{X}=(\mathcal{V},VoCo,\mathcal{T})=(V_{0},\ldots,V_{n},VoCo,T_{0},\ldots,T_{m}) X=(V,VoCo,T)=(V0,,Vn,VoCo,T0,,Tm)

在训练阶段,使用两阶段注意力机制。最初,本文对文本令牌施加一个约束,明确阻止它们关注原始视觉令牌,同时强迫它们只关注压缩和蒸馏的VoCo令牌。随后由于casual Transformer,视觉令牌受到VoCo令牌的持续关注。这种刻意的设计保证了文本令牌只捕捉VoCo令牌中编码的蒸馏视觉信息,而不是直接与原始视觉令牌交互,实现了从视觉令牌到压缩令牌的压缩蒸馏。

VoCo-LLaMA的压缩过程可以战略性地通过调整注意力掩码优雅地实现。具体地,将文本令牌和视觉令牌之间注意力权重设置为False。 M ∈ R ( m + n − 1 ) × ( m + n − 1 ) \mathbf{M}\in \mathbb{R}^{(m+n-1)\times (m+n-1)} MR(m+n1)×(m+n1) 为注意力掩码。定义调整后注意力掩码为:

M i j = { True,  if  i ∈ T and  j ∈ V o C o , False,  if  i ∈ T and  j ∈ V , True,  otherwise.  M_{i j}=\left\{\begin{array}{ll} \text { True, } & \text { if } i \in \mathcal{T} \text { and } j \in V o C o, \\ \text { False, } & \text { if } i \in \mathcal{T} \text { and } j \in \mathcal{V}, \\ \text { True, } & \text { otherwise. } \end{array}\right. Mij=  True,  False,  True,  if iT and jVoCo, if iT and jV, otherwise. 

值得注意的是本文对注意力掩码的修改是基于仅解码器模型(如LLaVA)中casual注意力掩码实现,该模型被初始化为左下三角矩阵。实践中,VoCo-LLaMA可以在标准的监督微调范式下进行有效训练,利用VLM中现成的大量图像文本数据。此外,VoCo令牌可以紧凑地表示为一组Transformer激活,允许缓存它们以提高推理效率。

VoCo-LLaMA使得大语言模型能够学习视觉令牌的压缩过程 V o C o ( V ) VoCo(\mathcal{V}) VoCo(V),通过学习理解压缩的VoCo令牌,例如学习分布 p V o C o ( y ∣ V o C o ( V ) , T ) p_{VoCo}(y|VoCo(\mathcal{V}),\mathcal{T}) pVoCo(yVoCo(V),T)。优化目标可以描述为:
L ( V L M o , V o C o ) = E V , T [ D K L ( p V L M o ( y ∣ V , T ) ) ∣ ∣ p V o C o ( y ∣ V o C o ( V ) , T ) ) ] L(VLM_{o},VoCo)=E_{\mathcal{V},\mathcal{T}}[D_{KL}(p_{VLM_{o}}(y|\mathcal{V},\mathcal{T}))||p_{VoCo}(y|VoCo(\mathcal{V}),\mathcal{T}))] L(VLMo,VoCo)=EV,T[DKL(pVLMo(yV,T))∣∣pVoCo(yVoCo(V),T))]

另外本文的设计还提供了一个额外的优势:VoCo令牌在压缩过程中专门与输入文本交互,在视觉与文本模态之间建立无缝通道。这使得本文算法能够毫不费力地将压缩视觉信息与文本模态对齐,无需专门的文本视觉感知多模态对齐模块设计

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

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

相关文章

iOS平台接入Facebook登录

1、FB开发者后台注册账户 2、完善App信息 3、git clone库文件代码接入 4、印尼手机卡开热点调试 备注: 可能遇到的问题: 1、Cocos2dx新建的项目要更改xcode的git设置,不然卡在clone,无法在线获取FBSDK 2、动态库链接 需要在…

unity打包web,发送post请求,获取地址栏参数,解决TypeError:s.replaceAll is not a function

发送post请求 public string url "http://XXXXXXXXX";// 请求数据public string postData "{\"user_id\": 1}";// Start is called before the first frame updatevoid Start(){// Post();StartCoroutine(PostRequestCoroutine(url, postData…

VTK编程指南<三>:基于VTK入门程序解析来理解VTK基础知识

1、VTK入门程序 下面是一个完整的Vtk入门程序&#xff0c;我们基于这个程序来对VTK的基本知识进行一个初步了解。 #include <iostream>#include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRenderingOpenGL2);// VTK was built with vtkRenderingOpenGL2 VTK_MODULE_INI…

IMP-00038: 无法转换为环境字符集句柄

问题 在导入oracle数据库文件的时候报这个报错&#xff0c;原因是你使用的是imp命令导入的使用expdp命令导出的dmp文件导致的。 原因 关于imp命令和expdp命令 exp和imp是客户端的工具程序命令&#xff0c;既可以在客户端使用&#xff0c;也可以在服务端使用。 expdp和impd…

大语言模型应用Text2SQL本地部署实践初探

自从两年前OpenAI公司发布ChatGPT后&#xff0c;大模型(Large Language Model&#xff0c;简称LLM)相关技术在国内外可谓百家争鸣&#xff0c;遍地开花&#xff0c;在传统数据挖掘、机器学习和深度学习的基础上&#xff0c;正式宣告进入快速发展的人工智能(Artificial Intellig…

shell脚本实战案例

文章目录 实战第一坑功能说明脚本实现 实战第一坑 实战第一坑&#xff1a;在Windows系统写了一个脚本&#xff0c;比如上面&#xff0c;随后上传到服务&#xff0c;执行会报错 原因&#xff1a; 解决方案&#xff1a;在linux系统touch文件&#xff0c;并通过vim添加内容&…

Power BI - 批量导入数据

1.简单介绍 假定已经使用Power Automate Desktop(微软的RPA产品&#xff0c;是Power Platform平台的其中一个产品)从福布斯中文网获取了各地区的2024年的财富数据如下&#xff0c; 现在想批量导入数据到Power BI中&#xff0c;分析一下各地区的产业以及财富情况 2.具体说明 …

医疗系统国产数据库高质量发展路径探析

信息工程人员操作数据库 一、国外数据库在医疗系统中的困境 &#xff08;一&#xff09;数据分散与难以整合 在美国&#xff0c;分散式医疗服务成为癌症研究数据库优化的巨大障碍。患者先在社区接受肿瘤科医生常规检查&#xff0c;再到学术医疗中心进行尖端治疗&#xff0c;然…

Maven 打包出现问题解决方案

我执行 mvn install 报如下错误 可是我在 web 模块中能正确引用到 common 的类&#xff0c;于是我把 web 引用到的 common 中的类先移动到 web 模块中&#xff0c;然后把 common 模块的类都删掉&#xff0c;然后再次执行 mvn install,结果报错如下&#xff1a; [ERROR] Faile…

微信小程序里的小游戏研发需要什么技术栈

研发小程序里的小游戏通常需要以下技术栈&#xff1a; 前端技术 HTML5 / CSS3&#xff1a;用于构建游戏的界面布局和样式。JavaScript&#xff1a;作为核心编程语言&#xff0c;实现游戏的逻辑和交互。小程序开发框架&#xff1a;如微信小程序的开发框架&#xff0c;了解其 API…

NIO(New IO)和BIO(Blocking IO)的区别

Java中的NIO&#xff08;New IO&#xff09;和BIO&#xff08;Blocking IO&#xff09;的区别及NIO的核心组件 Java中的NIO&#xff08;New IO&#xff09;和BIO&#xff08;Blocking IO&#xff09;是两种不同的网络通信模型&#xff0c;各自具有独特的特性和适用场景。下面将…

RabbitMQ延迟消息的实现

RabbitMQ延迟队列的实现 延迟消息是什么延迟消息的实现死信交换机代码实现 延迟消息插件 延迟消息是什么 延迟消息是将消息发送到MQ中&#xff0c;消费者不会立即收到消息&#xff0c;而是过一段时间之后才会收到消息&#xff0c;进行处理。在一些业务中&#xff0c;可以用到延…

HTML5 拖拽 API 深度解析

一、HTML5 拖拽 API 深度解析 1.1 背景与发展 HTML5 的拖拽 API 是为了解决传统拖拽操作复杂而设计的。传统方法依赖鼠标事件和复杂的逻辑计算&#xff0c;而 HTML5 提供了标准化的拖拽事件和数据传递机制&#xff0c;使得开发者能够快速实现从一个元素拖拽到另一个元素的交互…

3D 生成重建017-StyleGaussian用文本或图像对你的3DGS内容进行风格迁移

3D 生成重建017-StyleGaussian用文本或图像对你的3DGS内容进行风格迁移 文章目录 0 论文工作1 论文方法2 实验结果 0 论文工作 论文 “StyleGaussian: Instant 3D Style Transfer with Gaussian Splatting” 介绍了一种新颖的3D风格迁移方法 StyleGaussian&#xff0c;该方法通…

如何查看电脑的屏幕刷新率?

1、按一下键盘的 win i 键&#xff0c;打开如下界面&#xff0c;选择【系统】&#xff1a; 2、选择【屏幕】-【高级显示设置】 如下位置&#xff0c;显示屏幕的刷新率&#xff1a;60Hz 如果可以更改&#xff0c;则选择更高的刷新率&#xff0c;有助于电脑使用起来界面更加流…

【JVM】JVM基础教程(一)

目录 初识JVM JVM是什么&#xff1f; JVM的功能 解释、即时编译和运行 内存管理 常见的JVM JVM虚拟机规范 HotSpot的发展历程 JVM的组成 字节码文件详解 应用场景 以正确姿势打开字节码文件 ​编辑字节码文件的组成 基本信息 Magic魔数 主副版本号 常量池 接口…

Linux内核查询CONFIG_xxx配置项的方法

前言&#xff1a; 嵌入式开发中经常会查看运行的内核都打开了哪些编译选项&#xff0c;这里提供2种方法&#xff1a; 查看编译环境的.config文件查看正在运行的Linux文件系统中的 /proc/config.gz 文件 编译环境的.config不赘述&#xff0c;下面主要介绍如何简单使用 /proc/c…

Neo4j (desktop) 使用记录

1. neo4j community 使用 第一次使用Neo4j&#xff0c;根据网上的教程安装并配置了community版本&#xff0c; 在终端使用 neo4j.bat console 可以正常打开网页端 但是&#xff0c; 使用 neo4j start , neo4j stop 时会提示 ‘neo4j’ 时非法指令&#xff0c;无法识别 查明原…

【JAVA】Java高级:数据库监控与调优:SQL调优与执行计划的分析

作为Java开发工程师&#xff0c;理解SQL调优和执行计划的分析是至关重要的。这不仅可以帮助我们提高数据库查询的效率&#xff0c;还能减少系统资源的消耗&#xff0c;提升整体应用的性能。 1. SQL调优的重要性 随着数据量的增加和用户请求的增多&#xff0c;数据库的性能问题…

Web3.0:连接分布式未来的纽带

随着技术的不断进步&#xff0c;Web3.0正逐渐成为人们关注的焦点。作为Web的下一代&#xff0c;Web3.0将引领我们进入一个全新的数字时代&#xff0c;重新定义了我们与互联网的关系 Web3.0&#xff0c;也称为“分布式Web”&#xff0c;是互联网的下一代演进。它不仅是信息的传…