M6-029M6: Multimodal & Generative ModelsDynamic Resolution & Visual TokensHard
Mastery:
Dynamic Resolution & Visual Tokens: 解释视觉 token 压缩的常见方法。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 池化(相邻 patch 合并)、查询压缩(Q-Former/Resampler)、注意力池化、以及学习式剪枝;代价是细节损失。
📌 Key Takeaways
- •池化:把相邻 patch 的特征平均/拼接(简单、无参数)
- •查询压缩:用可学习查询抽取(Q-Former/Resampler)
- •剪枝:按重要性丢弃冗余 token(学习式或启发式)
📐 Mathematical Derivations
数学机理:<strong>四类压缩方法</strong>。(1) <strong>池化(pooling)</strong>——把<strong>相邻的 M×M 个 patch token</strong> 合并为一个(如 2×2 池化:4 个 token → 1 个,压缩 4 倍)。实现:(a) <strong>平均池化</strong>(特征平均);(b) <strong>拼接 + 线性投影</strong>(保留更多信息)。<strong>优点</strong>——简单、无参数、可逆性无关。<strong>缺点</strong>——<strong>空间细节损失</strong>(4 个 patch 的细节被压成一个向量)。<strong>代表</strong>——Qwen2-VL 用 2×2 池化(高分辨率下压缩 4 倍)。(2) <strong>查询压缩(query-based)</strong>——用 K 个可学习查询通过交叉注意力抽取(Q-Former / Perceiver Resampler);输出固定 K 个 token。<strong>优点</strong>——可学习地选择信息(比池化更'智能')、与分辨率解耦。<strong>缺点</strong>——信息瓶颈(K 小则丢细节)、需训练。(3) <strong>注意力池化(attention pooling)</strong>——用注意力权重对 token 加权聚合(如 CLIP 的 [CLS] token、或用可学习的 query 做 softmax 加权);介于池化与查询压缩之间。(4) <strong>剪枝(token pruning)</strong>——按<strong>重要性</strong>丢弃冗余 token:(a) <strong>启发式</strong>(如按注意力权重、按与 [CLS] 的相似度);(b) <strong>学习式</strong>(训练一个打分器)。<strong>优点</strong>——保留重要 token(不'平均掉'细节)。<strong>缺点</strong>——需判断重要性(可能误删)。<strong>代表</strong>——(a) <strong>FastV</strong>(按注意力权重剪枝);(b) <strong>Token Merging(ToMe)</strong>(按相似度合并相似 token)。<strong>压缩的代价(统一)</strong>——(a) <strong>空间细节损失</strong>(对 OCR/定位不利);(b) <strong>可能丢失小物体</strong>(被压缩掉);(c) <strong>信息不可逆</strong>(压缩后无法恢复)。<strong>选择依据</strong>——(a) <strong>通用理解</strong> → 池化(简单有效);(b) <strong>需要'智能选择'</strong> → 查询压缩;(c) <strong>token 冗余度高</strong> → 剪枝/合并;(d) <strong>OCR/细粒度/定位</strong> → <strong>避免激进压缩</strong>(或只压缩背景区域)。<strong>实证</strong>——(a) 池化 2×2 通常'几乎无损'(因为相邻 patch 高度冗余);(b) 压缩 4× 以上开始显著掉点(尤其细粒度任务);(c) 剪枝/合并在'冗余度高'的图像(如自然照片)上效果好,在'信息密集'的图像(如文档)上差。<strong>与动态分辨率的配合</strong>——'动态分辨率(保细节)+ 适度压缩(控成本)'是最优组合;而非'固定低分辨率'(丢细节)或'高分辨率不压缩'(成本爆炸)。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>'相邻 patch 高度冗余'是池化可行的基础</strong>——自然图像中相邻 patch 的内容相似,故 2×2 池化'几乎无损';这是压缩的物理依据。② <strong>'压缩 vs 细节'的取舍依赖任务</strong>——(a) <strong>自然图像理解</strong> → 可激进压缩;(b) <strong>文档/OCR/图表</strong> → 需保守(细节关键);故有'按图像类型动态选择压缩率'的设计。③ <strong>'剪枝优于池化的场景'</strong>——当'冗余不均匀'时(如大片背景 + 小物体),剪枝/合并能保留小物体(而池化会把它们平均掉)。④ <strong>'信息不可逆'的警示</strong>——压缩后无法恢复;故对'需要精确定位'的任务(grounding、OCR)应慎用。⑤ <strong>'与 LLM 上下文的配合'</strong>——压缩使视觉 token 数可控,从而为文本留出预算;这是'多图/长文档'场景的必需。⑥ <strong>面试要点</strong>——被问'视觉 token 怎么压缩',应给出'<strong>池化(简单、2×2 几乎无损)+ 查询压缩(可学习、固定 K)+ 注意力池化 + 剪枝/合并(保留重要)</strong>'与'<strong>压缩 vs 细节的取舍(OCR 慎用)</strong>';能指出'相邻 patch 冗余是池化可行的基础'与'动态分辨率 + 适度压缩是最优组合'是深度理解的标志。
⚠️ Common Interview Pitfalls
- ✕对文档图激进压缩(OCR 失败)
- ✕认为压缩总是无损(4× 以上显著掉点)
🎯 Interviewer Follow-ups
- ?池化压缩会损失什么?
- ?什么任务不能用激进压缩?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.