当前位置: 首页 > news >正文

【英伟达AI论文】多模态大型语言模型的高效长视频理解

摘要:近年来,基于视频的多模态大型语言模型(Video-LLMs)通过将视频处理为图像帧序列,显著提升了视频理解能力。然而,许多现有方法在视觉主干网络中独立处理各帧,缺乏显式的时序建模,这限制了它们捕捉动态模式并高效处理长视频的能力。为了解决这些局限,我们提出了STORM(多模态大型语言模型的时空令牌缩减方法),这是一种在图像编码器和大型语言模型之间集成专用时序编码器的新颖架构。我们的时序编码器利用Mamba状态空间模型,将时序信息整合到图像令牌中,生成富含信息的表示,这些表示在整个视频序列中保留了帧间动态。这种丰富的编码不仅增强了视频推理能力,还实现了有效的令牌缩减策略,包括测试时采样和基于训练的时序与空间池化,从而在不显著牺牲关键时序信息的情况下,大幅降低了大型语言模型的计算需求。通过集成这些技术,我们的方法同时减少了训练和推理延迟,并提高了性能,使得在长时间上下文中能够实现高效且稳健的视频理解。大量评估表明,STORM在各种长视频理解基准测试中取得了最先进的结果(在MLVU和LongVideoBench上提升了超过5%),同时将计算成本降低了多达8倍,在固定输入帧数的情况下,解码延迟降低了2.4-2.9倍。项目页面请访问:Token-Efficient Long Video Understanding for Multimodal LLMs。Huggingface链接:Paper page,论文链接:2503.04130

研究背景和目的

研究背景

随着多媒体内容的爆炸式增长,尤其是视频数据的激增,如何高效且准确地理解和分析视频内容成为了一个重要而具有挑战性的任务。视频理解技术广泛应用于智能监控、内容推荐、自动驾驶、视频搜索等多个领域。近年来,基于视频的多模态大型语言模型(Video-LLMs)在视频理解方面取得了显著进展。这些模型通过将视频处理为图像帧序列,并利用预训练的大型语言模型(LLMs)进行时序推理,显著提升了视频理解的能力。

然而,尽管现有的Video-LLMs在视频理解方面取得了不错的效果,但它们仍存在一些局限性。特别是在处理长视频时,这些方法往往独立地处理每一帧图像,缺乏显式的时序建模能力。这种处理方式限制了模型捕捉动态模式和高效处理长视频的能力。此外,由于LLMs的上下文长度限制,直接处理长视频帧序列会导致计算成本过高,严重影响模型的效率和可扩展性。

研究目的

针对上述问题,本研究旨在提出一种新的方法,以提高长视频理解的高效性和准确性。具体研究目的包括:

  1. 引入显式的时序建模:通过在视频编码器和大型语言模型之间集成一个专用的时序编码器,以捕捉视频中的时序动态,从而增强模型的视频推理能力。
  2. 实现高效的令牌缩减:开发有效的令牌缩减策略,以减少输入到LLMs的令牌数量,从而降低计算成本并提高推理速度。
  3. 提升长视频理解能力:通过结合上述技术,实现在长时间上下文中对视频内容的高效且稳健的理解,并在多个长视频理解基准测试上取得优异的表现。

研究方法

总体架构

本研究提出了STORM(Spatiotemporal TOken Reduction for Multimodal LLMs)方法,该方法在图像编码器和大型语言模型之间引入了一个基于Mamba状态空间模型的时序编码器。整体架构如图2所示,包括以下几个关键组件:

  1. 图像编码器:用于将视频帧转换为图像令牌。本研究采用SigLIP作为图像编码器。
  2. Mamba时序编码器:通过应用Mamba状态空间模型,将时序信息整合到图像令牌中,生成富含信息的表示。这些表示不仅保留了帧内空间信息,还捕捉了帧间时序动态。
  3. 令牌缩减模块:包括训练时的时序池化和空间池化,以及测试时的时序令牌采样。这些策略显著减少了输入到LLMs的令牌数量,同时尽可能保留了关键信息。
  4. 大型语言模型:用于处理缩减后的令牌序列,执行时序推理以理解视频内容。

Mamba时序编码器

Mamba状态空间模型是一种条件状态空间模型,能够根据输入动态调整其参数,从而更灵活地建模序列数据。在STORM中,Mamba时序编码器通过双向时空扫描模块,同时捕捉视频帧内的空间依赖关系和帧间的时序依赖关系。这种扫描方式不仅提高了模型的时序建模能力,还为后续的令牌缩减提供了富含信息的令牌。

