Zhangzhe's Blog

The projection of my life.

0%

Qwen2.5-VL Technical Report

URL

TL;DR

  • Qwen2.5-VLQwen 团队推出的一个多模态大模型,在 Qwen2.5 的基础上,增加了视觉模态的支持,输入支持 textimagevideo 的混合输入,输出为 text

Algorithm

qwen2.5-vl.png

模型架构

  • 视觉编码器(Vision Encoder):基于重新设计的 Vision TransformerViT),处理原生分辨率的图像和视频输入
  • 语言模型(Large Language ModelLLM):基于 Qwen2.5 LLM,负责文本理解和生成,初始化时预训练权重被微调以支持多模态任务
  • 视觉-语言合并器(Vision-Language Merger):一个 MLP-based 模块,压缩视觉特征以匹配文本嵌入维度,减少计算开销

三阶段训练

第一阶段

  • 随机初始化 Vision Encoder 开始训练
  • 使用的 (text, image) 数据如下:
    • Image captions:图像和对应的文本描述
    • Visual knowledge: 涵盖名人、地标、动植物等识别数据,帮助模型积累视觉常识
    • OCR 数据:从图像中提取的文本信息
  • 用了 CLIP 作为优化目标,对齐 ViTQwen2.5text 模态
  • token 长度为 8k,数据规模为 1.5T tokens

第二阶段

  • ViTQwen2.5 的联合预训练
  • token 长度为 8k,数据规模为 2T tokens

第三阶段

  • 长上下文优化,目标是视频/文档序列理解
  • token 长度为 32k,数据规模为 0.6T tokens

关键技术解析

1. 动态 ViT 架构

  • 输入尺寸自适应:图像按 14×14 分块,尺寸调整为 28 的倍数
  • 窗口注意力:32 层中仅 4 层用全局注意力,其余用 112×112 窗口注意力(计算复杂度从 O(n²) 降至 O(n)
  • 位置编码:2D 旋转位置嵌入(RoPE)保留空间关系

2. 多模态动态处理

  • 空间维度:
    • 原生分辨率坐标:直接使用图像实际尺寸表示物体位置(非相对坐标)
    • 支持 JSON/XML 格式输出,兼容开放词汇检测(10,000+ 类别)
  • 时间维度:
    • 动态帧率采样:适应不同速度的视频内容
    • 绝对时间对齐:RoPE 时间 ID 与时间戳直接绑定,理解事件节奏(图1机制)

3. 多模态位置编码(MRoPE)​

  • 三维分解:时间、高度、宽度独立位置 ID
  • 视频处理:时间 ID 按帧递增,空间 ID 与静态图像一致
  • 升级点:时间 ID 关联绝对时间戳,解决 Qwen2-VL 的时序理解局限

性能

  • 共有 3B / 7B / 72B 三个尺寸
    qwen2.5-vl_2.png

Thoughts

  • VLM 将视觉信息融入语言模态,重点还是 LM