InternVideo2.5:Empowering Video MLLMs with Long and Rich Context Modeling

一、TL;DR

  1. InternVideo2.5通过LRC建模来提升MLLM的性能。
  2. 层次化token压缩和任务偏好优化(mask+时空 head)整合到一个框架中,并通过自适应层次化token压缩来开发紧凑的时空表征
  3. MVBench/Perception Test/EgoSchema/MLVU数据benchmark上提升明显

二、介绍

MLLM的问题点:

MLLM在基本视觉相关任务上的表现仍不如人类,这限制了其理解和推理能力。它们在识别、定位和回忆常见场景中的物体、场景和动作时表现不佳。

本文如何解决:

研究多模态上下文的长度和细粒度如何影响MLLM以视觉为中心的能力和性能,而不是专注于通过scaling law直接扩展MLLM。

取得了什么结果:

具体而言,本文的贡献在于:

  • 首次全面研究了如何实现长且丰富的上下文(Long and Rich Context,LRC),以提升MLLM的记忆和专注能力。

    • 通过将层次化token压缩(Hierarchical Token Compression,HiCo)和任务偏好优化(Task Preference Optimization,TPO)整合到一个框架中

  • InternVideo2.5能够显著提升现有MLLM在视频理解方面的表现,并赋予它们专家级的视觉感知能力。

    • 在多个短视频和长视频基准测试中取得了领先的性能。InternVideo2.5的视频记忆容量使其能够保留至少比原始版本长6倍的输入。

三、方法

InternVideo2.5通过增强MLLM的上下文长度和细粒度来获得长且准确的视频理解,采用了视频长度自适应的标记表示和任务偏好优化,如图2所示。整个模型通过三个阶段进行学习,利用了短视频、长视频以及经典视觉任务数据。整个方法详细描述如下。

说人话:在前面的clip encoder时使用Tome做token压缩,在浅层使用TDrop进行token prune做算力压缩,深层使用注意力机制提取关键token,然后增加了一个mask Head和时间理解的head用于理解上下文和视觉细节(任务偏好优化),最后面接生成出结果

3.1 视频长度自适应标记表示用于长多模态上下文

引入了一种实用的长度自适应token representation方法,能够高效地处理任意长度的视频序列。在动态帧采样之后,给定的流程实现了具有两个不同阶段的层次化标记压缩(HiCo):

  1. 视觉编码过程中的时空感知压缩
  2. 语言模型处理过程中的自适应多模态上下文整合。

自适应时间采样:实现了一种根据视频时长和内容特征进行调整的上下文感知采样机制。

  1. 对于运动粒度至关重要的较短序列,我们采用密集时间采样(每秒15帧)。
  2. 对于专注于事件级别理解的长序列(例如分钟/小时级别的视频),我们使用稀疏采样(每秒1帧)。
  3. 这种自适应方法确保了在不同时间尺度上都能正确捕捉运动。

分层token压缩:我们通过事件中的时空冗余和事件之间的语义冗余来压缩长视觉信号。

  • 时空token合并:通过层次化压缩方案解决时空冗余问题,通过语义相似性进行令牌合并,保留视频中的关键信息:

    • 给定一个被划分为T个时间片段的视频序列,每个片段由视觉编码器E处理以生成M个初始标记:vji​(i=1,2,...,M)用于第j个片段。这些标记通过标记连接器C进行自适应压缩,产生N个压缩后的标记sji​(i=1,2,...,N),其中N < M

        通过语义相似性进行令牌合并,保留视频中的关键信息。实验表明,基于语义相似性的令牌合并方法(如ToMe)在视觉压缩中表现出色,能够在保留细节的同时显著减少计算开销。

  • 多模态token丢弃:我们引入了在语言模型处理过程中运行的标记丢弃,以进一步优化长距离视觉理解。它实现了两阶段标记减少策略:

    • 浅层中进行均匀token prune,以保持结构完整性,同时减少计算开销;

    • 深层中进行注意力引导的token选择,以保留与任务的关键信息。

