M6-027M6: Multimodal & Generative ModelsDynamic Resolution & Visual TokensMedium
Mastery:
Dynamic Resolution & Visual Tokens: 解释图像切分(tiling / AnyRes)策略与取舍。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 把高分辨率图切成多个固定尺寸的 tile(各自编码)+ 一个全局缩略图,兼顾细节与全局;代价是 tile 数与 token 数增长。
📌 Key Takeaways
- •tile:切成多个固定尺寸子图,各自过 ViT(保留细节)
- •全局缩略图:提供整图的全局视野(避免只见局部)
- •tile 数 k 由原图尺寸决定 → token 数 ∝k
📐 Mathematical Derivations
数学机理:<strong>tiling / AnyRes 的机制</strong>——(1) <strong>切分</strong>——把高分辨率图切成 <strong>k 个固定尺寸的 tile</strong>(如每个 336×336 或 448×448);切分方式通常按<strong>宽高比</strong>选择网格(如 1×2、2×2、3×3),使每个 tile 接近方形。(2) <strong>各自编码</strong>——每个 tile 独立过 ViT(+连接器),得到 N_tile 个 token;共 k×N_tile 个 token。(3) <strong>全局缩略图</strong>——把整图缩放到一个固定尺寸(如 336×336)再编码,得到 N_thumb 个 token(约 N_tile),提供<strong>全局视野</strong>。<strong>为什么需要全局缩略图</strong>——因为 tile 各自独立编码,模型<strong>看不到 tile 之间的关系</strong>(不知道'这个 tile 在图中的位置');全局缩略图提供'整图的样子',帮助模型建立全局理解(如'这是文档的左上角')。<strong>总 token 数</strong>——k×N_tile + N_thumb;故 <strong>token 数 ∝ k ∝ 图像面积</strong>(与动态分辨率类似,token 与尺寸成正比)。<strong>与'原生分辨率(不切分)'的对比</strong>——(a) <strong>tiling</strong>——保持 ViT 的固定输入尺寸(利于复用预训练权重),但需处理 tile 间关系与位置编码;(b) <strong>原生分辨率</strong>——直接按原生尺寸切 patch(ViT 需支持可变输入,位置编码需 2D/M-RoPE)。<strong>tiling 的优点</strong>——(a) <strong>复用固定尺寸的预训练 ViT</strong>(不需改视觉塔);(b) 实现简单(切图 + 批处理);(c) 可处理任意尺寸(通过选择 tile 网格)。<strong>tiling 的缺点</strong>——(a) <strong>tile 间关系丢失</strong>(需全局缩略图或位置编码弥补);(b) <strong>边界切断</strong>(物体可能被切在 tile 边界);(c) <strong>token 数增长快</strong>(k 大时昂贵);(d) <strong>tile 内的相对位置需额外编码</strong>(否则模型不知道 tile 在图中的位置)。<strong>缓解</strong>——(a) <strong>tile 位置编码</strong>(给每个 tile 加一个'位置嵌入'标记其在网格中的位置);(b) <strong>全局缩略图</strong>(提供全局视野);(c) <strong>token 压缩</strong>(对 tile token 做池化);(d) <strong>重叠切分</strong>(避免边界切断,但 token 更多)。<strong>代表</strong>——(a) <strong>LLaVA-NeXT 的 AnyRes</strong>——用 1×1 到 3×3 的网格 + 全局图;(b) <strong>InternVL 的动态 tiling</strong>(自适应选择网格);(c) <strong>Qwen-VL</strong> 用原生分辨率(不用 tiling)。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>'全局缩略图不可省'</strong>——没有它,模型只见局部(无法理解 tile 间关系);这是 AnyRes 的关键设计。② <strong>'tile 间关系'是 tiling 的核心难题</strong>——解法:(a) 全局缩略图、(b) tile 位置嵌入、(c) 让 LLM 的注意力跨 tile 交互(把不同 tile 的 token 拼在一起送 LLM)。③ <strong>'token 数 ∝ 面积'的代价</strong>——3×3 tile + 全局 ≈ 10×N_tile(约 5760 token for 336²),成本高;故需 token 压缩。④ <strong>'边界切断'的实际影响</strong>——物体/文字跨 tile 边界时信息被割裂;解法:(a) 重叠切分、(b) 高分辨率原生(无切分)、(c) 让模型'拼接'(靠 LLM 的跨 tile 注意力)。⑤ <strong>'复用预训练 ViT'是 tiling 的工程优势</strong>——不需改视觉塔(原生分辨率需 ViT 支持可变输入 + 2D RoPE);故 tiling 更易实现(尤其在有现成 CLIP-ViT 时)。⑥ <strong>面试要点</strong>——被问'tiling 怎么做',应给出'<strong>切成 k 个固定尺寸 tile + 全局缩略图 + tile 位置编码</strong>'与'<strong>token 数 ∝ k(成本高,需压缩)</strong>',并对比'<strong>tiling(复用固定 ViT)vs 原生分辨率(需 2D RoPE)</strong>';能指出'全局缩略图不可省'是深度理解的标志。
⚠️ Common Interview Pitfalls
- ✕只切 tile 不加全局缩略图(失去全局视野)
- ✕忽略 tile 间关系与位置编码
🎯 Interviewer Follow-ups
- ?为什么需要全局缩略图?
- ?tile 之间的边界如何拼接?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.