MustDrop:多阶段去除冗余视觉token,提升多模态大模型推理效率

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 本文提出了一种高效的多模态大模型,多阶段去除冗余视觉token——MustDrop。多模态大模型中的视觉tokens通常表现出显著的空间和时间冗余,并且大模型的大部分输入令牌是视觉tokens,这极大程度上影响了多模态大模型推理效率。

论文标题:

Multi-Stage Vision Token Dropping: Towards Efficient Multimodal Large Language Model

单位:

本文由国防科技大学、合肥工业大学、上海交通大学共同完成。

论文链接:

https://arxiv.org/pdf/2411.10803

模型链接:

https://www.modelscope.cn/models/TingLiu20/MustDrop

论文解读

本文提出了一种高效的多模态大模型,多阶段去除冗余视觉token——MustDrop。多模态大模型中的视觉tokens通常表现出显著的空间和时间冗余,并且大模型的大部分输入令牌是视觉tokens,这极大程度上影响了多模态大模型推理效率。最近一些工作专注于去除不重要的视觉tokens,但是这些方法只专注于视觉编码阶段或者大模型的Prefill阶段,忽略了其他阶段也存在冗余的视觉tokens。

本文作者分析了视觉tokens在视觉编码器、大模型Prefill以及Decode阶段的

特点,提出了一种多阶段逐步去除视觉tokens的方法MustDrop。通过对每个阶段量身定制的策略,MustDrop基于LLaVA降低了约88.5%的FLOPs。

1. 多个阶段的冗余性分析

1.1视觉编码阶段。此阶段通常采用ViT结构,擅长于提取图像中重要的语义信息,例如空间位置和形状等。空间/时序邻近的视觉tokens具有很高的相似性,这属于空间冗余信息。本文认为在视觉编码阶段可以专注于去除空间层面的冗余性。由于此阶段缺失文本信息,不能大量去除视觉token,避免丢失重要信息。此外,视觉编码器能提取到图像中最重要的tokens,这类tokens应该在整个多模态大模型阶段中被保留。

1.2 Prefill阶段。此阶段为视觉和文本模态的交互,计算所有视觉tokens和文本tokens之间的注意力。文本信息的引入,这为大量降低无效视觉tokens创造了条件。本文认为全局文本和局部文本对判断无效的视觉token有不同的意义。

1.3 Decode阶段。此阶段基于Prefill阶段学习的知识生成文本tokens。由于视觉tokens在Prefill阶段充分与文本信息进行了交互,在Decode阶段其重要性逐渐退化。如图4所示,视觉tokens在Decode阶段的第二层后占了极少的注意力。这表明Decode阶段的KV Cache可以被进一步压缩。

2. 方法描述

2.1空间冗余融合

本文在视觉编码阶段提出了局部空间融合模块LSM,无需依赖额外的网络。LSM首先将视觉token塑造成2D的栅格,然后采用固定形状的正方形window动态检查视觉token的空间冗余性。如果window内的相似度超过阈值,其区域将会被判定是空间冗余的,并被融合为一个具有代表性的token。

2.2 重要区域保留

作者认为无论在多模态大模型哪个阶段,有一类视觉token是天然重要的。随着ViT的层越深,其CLS学到的视觉全局信息越丰富。根据这一特性,作者利用CLS和其他视觉tokens之间的注意力值确定天然重要的视觉token集合S。属于S集合的视觉token将一直保留在后续阶段。

2.3 文本引导的双注意力过滤

Prefill阶段可以利用文本信息,大量删除无效的视觉token,但如何精准确定无效的视觉tokens具有挑战性。作者提出一种双注意力过滤机制,包含全局注意力过滤测策略和局部注意力策略。首先,作者计算每个视觉token和全局文本之间的关联分数,分数低的视觉token将会被删除。然而,整个句子包含多个文本token,削弱了某些及其重要的文本token的重要性。这导致全局文本注意力机制存在“假性”判断,被判断为不重要的视觉tokens可能是重要的。因此,作者提出了局部注意力过滤机制,分别计算每个文本token和视觉token之间的关联分数。当这两种注意力过滤策略均认为某个视觉token不重要时,才会彻底删除此视觉token。

2.4 输出注意的cache策略