令牌缩减策略

  • 时序池化:通过对连续帧的令牌进行平均池化,减少时序维度上的令牌数量。这种方法有效降低了计算成本,同时保留了关键的时序信息。
  • 空间池化:对每个帧内的令牌进行平均池化,减少空间维度上的令牌数量。这种方法进一步降低了计算成本,并在某些任务上取得了不错的效果。
  • 时序令牌采样:在测试时,通过均匀采样时序维度上的令牌,进一步减少输入到LLMs的令牌数量。这种方法不仅提高了推理速度,还在某些情况下提升了模型性能。

研究结果

定量评估

本研究在多个长视频理解基准测试上对STORM进行了评估,包括MVBench、MLVU、LongVideoBench和VideoMME等。实验结果表明,STORM在所有这些基准测试上都取得了最先进的结果,显著超过了现有的Video-LLMs方法。特别是在MLVU和LongVideoBench上,STORM的准确率提升了超过5%。

此外,本研究还评估了不同令牌缩减策略的效果。实验结果表明,时序池化和空间池化在训练时显著减少了输入到LLMs的令牌数量,从而降低了计算成本。而测试时的时序令牌采样则在保持或提升模型性能的同时,进一步提高了推理速度。

定性评估

本研究还通过定性评估展示了STORM在长视频理解方面的优势。如图9所示,在处理一个描述“月球坠落灾难”的短片时,STORM能够提供更详细和连贯的视频叙事摘要,准确捕捉了关键事件和过渡,展示了其在长视频理解方面的强大能力。

此外,本研究还通过示例视频展示了STORM在OCR、属性感知、空间感知、信息摘要和时序推理等多个方面的视频理解能力。如图11至图13所示,即使面对复杂的查询问题,STORM也能够准确提取视频中的相关信息,并生成符合要求的答案。

研究局限

尽管STORM在长视频理解方面取得了显著进展,但仍存在一些局限性:

  1. 模型复杂性:引入Mamba时序编码器增加了模型的复杂性,可能导致训练难度增加和计算成本上升。尽管本研究通过令牌缩减策略降低了计算成本,但如何在保持模型性能的同时进一步简化模型结构仍是一个挑战。
  2. 数据集限制:当前的长视频理解基准测试数据集在规模和多样性方面仍有一定限制。为了训练出更加鲁棒和泛化能力更强的模型,需要更大规模、更多样化的数据集。
  3. 时序令牌采样的局限性:尽管测试时的时序令牌采样在提高推理速度方面表现优异,但在某些任务上可能会导致信息损失。如何平衡推理速度和模型性能仍是一个需要深入研究的问题。

未来研究方向

针对上述研究局限,未来可以从以下几个方面开展进一步研究:

  1. 模型优化:探索更高效的模型结构和训练方法,以降低模型的复杂性并提高训练效率。同时,可以研究如何在保持模型性能的同时进一步减少计算成本。
  2. 数据集扩展:构建更大规模、更多样化的长视频理解基准测试数据集,以训练出更加鲁棒和泛化能力更强的模型。此外,还可以研究如何利用合成数据或弱监督学习方法来扩展数据集。
  3. 时序令牌采样策略改进:研究更加智能的时序令牌采样策略,以在保持模型性能的同时进一步提高推理速度。例如,可以结合注意力机制或强化学习方法来动态调整采样策略。
  4. 多模态融合:除了视觉信息外,还可以探索如何融合音频、文本等其他模态的信息来提高视频理解能力。例如,可以利用多模态预训练模型来同时处理视频帧、音频和字幕等信息。
  5. 实时视频理解:针对实时应用场景的需求,研究如何在保持模型性能的同时实现更高效的实时视频理解。例如,可以结合边缘计算或分布式计算等技术来降低推理延迟。

综上所述,本研究提出的STORM方法在多模态大型语言模型的高效长视频理解方面取得了显著进展。然而,为了实现更加高效、准确和鲁棒的视频理解技术,未来仍需要进一步的研究和探索。

相关文章:

【英伟达AI论文】多模态大型语言模型的高效长视频理解

摘要:近年来,基于视频的多模态大型语言模型(Video-LLMs)通过将视频处理为图像帧序列,显著提升了视频理解能力。然而,许多现有方法在视觉主干网络中独立处理各帧,缺乏显式的时序建模,…...