3.2 通过任务偏好优化增强多模态上下文中的视觉精度

为了增强多模态语言模型(MLLMs)在细粒度视觉任务中的表现,我们引入了多任务偏好学习(MPL)。该方法通过将专门的视觉感知模块与基础MLLM架构集成,实现了精确的定位和时间理解等能力

  • 时间理解:为了处理动态视觉内容,我们开发了一个时间组件,结合视频特征提取和时间对齐能力。该组件能够预测精确的时间边界和相关分数,从而帮助模型更好地理解视频中的时间关系。

  • 实例分割:为了实现像素级理解和实例级区分,我们设计了一个分割模块,基于最新的分割基础模型(如SAM2)。该模块通过自适应投影层将MLLM的嵌入与像素级预测连接起来,从而实现了对视频中目标的精确分割。

模型通过联合优化视觉感知模块和基础MLLM,实现了对细粒度视觉任务的精确处理。

3.3 多模态上下文建模的训练视频语料库

训练过程分为三个阶段,分别使用了视觉-文本对齐数据、长视频数据和特定任务的视觉数据。训练数据如表1所示。

  • 视觉-文本数据用于跨模态对齐:我们收集了包含700万图像-文本对和370万视频-文本对的视觉-文本数据,以及14.3万用于增强语言能力的文本数据。

  • 长视频语料库用于上下文扩展:我们主要使用了来自MoiveChat、Cineplie、Vript和LongVid的长视频指令数据。

  • 特定任务的数据用于精确感知:包括用于指代分割任务的MeViS和SAMv2,用于空间定位的AS-V2、Visual Genome、RefCOCO等。

3.4 逐步多阶段训练

我们提出了一个统一的逐步训练方案,共同增强MLLM的细粒度感知和时间理解能力。该方法包括三个主要阶段,逐步增加任务的复杂性和视频输入的时间长度。

  • 阶段1:基础学习:该阶段专注于两个并行目标:(a)使用多样化的对话模板对LLM进行任务识别指令调整,使模型能够识别和路由不同的视觉任务;(b)视频-语言对齐训练,其中我们冻结视觉编码器和LLM,同时优化压缩器和MLP以建立基本的视觉-语言连接。

  • 阶段2:细粒度感知训练:该阶段通过(a)使用特定任务的数据集集成和训练特定任务的组件,包括任务标记、区域头、时间头和掩码适配器;以及(b)使用350万图像和250万短视频-文本对进行视觉概念预训练来增强模型的视觉理解能力。

  • 阶段3:集成准确和长形式上下文训练:最后阶段通过(a)在结合多模态对话和特定任务数据的混合语料库上进行多任务训练,允许任务监督梯度从专门头流向MLLM;以及(b)在包含350万样本的综合数据集上进行指令调整,包括110万图像、170万短视频(<60秒)和70万长视频(60-3600秒)。

这种逐步训练策略使模型能够在发展细粒度感知和长形式视频理解的同时,减少对通用能力的潜在退化。与依赖长文本扩展上下文窗口的先前方法不同,我们直接在长视频上进行训练,以最小化训练和部署场景之间的差距。

3.5 实现

  • 分布式系统:基于XTuner开发了一个多模态序列并行系统,用于训练和测试数百万个多模态标记(主要是视觉)。通过整合序列和张量分布式处理以及多模态动态(软)数据打包,我们实现了长视频的可扩展计算。

  • 模型配置:在我们的多模态架构中,我们使用了一个结合先进视频处理和语言建模能力的综合框架。该系统实现了动态视频采样,处理64-512帧,每个8帧剪辑压缩为128个标记,产生大约每帧16个标记的表示

四、实验结果

在MVBench和Perception Test上,InternVideo2.5分别提升了3.7分和6.7分。在长视频理解方面,InternVideo2.5在EgoSchema和MLVU上的提升尤为明显,分别提升了12.4分和3.9分

