AdaReTaKe:华为与哈工大(深圳)联合提出的长视频理解新框架
1. 为什么长视频理解至关重要?
随着视频内容爆炸式增长,多模态大模型如何有效地处理和理解长视频成为了一个核心挑战。长视频理解能力对于多个领域至关重要:
- 智慧安防:实时分析监控视频,识别异常行为和潜在威胁。
- 智能体长期记忆:帮助智能体记住并理解过去发生的事件,从而更好地进行决策。
- 多模态深度思考:结合视觉和语言信息,进行更复杂的推理和判断。
2. AdaReTaKe 是什么?它解决了什么问题?
AdaReTaKe (Adaptively Reducing Temporal and Knowledge redundancy) 是华为与哈尔滨工业大学(深圳)联合提出的一个无需训练的长视频理解框架。它通过在推理时动态压缩视频中的冗余信息,使多模态大模型能够处理更长的视频,长度可提升至原来的 8 倍(高达 2048 帧)。
简单来说,AdaReTaKe 就像一个聪明的视频剪辑师,能自动识别并去除视频中不重要的部分,只保留关键信息,从而让大模型能够更快更准确地理解视频内容。
3. AdaReTaKe 的优势是什么?
- 无需训练:直接应用,节省训练成本。
- 处理更长视频:能够处理高达 2048 帧的长视频。
- 性能提升:在 VideoMME、MLVU、LongVideoBench 和 LVBench 四个长视频理解榜单上,超越同规模模型 3-5%,位列开源模型第一。
- 简洁易用:只需对 transformers 导入的模型进行简单的 patch 即可。
- 支持多种模型:支持 QWen2VL、QWen2.5VL、LLaVA-OneVision 等多种多模态理解模型。
4. AdaReTaKe 的设计思路是什么?
AdaReTaKe 的核心设计理念是:充分挖掘视频时序上和模型层间视觉稀疏程度的不一致性。
4.1 视觉序列压缩技术的核心:寻找 Heavy Hitter
大多数视觉序列压缩技术的核心是寻找 attention 过程中的 Heavy Hitter。Heavy Hitter 指的是最受到 prompt 关注的多个视觉 token。
4.2 Heavy Hitter 在视频时序上分布不均匀
研究团队对 VideoMME 上随机采样的 64 个视频实验发现,时序上 Heavy Hitter 密度差距最多可以达到 7 倍。这意味着有些视频片段包含大量关键信息,而有些片段则相对冗余。
4.3 Heavy Hitter 在大模型层间分布不均匀
研究团队对 VideoMME 全量视频实验发现,大模型不同层之间 Heavy Hitter 密度差距最多可以达到 4 倍,且这种密度差异并非单调变化。这意味着不同层级的模型关注的重点不同,对信息的压缩需求也不同。
4.4 设计目标:赋能视频大模型,尽可能多的放入更有信息量的信息
基于上述发现,团队设计了 AdaReTaKe 方法,旨在赋能视频大模型在相同的计算资源和上下文窗口下,尽可能多地放入更有信息量的信息,从而实现对更长序列的理解和更多细节的捕捉。
5. AdaReTaKe 的具体方法是什么?
AdaReTaKe 框架主要包含两个核心部分:
- 大模型视频序列分块压缩方法(来自 ReTaKe):
- 将视频帧分割成若干个包含 τ 帧的块。
- 通过视觉编码器和投影层提取每块的特征。
- 根据最大上下文长度 C_{max} 为每个块分配一个基于其内容的压缩比率,确保最终序列长度不超过 C_{max}。
- 将每个块依次输入大模型进行预填充。
- 每一个分块预填充结束后,压缩其对应的 KV cache,从而在减少冗余的同时保持重要细节,提高长视频序列处理能力。
- 基于视频时间与模型层间冗余性的压缩率分配(AdaReTaKe 独有):
- 时间自适应分配:将长视频分块,根据相邻帧相似度动态分配压缩比。静态片段高压缩,动态片段保留更多细节。比如,一段长时间的静态风景画面可以大幅压缩,而一段快速变化的动作场景则需要保留更多细节。
- 层次自适应分配:不同模型层关注不同抽象特征(如浅层纹理、深层语义),通过注意力分数调整各层压缩比率,避免 “一刀切” 策略。例如,浅层可能关注图像的边缘和颜色,而深层则关注物体的识别和场景的理解,因此它们的压缩需求是不同的。
- 理论保障:提出压缩损失上界理论,确保动态分配策略接近最优解,信息保留最大化。
6. 如何使用 AdaReTaKe?
AdaReTaKe 的使用方法非常简洁,只需要对 transformers 导入的模型进行简单的 patch 即可。具体步骤如下:
- 安装依赖:确保安装了必要的 Python 包,例如 transformers、torch 等。
- 导入模型:使用 transformers 库导入你想要使用的多模态大模型,例如 QWen2VL。
- 应用 Patch:从 AdaReTaKe 的 GitHub 仓库中下载相应的 patch 文件,并将其应用到导入的模型上。
- 加载视频:将需要处理的长视频加载到程序中。
- 运行模型:将视频数据输入到 patched 后的模型中,即可获得处理结果。
详细步骤可以参考 AdaReTaKe 的 GitHub 仓库:https://github.com/SCZwangxiao/video-FlexReduc.git
7. AdaReTaKe 的实验结果如何?
7.1 基准方法比较
ReTaKe 方法能够一致提升各个基准的长视频理解能力。实验结果显示,AdaReTaKe 方法在 VideoMME、MLVU、LongVideoBench 和 LVBench 四个长视频理解基准上,对于 LLaVA-Video、QWen2VL 和 QWen2.5VL 三种基准模型有一致且稳定的性能提升,平均提升幅度高达 3%-5%。对于平均时长最长(超过 1 小时)的 LVBench,AdaReTaKe 将 7B 和 72B 模型的准确率分别提升 5.9% 和 6.0%。
7.2 消融实验
通过一系列对比实验,研究团队深入探讨了 AdaReTaKe 模型各组件对性能提升的具体贡献。结果表明,token 压缩虽然可能引入轻微的性能下降,但它允许模型在同一上下文长度内处理更多的帧,从而捕捉到更丰富的信息,最终实现了净性能增益。同时,在不同层和不同帧之间应用不同的压缩比率能够有效提升模型性能,验证了 AdaReTaKe 方法的有效性。
7.3 对细粒度时序感知能力的影响
实验结果表明,虽然 ReTaKe 对视频的压缩可能会对某些细粒度任务(如 Needle QA,NQA)的性能造成轻微损害,但由于它使得模型能够在相同上下文长度内处理更多的帧,从而吸收了更丰富的信息,因此最终在多个任务中实现了超越基线的表现。
7.4 可视化结果
可视化结果显示,ReTaKe 能有效识别并保留关键信息和细微语义变化的区域,如身体动作和面部表情,同时过滤掉静态场景中的冗余帧。
7.5 长视频理解榜单
团队于 VideoMME 榜单位列第二位,开源模型第一位,仅次于 Gemini-1.5-Pro。在 MLVU、LongVideoBench 和 LVBench 榜单位列第一位,其中 LongVideoBench 是超过 GPT-4o 的首个开源模型。
8. AdaReTaKe 的未来研究方向是什么?
- 原生视频压缩模块:当前依赖训练后的启发式压缩策略,未来可设计端到端压缩模块,将压缩能力和模型深度融合。
- 智能分块策略:现有视频分块方法依赖固定时长,探索基于语义边界的分块(如场景切换)可进一步提升效率。
- 多模态联合优化:结合音频、文本等多模态信号,构建冗余评估的综合指标,实现更精准的压缩。
9. 总结
长视频理解是多模态大模型发展的重要方向。AdaReTaKe 通过动态压缩视频冗余信息,显著提升了模型处理长视频的能力,为 AI 更好地理解和利用视频数据开辟了新的道路。
我认为:这AdaReTaKe犹如一把精巧的手术刀,精准地切割掉长视频中的冗余信息,让大模型能够更专注于关键内容,在信息爆炸的时代,这种“去芜存菁”的能力显得尤为重要,也展示了AI在理解和处理复杂信息方面的潜力,但这还不够,我们还需更深入的思考,如何让AI不仅理解视频,更能从中汲取知识,产生智慧,这才是最终目标!