小程序事件系统 —— 32 事件系统 - 事件分类以及阻止事件冒泡

在微信小程序中,事件分为 冒泡事件 和 非冒泡事件 : 冒泡事件:当一个组件的事件被触发后,该事件会向父节点传递;(如果父节点中也绑定了一个事件,父节点事件也会被触发,也就是说子组…...

全球首款 5G-A 人形机器人发布

全球首款 5G-A 人形机器人于世界移动通信大会(MWC2025)上由中国移动、华为、乐聚联合发布。以下是关于这款机器人的详细介绍: 名称与背景 名称9:这款人形机器人名为 “夸父”,是中国移动、华为与乐聚机器人在 GTI 平台…...

Tomcat 新手入门指南

Tomcat 新手入门指南 Apache Tomcat 是一个开源的 Java Servlet 容器和 Web 服务器,广泛用于部署和运行 Java Web 应用程序。以下是 Tomcat 的入门指南,帮助你快速上手。 1. 安装 Tomcat 步骤 1: 下载 Tomcat 访问 Apache Tomcat 官网。选择适合的版…...

Flink-DataStreamAPI-生成水印

下面我们将学习Flink提供的用于处理事件时间戳和水印的API,也会介绍有关事件时间、流转时长和摄取时间,下面就让我们跟着官网来学习吧 一、水印策略介绍 为了处理事件时间,Flink需要知道事件时间戳,这意味着流中的每个元素都需要…...

【单片机】ARM 处理器简介

ARM 公司简介 ARM(Advanced RISC Machine) 是英国 ARM 公司(原 Acorn RISC Machine) 开发的一种精简指令集(RISC) 处理器架构。ARM 处理器因其低功耗、高性能、广泛适用性,成为嵌入式系统、移动…...

Flutter——最详细原生交互(MethodChannel、EventChannel、BasicMessageChannel)使用教程

MethodChannel(方法通道) 用途:实现 双向通信,用于调用原生平台提供的 API 并获取返回结果。 场景:适合一次性操作,如调用相机、获取设备信息等。 使用步骤: Flutter 端:通过 Meth…...

Kafka常用指令(详细)

Kafka常用指令(详细) 启停命令 前台启动 前台启动命令 ./bin/kafka-server-start.sh config/server.properties 后台启动方式1 后台启动命令加上参数-daemon,窗口关闭之后kafka后台程序继续运行 ./bin/kafka-server-start.sh -daemon co…...

供应链工作效率如何提升

提升供应链工作效率可以从以下几个关键方面入手: 1. 优化供应链管理 数据驱动决策:利用AI和大数据分析,提高预测准确性,优化库存管理。供应链可视化:采用ERP(企业资源计划)和SCM(供…...

1-001:MySQL的存储引擎有哪些?它们之间有什么区别?

MySQL 存储引擎 ├── InnoDB(默认引擎) │ ├── 事务支持:支持 ACID 和事务(事务日志、回滚、崩溃恢复) │ ├── 锁机制:支持行级锁,提高并发性能 │ ├── 外键支持:支持外键…...

Java/Kotlin逆向基础与Smali语法精解

1. 法律警示与道德边界 1.1 司法判例深度剖析 案例一:2021年某游戏外挂团伙刑事案 犯罪手法:逆向《王者荣耀》通信协议,修改战斗数据包 技术细节:Hook libil2cpp.so的SendPacket函数 量刑依据:非法经营罪&#xff…...

用AI学编程4——swift学习1

一个swift文件, 整理出swift从入门到精通的所有知识点, 给出注释, 给出这样的swift文件 以下是一个整合了 Swift 从入门到精通的主要知识点的 Swift 文件,包含了基础语法、面向对象编程、异常处理、集合框架、多线程、Lambda 表达…...

数据集构建与训练前准备

训练数据集目录结构与格式 作者笨蛋学法,先将其公式化,后面逐步自己进行修改,读者觉得看不懂可以理解成,由结果去推过程,下面的这个yaml文件就是结果,我们去推需要的文件夹(名字可以不固定,但是…...

在大型语言模型的提示词设计中,system、user和assistant三个角色的区别与联系

在大型语言模型的提示词设计中,system、user和assistant三个角色承担不同的功能,其区别与联系如下: 1. 角色定义与功能 system(系统指令) 作用:设定模型的整体行为、角色定位和任务框架。例如,“你是一位专业的科技作家”或“仅回答与医疗相关的问题”。特点:在多轮对话…...

Zabbix监控进程报警(Zabbix Monitoring Process Alarm)

zabbix监控进程占cpu、内存、磁盘RAID情况 1、cpu达到90%时报警 名称: cpu user percent gt 90% 表达式&#xff1a;{Template OS Linux:system.cpu.util[,idle].avg(1m)}<10 2、内存达到80%时报警 配置—主机(选择监控主机)—监控项—创建监控项 1、创建监控项 名称&…...

p5.js:sound(音乐)可视化,动画显示音频高低变化

本文通过4个案例介绍了使用 p5.js 进行音乐可视化的实践&#xff0c;包括将音频振幅转化为图形、生成波形图。 承上一篇&#xff1a;vite&#xff1a;初学 p5.js demo 画圆圈 cd p5-demo copy .\node_modules\p5\lib\p5.min.js . copy .\node_modules\p5\lib\addons\p5.soun…...

HAL库常用函数

一、通用函数 系统初始化&#xff1a; HAL_Init(): 初始化HAL库和系统时钟&#xff08;调用前需配置系统时钟源&#xff09;。 HAL_Delay(uint32_t Delay): 毫秒级阻塞延时&#xff08;基于SysTick定时器&#xff09;。 HAL_GetTick(): 获取系统运行时间&#xff08;毫秒计数…...

【Zinx】Day5-Part3:Zinx 的连接管理

目录 Day5-Part3&#xff1a;Zinx 的连接管理创建连接管理模块将连接管理模块集成到 Zinx 当中将 ConnManager 集成到 Server 当中在 Connection 的工厂函数中将连接添加到 ConnManagerServer 中连接数量的判断连接的删除 补充&#xff1a;连接的带缓冲发包方式补充&#xff1a…...

C语言:6.20字符型数据练习题

编写程序,输人一行数字字符(用回车结束),每个数字字符 的前后都有空格。 把这一行中的数字转换成一个整数。 例如,若输入(<CR>代表 Enter键):2 4 8 3<CR>则输出 整数:2483。 #include <stdio.h>int main() {char ch;int number 0;printf("请输入一行…...

SpringBoot Test详解

目录 spring-boot-starter-test 1、概述2、常用注解 2.1、配置类型的注解2.2、Mock类型的注解2.3、自动配置类型的注解2.4、启动测试类型的注解2.5、相似注解的区别和联系 3、SpringBootTest和Junit的使用 3.1、单元测试3.2、集成测试 4、MockMvc 4.1、简单示例4.2、自动配置4…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...

comfyui 工作流中 图生视频 如何增加视频的长度到5秒

comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗&#xff1f; 在ComfyUI中实现图生视频并延长到5秒&#xff0c;需要结合多个扩展和技巧。以下是完整解决方案&#xff1a; 核心工作流配置&#xff08;24fps下5秒120帧&#xff09; #mermaid-svg-yP…...

ui框架-文件列表展示

ui框架-文件列表展示 介绍 UI框架的文件列表展示组件&#xff0c;可以展示文件夹&#xff0c;支持列表展示和图标展示模式。组件提供了丰富的功能和可配置选项&#xff0c;适用于文件管理、文件上传等场景。 功能特性 支持列表模式和网格模式的切换展示支持文件和文件夹的层…...

【QT控件】显示类控件

目录 一、Label 二、LCD Number 三、ProgressBar 四、Calendar Widget QT专栏&#xff1a;QT_uyeonashi的博客-CSDN博客 一、Label QLabel 可以用来显示文本和图片. 核心属性如下 代码示例: 显示不同格式的文本 1) 在界面上创建三个 QLabel 尺寸放大一些. objectName 分别…...

el-amap-bezier-curve运用及线弧度设置

文章目录 简介示例线弧度属性主要弧度相关属性其他相关样式属性完整示例链接简介 ‌el-amap-bezier-curve 是 Vue-Amap 组件库中的一个组件,用于在 高德地图 上绘制贝塞尔曲线。‌ 基本用法属性path定义曲线的路径,可以是多个弧线段的组合。stroke-weight线条的宽度。stroke…...

循环语句之while

While语句包括一个循环条件和一段代码块&#xff0c;只要条件为真&#xff0c;就不断 循环执行代码块。 1 2 3 while (条件) { 语句 ; } var i 0; while (i < 100) {console.log(i 当前为&#xff1a; i); i i 1; } 下面的例子是一个无限循环&#xff0c;因…...