视频理解效果好,尤其是细节:

在特定任务上也表现出色:

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

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

相关文章

【时时三省】(C语言基础)条件运算符和条件表达式

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 有一种if语句&#xff0c;当被判别的表达式的值为“真”或“假”时&#xff0c;都执行一个赋值语句且向一个变量赋值。 如&#xff1a; if ( a > b ) max a&#xff1b; else max …

KWDB创作者计划—边缘计算:从概念到落地的技术解读

引言 随着物联网&#xff08;IoT&#xff09;和人工智能&#xff08;AI&#xff09;的快速发展&#xff0c;数据量呈爆炸式增长&#xff0c;传统的云计算架构逐渐暴露出延迟高、带宽占用大等问题。边缘计算作为一种新兴的分布式计算范式&#xff0c;正在改变数据处理的方式。本…

蓝桥杯基础算法-递归

代码简洁&#xff0c;但涉及到的运算&#xff0c;会随着递归层数的增加成指数级增长 路分析&#xff1a;第20行20列位于45度这条线上 这条线上的数字是1 5 13 25 41...两数之差:4 8 12 16 --->每一个都是在前面的基础上4&#xff0c;可以用递归或者循环 public class dem…

通过学习opencv图像库编程借助第三方库函数完成一个综合程序设计

通过学习opencv图像库编程借助第三方库函数完成一个综合程序设计 1) 编译命令解释&#xff1a; 编译命令&#xff1a; gcc test1.cpp -o test1 pkg-config --cflags --libs opencv这条命令包含了以下部分&#xff1a; gcc test1.cpp -o test1: gcc 是 GNU 编译器集合&#…

第十四届蓝桥杯大赛软件赛国赛C/C++研究生组

研究生C国赛软件大赛 题一&#xff1a;混乘数字题二&#xff1a;钉板上的正方形题三&#xff1a;整数变换题四&#xff1a;躲炮弹题五&#xff1a;最大区间 题一&#xff1a;混乘数字 有一点像哈希表&#xff1a; 首先定义两个数组&#xff0c;拆分ab和n 然后令n a*b 查看两个…

系统与网络安全------网络通信原理(2)

资料整理于网络资料、书本资料、AI&#xff0c;仅供个人学习参考。 物理层解析 物理层概述 物理层是TCP/IP模型的最底层物理层数据传输提供稳定的物理连接 物理层功能 定义设备的物理连接的标准和特性&#xff0c;比如接口形状&#xff0c;大小定义电气特性&#xff0c;高低…

内容中台的数字化管理核心是什么?

数字化整合与系统协同 现代企业的内容管理正经历从分散式架构向数字化整合的范式转变。通过将内容管理系统与文档管理技术深度耦合&#xff0c;组织能够打破数据孤岛&#xff0c;实现跨部门、跨平台的资源互通。例如&#xff0c;基于元数据分类的标准化体系&#xff0c;不仅提…

Python爬虫第二战(使用xpath爬取网站数据)

本文是我在学习过程中记录学习的点点滴滴&#xff0c;目的是为了学完之后巩固一下顺便也和大家分享一下&#xff0c;日后忘记了也可以方便快速的复习。 使用xpath爬取猪八戒网站数据 前言 前言 今天学习的主要是关于Python使用xpath来爬取猪八戒网的网页知识的理解和应用 #1.获…

进程同步和进程互斥的区别

如大家所了解的&#xff0c;进程互斥是由互斥资源引起的&#xff0c;即各进程之间共享互斥资源的使用权&#xff0c;这种竞争没有确定的必然联系&#xff0c;哪个进程竞争到互斥资源的使用权&#xff0c;则该资源就归哪个进程使用&#xff0c;从而获得所需资源的进程就可以获得…

ArkTS语言基础之函数

