Mobile-VideoGPT: Fast and Accurate Video Understanding Language Model

Authors: Abdelrahman Shaker, Muhammad Maaz, Chenhui Gou, Hamid Rezatofighi, Salman Khan, Fahad Shahbaz Khan Affiliations: Mohamed Bin Zayed University of AI, Monash University, Linkoping University

1. Motivation (研究动机)

问题背景

现有视频理解多模态大模型(如 LLaVA-OneVision 1.0B、LLaVA-Mini 8.4B)存在三大瓶颈:

  • 参数量大: 模型体积动辄数 GB,无法部署到边缘设备
  • 推理速度慢: LLaVA-Mini-8B 在 RTX A6000 上仅 4.6 tokens/sec,远达不到实时需求
  • 冗余帧处理: 均匀采样的所有帧直接送入视频编码器,大量冗余计算

2. Idea (核心思想)

核心贡献

  1. 首个面向实时视频理解的轻量级多模态模型: 0.5B 参数,模型体积仅 1GB,VRAM 占用仅 3GB
  2. Attention-Based Frame Scoring: 基于空间注意力矩阵选取关键帧,减少 50% 视频编码器计算
  3. Efficient Token Projector (ET-Proj): FFN + AdaptivePool + ConvPosEnc 三阶段 token 压缩,替代传统 MLP projector
  4. SOTA 性能: 0.5B 模型在 6 个 benchmark 上平均超越同级模型 6 个点,吞吐量 2x 以上提升

整体思路概览

Mobile-VideoGPT 的核心是用 双视觉编码器 + 关键帧筛选 + 高效 token 投影 来同时兼顾速度与精度:

  • CLIP-B/16 负责对全部帧提取空间特征
  • Attention-Based Frame Scoring 从中挑选 Top-K 关键帧
  • VideoMamba-M 只处理关键帧的时序信息
  • ET-Proj 将两路特征压缩并投影到语言模型空间
  • 小型 LLM(Qwen2.5-0.5B / 1.5B)负责生成回答

Figure 1 解读: 雷达图展示 Mobile-VideoGPT 与竞品在 6 个 benchmark(NextQA、PerceptionTest、MVBench、MLVU、EgoSchema、ActivityNet-QA)上的性能对比。Mobile-VideoGPT-0.5B 以 0.6B 参数达到 45.9 tokens/sec 的吞吐量,全面超越 LLaVA-OneVision-0.5B(1.0B 参数、22.7 tokens/sec)和 LLaVA-Mini-8B(8.4B 参数、4.6 tokens/sec)。注意参数量减少 40% 的同时吞吐量提升超过 2 倍。


3. Method (方法)

3.1 整体架构

Mobile-VideoGPT 由四个组件构成:

组件具体模型作用
Image EncoderCLIP-B/16提取 T 帧的空间特征
Video EncoderVideoMamba-M提取 Top-K 关键帧的时序特征
Token ProjectorET-Proj (, )将空间/时序特征分别投影到语言空间
Language ModelQwen2.5-0.5B / 1.5B生成文本回复

3.2 Attention-Based Frame Scoring

核心思想: 利用 CLIP 空间特征的自注意力矩阵衡量每帧的”信息重要度”,选出最具代表性的 帧。

步骤:

  1. CLIP 编码得到 ,展平为 ,其中

  2. 计算空间注意力矩阵:

  1. 按帧汇总注意力得分,得到帧级重要度向量

  2. 选取 Top-K 帧:

  1. 选出的 帧 reshape 后送入 VideoMamba 得到

关键超参: , (即选一半帧),实验证明该设置在精度和效率之间取得最优平衡。

3.3 Efficient Token Projector (ET-Proj)

两路特征分别通过各自的 ET-Proj 投影到统一的视觉-语言嵌入空间:

Figure 3 解读: 左侧 (a)(b)(c) 展示三阶段训练策略:Stage 1 预训练图像 ET-Proj,Stage 2 预训练视频 ET-Proj,Stage 3 联合指令微调(双 ET-Proj 可训练 + LLM LoRA)。右侧 (d) 展示 ET-Proj 内部结构,包含三个关键模块:(1) FFN 将输入 变换为 ;(2) Token Reduction 通过 AdaptivePool 将空间尺寸从 压缩到 ;(3) Positional Encoding 使用带 skip connection 的卷积位置编码保留空间/时序位置信息。

ET-Proj 伪代码:

