1. 引言

图像token压缩方法可以分为四个类别,分别是:

  • 基于变换的方法:变换视觉token的长、宽、维度,来压缩token;
  • 基于相似性的方法:通过利用token间内在相似性,去重或分组,来压缩token;
  • 基于注意力的方法:利用多模态数据中attention的稀疏性,去掉低激活token,来指导压缩;
  • 基于查询的方法:在prompt的指导下选择最相关的token。

方法的总结、优劣详见下图:

2. 基于变换的压缩方法

该方法变换视觉token的长、宽、维度,将token压缩成更紧密的形式。

2.1. pixel unshuffle

该操作将分辨率高、维度低的特征图转换为分辨率低、维度高的特征图。token数量和分辨率相关,因此该操作能有效减少token数量。

变换的数学公式为:,其中, 、表示高度和宽度, 是每个token的向量维度, 是降采样比率。

最近的工作如InternVL2[1]利用pixel unshuffle来减少视觉token数量。随后,使用MLP来对齐视觉向量维度与大模型输入向量维度,解决维度不匹配问题。

2.2. 空间池化/插值

与pixel unshuffle不同,池化和插值直接对特征图进行2D降采样,不改变向量维度。

这个过程可以定义为:,其中 是降采样因子。

LLaVA-OneVision[2]采用双线性插值对视觉token进行2D降采样。

2.3. 空间卷积

卷积操作提供了一种比池化/插值更复杂的压缩方法,通过学习局部信息来减少空间维度。

转换可以表示为:,其中 是步幅,决定了降采样因子,、分别表示输入和输出通道维度。

MobileVLM[3]利用了深度可分离卷积,视觉token降低75%。

2.4. 变换方法的比较分析

基于变换的压缩方法有效地利用所有图像信息,同时保留2D特征的空间局部信息。pixel unshuffle、池化和插值本质上是无参数的,对训练推理效率影响不大。相比之下,空间卷积更复杂,会引入可训练的权重。

另一个显著的区别在于如何处理特征维度:pixel unshuffle改变特征维度,需要额外接MLP来对齐LLM输入维度。相反,其他方法不会改变特征维度。

基于变换的压缩方法的压缩率不高,一般只有25%。

3. 基于相似性的压缩方法

基于相似性的压缩方法通过识别和合并相似token来减少视觉token的数量。

在多模态大模型时代,FOLDER在视觉编码器的最后一个注意力块中插入FOLDER模块,实现“删多少token”、“删哪些token”、“如何做token合并”,减少了传递给LLM解码器的token数量。

4. 基于注意力的压缩方法

基于注意力的压缩方法利用视觉特征的固有稀疏性来指导token剪枝。注意力分数低的token对计算结果影响小,可以被移除。

在视觉语言模型中,视觉编码器和LLM都包含transformer,因此基于注意力的压缩方法能用在视觉编码器和LLM中。

4.1. 视觉编码器中的注意力

将视觉token送入LLM之前,根据单个图像中的注意力分数来动态选择token。

根据视觉token相对于[CLS]token的注意力分数,来选择需要保留的token:,其中是原始的视觉token集合,是第个视觉token,是[CLS]注意力,保留最显著的视觉信息。

Prumerge[4]在编码器中基于 [CLS] 注意力选择视觉token的聚类中心。它使用KNN聚类和加权聚类中心更新机制来合并其余注意力较低的token。

4.2. LLM解码器中的注意力

与编码器中的注意力压缩不同,解码器中的方法侧重于利用LLMs的注意力来指导token压缩。

LLM解码器注意力考虑了LLM的本文token和视觉token,因此能更全面的进行上下文感知的token剪枝。

解码器中常见的方法是选择最显著的视觉token,直接选择当前层注意力权重中前个视觉token,如下:其中表示视觉token集合,表示当前层注意力中存在的整个token集合。

这种方法允许模型根据注意力分数来确定每一层的压缩比率,模型可以更细粒度、自适应得调整视觉token。

FastV[5]发现在多模态大模型中,存在视觉token的注意力分数极低的问题。在LLaVA-v1.5中,视觉token在第二层之后仅获得系统prompt的0.21%的注意力。因此,在第二层之后根据注意力分数剪枝50%的视觉token,对整体性能影响不大。

4.3. 解码器中剪枝的关键挑战

解码器中剪枝需要频繁访问LLM内部的注意力分数,往往和高度优化的加速库,例如Flash-Attention不兼容。可能存在视觉token压缩了,但加速库加速效果变差,最终效率抵消的情况。

5. 基于查询的压缩方法

视觉信息通常包含大量与给定query无关的特征。基于查询的压缩方法利用query prompt来指导视觉token的压缩。

这些方法可以大致分为两种类型:(1) token蒸馏:将视觉token蒸馏成数量更少的token。(2) 跨模态选择:匹配模态对齐的视觉和文本token来压缩。

5.1. token蒸馏

token蒸馏源于多模态大模型的早期projector设计。其目标是通过蒸馏视觉令牌来学习最具文本相关性的视觉表示,从而减少视觉令牌的数量,同时实现模态对齐。

Q-Former[6]系列是一种开创性方法,使用可学习query和交叉注意力从视觉特征中提取相关的视觉表示。

5.2. 跨模态选择

跨模态选择旨在通过利用另一模态的对齐token来减少一个模态中的token数量。这种压缩通过识别并保留跨模态中最相关的信息来实现,从而实现更高效和更有效的处理。

SparseVLM[7]使用视觉令牌来预选相关文本令牌。通过将视觉模态作为初始过滤器,SparseVLM 高效地缩小了文本搜索空间,专注于与视觉内容相关的信息。

如何学习大模型 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

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