本文以LLaVA模型为实验对象,通过一系列剪枝策略,将计算量压缩至12%,同时保持了与原始模型同等的性能。

TL;DR

本文提出从参数和计算模式层面对多模态大模型做剪枝,以 LLaVA 为实验对象将计算量压缩至 12% 并获得与原始模型同等的性能,并进一步在 Qwen2-VL 和 InternVL2.0 上验证了此种剪枝策略的普适性。

论文标题:

Treat Visual Tokens as Text? But Your MLLM Only Needs Fewer Efforts to See

论文地址:

https://arxiv.org/abs/2410.06169

代码地址:

https://github.com/ZhangAIPI/YOPO_MLLM_Pruning

01 摘要

随着大语言模型的成功,多模态大模型通过整合视觉、文本和其他模态的信息,显著提升了多模态任务的表现。然而,视觉 token 数量的快速增长导致计算复杂度呈二次方增长,严重制约了模型的可扩展性和部署效率。

本文针对这一问题,以 LLaVA 为例,分析了视觉计算中的冗余性,并提出了一系列高效的剪枝策略,包括邻域感知的视觉注意力、非活跃注意力头的剪枝、稀疏前馈网络投影和选择性丢弃视觉层。

实验表明,这些方法在显著降低计算开销(多达 88%)的同时,保持了模型在多模态任务中的性能表现。作者进一步验证了这种计算冗余性在 Qwen2-VL 和 InternVL2.0 上同样普遍存在。本文的研究为多模态大模型的高效计算提供了新的视角和解决方案。

02 动机

多模态大模型近年来在跨模态任务(如视觉问答、文本生成和科学推理)中表现出了强大的能力。然而,与文本 token 相比,视觉 token 的数量往往更为庞大。例如,在 LLaVA 模型中,处理一张图像涉及超过 500 个视觉 token,而对应的文本 token 只有数十个。这种极大的不平衡带来了如下问题:

计算效率低下: LLMs 的注意力机制复杂度随着输入 token 数量呈二次增长。这种计算成本的急剧增加对硬件资源提出了极高的要求,限制了多模态大模型的实际应用。

冗余性被忽视: 尽管视觉数据包含丰富的信息,但其固有的空间稀疏性导致许多计算是冗余的。例如,大部分视觉 token 之间的交互权重很低,仅有邻近 token 之间的交互是关键。此外,在深层模型中,视觉 token 对文本生成的影响逐渐减弱,但现有计算模式并未有效利用这一特性。

现有方法的局限性: 已有的优化策略,如减少视觉 token 数量或使用轻量化的语言模型,通常以牺牲模型性能为代价。如何在保持性能的同时显著降低计算复杂度,仍是一个急需解决的问题。

基于上述问题,本文提出了新的优化方向:通过深入挖掘视觉参数和计算模式的冗余性,对模型计算做剪枝,而不是简单地减少 token 数量。这种方法不仅能降低计算开销,还能最大程度地保留模型性能。

03 方法

本文提出了四种核心策略,分别从注意力机制、前馈网络和层剪枝等多个角度优化视觉计算:

3.1 邻域感知的视觉注意力

视觉 token 之间的注意力交互往往具有空间稀疏性,大部分交互权重集中在邻近 token 之间,而远距离 token 的交互在一些情况下可以忽略。

传统的全局注意力计算导致了大量无用的计算开销。本文提出了一种邻域感知的注意力机制,限制视觉 token 仅与其邻近 token 交互。通过添加邻域掩码,忽略超出特定半径的 token 交互。具体公式为:

其中, 半径 h 表示邻域范围。这一改进将注意力计算复杂度从 降至 。

3.2 非活跃注意头剪枝

研究团队以 LLaVA-1.5 作为研究对象,随机选取了 100 个视觉问答样本,可视化了视觉 token 的不同注意力头的权重,实验发现大约有一半数量的注意力头都没有被激活。由此可见这部分注意力头的相关计算同样存在大量冗余并可以被剪枝。实验表明,即使剪掉大量注意力头,模型仅有极小的性能下降。

3.3 稀疏投影的前馈网络

通过剪枝大部分视觉注意力计算,模型的视觉表达变得高度稀疏。为了有效利用这种稀疏性,研究团队提出在每个 transformer 模块内的前馈网络隐藏层中随机丢弃 p% 的神经元。

3.4 选择性层丢弃

研究团队通过可视化 LLaVA-1.5 不同层的视觉 token 跨模态注意力权重发现,大权重集中在前 20 层,在第 20 层到 40 层之间权重接近于 0。

这项结果表明靠后的 20 层的视觉计算存在大量冗余。这一观察启发了研究团队在靠后的层中直接跳过所有与视觉相关的计算,从而减少计算开销。具体来说,对于层 l>L−N,视觉注意力和跨模态注意力计算都被省略,使得注意力计算可以简化如下:

04 实验结果

研究团队对 LLaVA-1.5-7B 和 LLaVA-1.5-13B 模型应用提出的四种剪枝策略并进行了评估,结果显示剪枝后 FLOPs 分别减少至原始模型的 25% 和 12%。

在相同计算预算下,剪枝模型在四个基准任务(GQA、VQAv2、POPE 和 MMBench)上均表现最佳,分别超出第二名方法 3.7%、1.1%、2.2% 和 0.45%。

为验证方法在剪枝视觉计算冗余方面的可扩展性,本文将提出的策略与 PyramidDrop 和 FastV 方法在 VQAv2 和 GQA 两个大型基准上的不同剪枝粒度进行了比较。

实验结果表明,随着 FLOPs 减少,模型性能也有所下降。例如,使用 FastV 方法将 FLOPs 从75%减少到 19% 时,平均性能从 71.35%下降到 66.63%。

相比之下,本文的方法不直接剪枝 token,而是针对参数和计算模式层面的冗余优化,在相同 FLOPs 下性能仅下降 0.5%。这一结果进一步证明,当前多模态大模型中的大量视觉计算冗余可以通过有效剪枝加以优化。

为验证剪枝策略的广泛适用性,本文将其应用于其他多模态大模型(如 Qwen2-VL-7B 和 InternVL-2.0),并在无需微调的情况下进行评估。通过在 GQA 和 POPE 基准上调整剪枝粒度以匹配原始模型性能和最小 FLOPs,结果显示,这些模型在适当的剪枝比例下,即使不进行微调,性能也未受影响。

此外,较大的多模态模型能够容纳更高的剪枝比例,这一点在不同规模的 InternVL-2.0 模型的剪枝实验中得到了验证。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