class EfficientTokenProjector(nn.Module):
    def __init__(self, C_in, C_out, H_r, W_r):
        self.ffn = nn.Sequential(
            nn.Linear(C_in, C_out),
            nn.GELU(),
            nn.Linear(C_out, C_out)
        )
        self.pool = nn.AdaptiveAvgPool2d((H_r, W_r))
        self.pos_enc = nn.Conv2d(C_out, C_out, kernel_size=3, padding=1, groups=C_out)
 
    def forward(self, x):
        # x: [B, N, C_in]
        x = self.ffn(x)                          # [B, N, C_out]
        x = x.reshape(B, C_out, H, W)            # reshape to spatial
        x = self.pool(x)                          # [B, C_out, H_r, W_r] - token reduction
        x_pos = self.pos_enc(x) + x              # conv positional encoding + skip
        return x_pos.flatten(2).transpose(1, 2)  # [B, H_r*W_r, C_out]

形式化表达:

3.4 代码映射

GitHub: https://github.com/Amshaker/Mobile-VideoGPT

论文模块代码位置(推测)说明
CLIP-B/16 Image Encoder基于 LLaVA 框架的 vision encoder冻结,仅提取空间特征
VideoMamba-M Video Encoder依赖 videomamba冻结,提取时序特征
Attention-Based Frame Scoring模型前向传播中的帧选择逻辑基于 CLIP 特征自注意力计算帧得分
Efficient Token Projector自定义 projector 模块FFN + AdaptivePool + ConvPosEnc
LoRA Fine-tuningQwen2.5 LLM + LoRA ()仅在 Stage 3 启用
训练脚本scripts/Mobile-VideoGPT-0.5B_training.sh / scripts/Mobile-VideoGPT-1.5B_training.sh三阶段训练 pipeline

安装依赖: Python 3.11, PyTorch 2.1.2, FlashAttention, VideoMamba


4. Experimental Setup (实验设置)

4.1 三阶段训练策略

阶段训练内容数据可训练参数学习率
Stage 1: Image Proj PretrainET-Proj + Image EncoderCC595K仅 ET-Proj
Stage 2: Video Proj PretrainET-Proj + Video EncoderCC595K仅 ET-Proj
Stage 3: Instruction Tuning全模型微调~1M 样本 (2 epochs)双 ET-Proj + LLM LoRA ()

4.2 训练与指令微调数据

指令微调数据: Kinetics-710, Something-Something-v2, VideoChat 对话, CLEVRER, WebVid VQA, NExT-QA, PerceptionTest (from LLaVA-178K), VideoChat2-IT 子集。总计约 1M 样本,远少于 LLaVA-OneVision 的 4.8M。

4.3 评测设置

  • 输入分辨率统一为
  • 采样 帧,选取 关键帧
  • 评测覆盖 6 个 benchmark:NextQA、PerceptionTest、MVBench、MLVU、EgoSchema、ActivityNet-QA
  • 边缘设备推理测试使用 Jetson Orin Nano

5. Experimental Results (实验结果)

5.1 主实验:六大 Benchmark 对比 (Table 1)

ModelParamsRes.FramesThroughputActNet-QAEgoSchemaMLVUMVBenchNextQAPercepTest
GPT-4V-512x51232-57.0-49.243.5--
Gemini-1.5-Flash-768x76832-55.365.7----
Gemini-1.5-Pro-768x76832-57.572.2----
LongVA-7B7.4B224x22489.250.0-56.3-68.3-
Video-ChatGPT-3.8B4.2B224x22410014.135.236.231.332.7--
LLaMA-VID-7B7.3B336x3361fps6.047.438.533.241.4--
Video-LLaVA-7B7.3B224x224812.538.445.3-43.1--
LLaVA-Mini-8B8.4B336x3361fps4.652.351.242.844.5--
LLaVA-OneVision-0.5B1.0B384x3843222.750.526.850.347.257.249.2
Mobile-VideoGPT-0.5B0.6B224x2241645.951.631.447.953.565.458.7
Mobile-VideoGPT-1.5B1.6B224x2241641.054.436.748.153.673.765.3

关键数字:

  • 0.5B 模型 vs LLaVA-OneVision-0.5B: 平均高 6 个点,参数少 40%,吞吐量 2x
  • 1.5B 模型 vs LLaVA-Mini-8B: 性能接近,但吞吐量 9x(41.0 vs 4.6 tokens/sec)
  • 边缘设备 (Jetson Orin Nano): 0.5B 模型 7.3 tokens/sec,LLaVA-OneVision-0.5B 仅 3.4 tokens/sec(2.1x 加速)

