FastVLM

FastVLM :面向高分辨率、文本丰富图像理解的视觉-语言模型,采用一个专门为高分辨率 VLM 设计的混合式视觉编码器 FastViTHD,替代传统高成本视觉 backbone,从而在准确率—延迟之间取得更优 Pareto trade-off

本文研究目标:把encoder设计为适合高分辨率的,让视觉编码更快并且让送进 LLM 的视觉 token 更少

VLMs 工作的pipeline:

  • VLMs 通常把来自预训练vision encoder的视觉 tokens 通过一个投射层(projection layer)传入预训练的LLM

  • 也就是把图像先用一个已经训练好的视觉网络编码成一串向量(visual tokens),再用一个映射层把这些向量转换成 LLM 能接受的表示,送进 LLM 做后续的联合理解或生成

  • 视觉骨干(pretrained vision encoder):比如 ResNet、ViT、Swin 等,负责把原始图像转成特征向量(patch embedding、region features 等)

背景 & 研究难点

  • Popular Visual Encoder 不足够去处理高分辨率的图像
    • 优化visual decoder的两个方向:“reducing encoding latency” 和“minimizing the number of visual tokens passed to the LLM” 即减少编码延迟或减少tokens
  • 解决vision encoder不支持高分辨率图像的思路:
    • 不断预训练直到适应
    • 采取 tiling strategies(将图像划分成子区域再分别单独处理)
  • 由于处理高分辨率推理带来runtime computational cost,无论是单个高分辨率还是多个低分辨率都会导致显著的latency,同时高分辨率会增加LLM的prefilling时间进而增加TTFT
  • TTFT(time-to-first-token),主要由两部分组成:
    1. vision encoder latency:图像编码花多久
    2. LLM prefilling time:LLM 读入这些视觉 token 花多久

相关工作

Resolution Scaling / AnyRes 路线

核心思路是:将高分辨率图切块(tile)处理,然后每个tile单独encode最后拼接

典型的有LLaVA-1.5(AnyRes)、LLaVA-OneVision 、InternVL 系列、Qwen-VL / Qwen2-VL

Token Pruning / Token Merging 路线

核心思路是:先生成很多 token → 再删掉不重要的

比如有DynamicViT、TokenLearner、Token Pruning in VLM、VisionZip

Efficient Backbone

核心思路是:直接设计一个更高效的视觉编码器

包括有 ConvNeXt、EfficientNet、MobileViT、FastViT(FastVLM 的前身)、EfficientViT

创新点

  1. 引入了额外的 architectural interventions, such as multi-scale vision features提高性能的同时保持效率
  2. 系统研究了VLM的准确率和latency之间的tradeoff
  3. 提出“FastViTHD” 作为FastVLM的visual encoder,专为高分辨率图像上的高效 VLM 性能而设计

Architecture

FastViTHD 是一个 hybrid vision encoder,采用 5-stage 结构,前 3 个 stage 主要用 RepMixer block,后 2 个 stage 用 self-attention block

核心思想是在编码过程中逐步下采样来减少tokens、保留有效信息

Stage 1–3

主要由 RepMixer blocks 组成,负责:高效提取局部纹理;在高分辨率下尽量减少计算开销并逐步压缩特征图大小

Stage 4–5

主要由 self-attention blocks 组成,负责建模更高层的全局语义关系;并且在 token 已经变少后再做 attention,能降低复杂度

Multi-scale Features

同时提取局部细节信息和更深层的全局语义信息