前言 臭宝们终于来到了ArkTS基础之函数&#xff0c;今天我们来学习一下ArkTS的函数的相关知识&#xff0c;上一节中也有一些函数的基础知识。 函数声明 函数声明引入一个函数&#xff0c;包含其名称、参数列表、返回类型和函数体,在下面的例子中&#xff0c;我们声明了一个名…

redis中的hash

Redis中的hash是什么 Hash: 哈希&#xff0c;也叫散列&#xff0c;是一种通过哈希函数将键映射到表中位置的数据结构&#xff0c;哈希函数是关键&#xff0c;它把键转换成索引。 Redis Hash&#xff08;散列表&#xff09;是一种 field-value pairs&#xff08;键值对&#x…

弹簧质点系统(C++实现)

本文实现一个简单的物理算法&#xff1a;弹簧质点系统&#xff08;Mass-Spring System&#xff09;。这是一个经典的物理模拟算法&#xff0c;常用于模拟弹性物体&#xff08;如布料、弹簧等&#xff09;的行为。我们将使用C来实现这个算法&#xff0c;并结合链表数据结构来管理…

领域大模型

领域技术标准文档或领域相关数据是领域模型Continue PreTrain的关键。 现有大模型在预训练过程中都会加入书籍、论文等数据&#xff0c;那么在领域预训练时这两种数据其实也是必不可少的&#xff0c;主要是因为这些数据的数据质量较高、领域强相关、知识覆盖率&#xff08;密度…

Wincc项目被锁定无法打开

Wincc项目被锁定无法打开 解决方法 解决方法 一般这种情况是因为项目打开的时候直接关机导致的。 删除项目文件夹的ProjectOpened.lck的文件夹即可 然后即可正常打开项目

SpringBoot3笔记

简介&#xff1a; springboot整合了springframework&#xff0c;整合了许多配置&#xff0c;让我们能够快速创建一个以springframework为基础的项目。 问题&#xff1a; 到目前为止&#xff0c;你已经学习了多种配置Spring程序的方式。但是无论使用XML、注解、Java配置类还是…

DeepSeek和文心一言的区别

文章目录 1.开发公司&#xff1a;2.应用场景&#xff1a;3.训练数据&#xff1a;4.模型架构&#xff1a;5.技术特点&#xff1a;6.语言风格&#xff1a;7.开源性&#xff1a;8.界面与用户体验&#xff1a; 1.开发公司&#xff1a; DeepSeek 由杭州深度求索人工智能基础技术研究…

Windows 10 安装Mysql 8

安装准备 下载 MySQL Windows ZIP版&#xff08;无安装程序&#xff09;&#xff1a; 进入官网&#xff1a;https://dev.mysql.com/downloads/mysql/ 选择 Windows → 下载 ZIP Archive&#xff0c;例如&#xff1a; mysql-8.0.34-winx64.zip 如果你的电脑没有安装 VC Redi…

ARM分拣机vs传统PLC:实测数据揭示的4倍效率差

在苏州某新能源汽车零部件仓库&#xff0c;凌晨3点的分拣线上依然灯火通明。8台搭载ARM Cortex-A72处理器的智能分拣机正在以每秒3件的速度处理着形状各异的电池包组件&#xff0c;它们通过MES系统接收订单信息&#xff0c;自主规划最优路径&#xff0c;将不同规格的零部件精准…

使用python访问mindie部署的vl多模态模型

说明 今天使用mindie1.0部署了qwen2_7b_vl模型&#xff0c;测试过程出现一些问题&#xff0c;这里总结下。 问题1&#xff1a;transformers版本太低 报错信息&#xff1a; [ERROR] [model_deploy_config.cpp:159] Failed to get vocab size from tokenizer wrapper with ex…

vscode 跳转失败之c_cpp_properties.json解析

{"configurations": [{"name": "Linux", // 配置名称&#xff0c;对应当前平台&#xff0c;VS Code 中可选"includePath": ["${workspaceFolder}/**", // 包含当前工作区下所有文件夹的头文件&#xff08;递归&…