Figure 1 解读: 雷达图展示 Mobile-VideoGPT 与竞品在 6 个 benchmark(NextQA、PerceptionTest、MVBench、MLVU、EgoSchema、ActivityNet-QA)上的性能对比。Mobile-VideoGPT-0.5B 以 0.6B 参数达到 45.9 tokens/sec 的吞吐量,全面超越 LLaVA-OneVision-0.5B(1.0B 参数、22.7 tokens/sec)和 LLaVA-Mini-8B(8.4B 参数、4.6 tokens/sec)。注意参数量减少 40% 的同时吞吐量提升超过 2 倍。

5.2 MVBench 细粒度分析 (Table 2)

Mobile-VideoGPT-0.5B 在 MVBench 20 个子任务上的表现:

类别子任务Mobile-VideoGPT最强对手差距
PositionMoving Direction59.0LLaVA-Mini 31.0+28.0
ObjectObject Existence82.5LLaVA-OneVision 53.5+29.0
CountMoving Count63.5LLaVA-Mini 40.0+23.5
AttributeMoving Attribute81.0LLaVA-Mini 54.5+26.5
CognitionCounterfactual Inference57.5LLaVA-Mini 35.5+22.0

平均: 53.5(对比 LLaVA-OneVision-0.5B 的 47.2 高出 6.3 个点)

5.3 消融实验 (Table 3)

消融维度配置Avg AccThroughput
Vision EncoderImage only49.0-
Video only49.1-
Dual (ours)51.445.9
Frame SelectionWithout FS51.538.5
Attention-Based (ours)51.445.9
Token ProjectionMLP_proj51.039.2
ET_proj (ours)51.445.9

关键发现:

  • 双编码器设计比单编码器平均高 2.3 个点
  • Attention-Based Frame Scoring 精度持平但吞吐量提升 19%(38.5 45.9)
  • ET-Proj 比 MLP projector 精度高 0.4 且吞吐量提升 17%(39.2 45.9)

5.4 定性结果

Figure 4a 解读: 定性对比(冰球比赛视频,3分35秒)。LLaVA-Mini-8B 延迟 13.5s 且无法确定事件序列(“it is not possible to determine the exact sequence”),LLaVA-OneVision-0.5B 延迟 1.1s 但描述不完整。Mobile-VideoGPT-0.5B 仅 0.4s 延迟(47.5 tok/s),且准确捕获了”nighttime field hockey game”和最终比分”We win 7-2”等关键细节。

Figure 4b 解读: 定性对比(滑板视频,1分26秒)。三个模型都正确识别了滑板活动,但 Mobile-VideoGPT-0.5B 以 0.3s 延迟和 44.6 tok/s 的吞吐量远超竞品(LLaVA-Mini-8B: 4.7s/3.9 tok/s),在保持回答质量的同时速度快 10 倍以上。

5.5 个人思考与总结

优势

  1. 极致效率: 0.6B 参数 + 45.9 tokens/sec 的组合是目前视频理解领域最具实用性的配置之一,真正具备边缘部署能力(Jetson Orin Nano 上 7.3 tok/s)
  2. Frame Scoring 设计精巧: 利用已有的 CLIP 特征计算注意力,不引入额外参数,零成本获取帧重要度信息,同时减少 VideoMamba 的输入帧数
  3. ET-Proj 三段式压缩: FFN 维度映射 + 空间池化 + 卷积位置编码,比纯 MLP projector 在精度和速度上双赢
  4. 训练数据效率: 仅用 ~1M 指令微调样本(LLaVA-OneVision 用 4.8M),说明架构设计弥补了数据量的不足

局限性

  1. 分辨率低: 224x224 输入限制了细粒度任务(如 Fine-grained Action 仅 36.5,低于部分竞品)
  2. EgoSchema 不突出: 31.4 vs LLaVA-OneVision-0.5B 的 26.8 虽有提升,但远低于 Gemini-1.5-Pro 的 72.2,长时序推理仍有差距
  3. 帧数受限: 仅采样 16 帧,对长视频(分钟级)的细节捕获能力有限

与相关工作对比

  • vs LLaVA-OneVision-0.5B: 参数少 40%、速度快 2x、精度高 6 点 — 全面碾压
  • vs LLaVA-Mini-8B: 参数少 93%、速度快 9x、精度接近 — 效率革命
  • vs MobileLLM (Liu et al., 2024c): MobileLLM 专注 LLM 压缩,Mobile-VideoGPT 是端到端视频多模态方案,互补而非竞争

可能的改进方向

  1. 提高输入分辨率(如 336 或 384)以改善细粒度任务
  2. 将 Frame Scoring 扩展为动态帧数选择(根据视频复杂度自适应 K 值)
  3. 探索 VideoMamba 的量化/蒸馏以进一步压缩 Video Encoder