为了避免重复计算,Prefill阶段的KV Cache存储了token的K V值,可以加速生成文本token,但也造成了存储的负担。如图4所示,在decode阶段,视觉token在模型第二层后的重要性迅速衰减。作者根据此特性提出了输出注意的cache策略,仅仅保留了在视觉编码器阶段认定的重要视觉tokens(S集合),剩余的视觉token的K V被删除。此策略进一步降低了Decode阶段的成本。

3. 论文实验

基于图像的多模态任务,作者选取了VQA任务作为验证,如表1所示。ToMe是仅仅在视觉编码器阶段减少tokens的经典方法。FastV和SparseVLM是在多模态大模Prefill阶段的方法。本文主要与这3类方法进行了对比。原图像在576 token的情况下,分别设定了保留192、128和64个tokens,MustDrop均超过了这三类方法。

如表2,为了验证方法的泛化性,作者在基于视频的多模态问答任务上也做了验证。在保留50%左右的设定下,MustDrop超越了FastV。

关于高效性,作者对比了SparseVLM,如表7。在同样保留320个tokens的情况下,推理总时间比SparseVLM快3分钟。此外,MustDrop比目前最快的FlashAtten注意力策略更快。MustDrop和FlashAtten兼容后能进一步加快速度。此外,MustDrop占据的Peak Memory是最小的。

点击链接阅读原文:多阶段高效多模态大模型

目录
相关文章
|
20天前
|
负载均衡 测试技术 调度
大模型分布式推理:张量并行与流水线并行技术
本文深入探讨大语言模型分布式推理的核心技术——张量并行与流水线并行。通过分析单GPU内存限制下的模型部署挑战,详细解析张量并行的矩阵分片策略、流水线并行的阶段划分机制,以及二者的混合并行架构。文章包含完整的分布式推理框架实现、通信优化策略和性能调优指南,为千亿参数大模型的分布式部署提供全面解决方案。
347 4
|
26天前
|
机器学习/深度学习 人工智能 人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
297 121
|
26天前
|
数据采集 人工智能 搜索推荐
智能新纪元:多模态大模型如何重塑人机交互
智能新纪元:多模态大模型如何重塑人机交互
194 113
|
26天前
|
人工智能 人机交互 知识图谱
当AI学会“融会贯通”:多模态大模型如何重塑未来
当AI学会“融会贯通”:多模态大模型如何重塑未来
241 114
|
26天前
|
人工智能 安全 搜索推荐
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
218 117
|
30天前
|
机器学习/深度学习 存储 并行计算
大模型推理加速技术:FlashAttention原理与实现
本文深入解析大语言模型推理加速的核心技术——FlashAttention。通过分析传统注意力机制的计算瓶颈,详细阐述FlashAttention的IO感知算法设计、前向反向传播实现,以及其在GPU内存层次结构中的优化策略。文章包含完整的CUDA实现示例、性能基准测试和实际部署指南,为开发者提供高效注意力计算的全套解决方案。
255 10
|
29天前
|
机器学习/深度学习 存储 缓存
大模型推理加速技术:PagedAttention原理与实现
本文深入解析大语言模型推理中的革命性技术——PagedAttention,该技术是vLLM推理引擎的核心创新。通过将操作系统中的虚拟内存分页概念引入注意力机制,PagedAttention有效解决了KV缓存的内存碎片问题,实现了近乎零浪费的KV缓存管理。文章详细阐述其原理、内存管理机制、实现细节,并提供完整的代码示例和性能分析。
187 1
|
2月前
|
分布式计算 测试技术 Spark
科大讯飞开源星火化学大模型、文生音效模型
近期,科大讯飞在魔搭社区(ModelScope)和Gitcode上开源两款模型:讯飞星火化学大模型Spark Chemistry-X1-13B、讯飞文生音频模型AudioFly,助力前沿化学技术研究,以及声音生成技术和应用的探索。
218 2
|
2月前
|
人工智能 Java API
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
本文介绍AI大模型的核心概念、分类及开发者学习路径,重点讲解如何选择与接入大模型。项目基于Spring Boot,使用阿里云灵积模型(Qwen-Plus),对比SDK、HTTP、Spring AI和LangChain4j四种接入方式,助力开发者高效构建AI应用。
1163 122
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)

热门文章

最新文章