← 返回论文库
前沿 Recent arXiv 2024 · 2024 arXiv:2409.12191 ↗

Qwen2-VL: Enhancing Vision-Language Model's Perception of the World at Any ResolutionQwen2-VL:任意分辨率下的世界感知增强

引入 NaViT 动态分辨率与 M-RoPE 三维位置编码,让模型以原生分辨率看图和看视频。

作者:Peng Wang, Shuai Bai, Sinan Tan, Shijie Wang, Zhihao Fan, Jinze Bai, Keqin Chen, Xuejing Liu, Jialin Wang, Wenbin Ge, Yang Fan, Kai Dang 等 19 位作者
机构:Alibaba (Qwen Team)
发布:arXiv 2024
时间:2024-09
视觉-语言模型动态分辨率位置编码视频理解
原文摘要 · English Abstract

We introduce Qwen2-VL, a vision-language model that enhances perception of the world at any resolution. It introduces NaViT-style dynamic resolution (arbitrary image resolutions and aspect ratios) and Multimodal Rotary Position Embedding (M-RoPE) that decomposes positional encoding into temporal, height, and width components, unifying images and videos.

概要

Qwen2-VL 针对此前视觉语言模型把图像统一压缩到固定分辨率处理、只能用一维位置编码建模视频的局限,提出朴素动态分辨率机制:将ViT中的绝对位置编码替换为2D-RoPE,使模型按图像原生分辨率动态生成数量可变的视觉token,再用多模态旋转位置编码(M-RoPE)把位置信息拆分成时间、高度、宽度三个分量,统一编码文本、图像、视频。配合三阶段训练与2B/8B/72B三档规模扩展,Qwen2-VL在文档理解、多语言OCR、长视频问答等任务上追平甚至反超GPT-4o与Claude 3.5 Sonnet。

此前的LVLM普遍把视觉编码器固定在某个预设分辨率(如224×224),依赖下采样或「缩放+填充」把任意尺寸图像塞进统一输入框,这会在高分辨率图像上丢失细节,也无法按内容难度分配计算量。同时,主流模型直接继承LLM里的一维位置编码去处理视频,把视频简单当作一维帧序列,却忽略了真实世界本身是三维空间加时间的结构,限制了模型对动态场景的建模能力。

关键贡献

  • 提出朴素动态分辨率机制,让ViT按图像原生宽高动态生成数量可变的视觉token,不再强制缩放到固定分辨率。
  • 设计多模态旋转位置编码(M-RoPE),将位置信息拆解为时间、高度、宽度三个独立分量,统一编码文本、图像与视频。
  • 引入深度为2的3D卷积处理视频帧序列,配合每秒2帧采样与2×2 patch合并,在不拉长序列长度的前提下支持20分钟以上的长视频理解。
  • 构建2B/8B/72B三档参数规模的模型家族,在统一的动态分辨率与位置编码框架下系统验证视觉语言模型的规模化效应。
  • 在DocVQA、多语言OCR、视觉Agent函数调用等多项基准上超越GPT-4o与Claude 3.5 Sonnet等闭源模型。

方法详解(完整做法)

总体思路

模型接收任意分辨率的图像或采样后的视频帧,先经过一个约6.75亿参数、内部采用2D-RoPE的ViT把图像编码为patch级特征,再用一层MLP把相邻2×2个patch token合并压缩,得到数量随原始分辨率变化的视觉token序列;这些token与文本token拼接后送入Qwen2语言模型,所有模态共用一套多模态旋转位置编码(M-RoPE)标记位置。整个流程摆脱了「先统一缩放到固定尺寸再编码」的旧范式,让计算量与视觉token数按内容分辨率自适应分配。

朴素动态分辨率与Patch合并

Naive Dynamic Resolution 的做法是移除ViT原有的绝对位置编码、改用2D-RoPE,图像因此不必再被强制缩放到固定尺寸,而是按原生宽高比例编码,patch数量随分辨率自然变化。为控制视觉token数量,ViT输出后接一层MLP,把空间上相邻的2×2个patch token压缩为1个token。设patch大小为pp,一张H×WH\times W的图像合并前后的token数为:

Npatch=Hp×Wp,Ntok=Npatch4N_{patch}=\frac{H}{p}\times\frac{W}{p},\qquad N_{tok}=\frac{N_{patch}}{4}

例如224×224的图像在patch\_size=14下先得到16×16=256个patch,合并后为64个视觉token,再加上首尾的<\|vision_start\|>\texttt{<\|vision\_start\|>}/<\|vision_end\|>\texttt{<\|vision\_end\|>}标记,共66个token进入LLM;推理阶段还会把不同分辨率的图像打包进同一序列,并限制打包总长度以控制显存占用。

2D-RoPE与相对位置不变性

RoPE的核心思想是用一个与位置相关的旋转矩阵对Q、K向量做旋转,使两个token的注意力得分只依赖其相对位置差,而非绝对位置:

⟨RΘ,mq, RΘ,nk⟩=g(q,k,m−n)\langle R_{\Theta,m}q,\,R_{\Theta,n}k\rangle=g(q,k,m-n)

2D-RoPE把这一旋转拆成两组独立的频率通道,分别编码水平和垂直方向的位置,使ViT在拿掉绝对位置编码后仍能感知图像的二维空间结构,也让模型有能力外推到训练时未见过的更大分辨率。

多模态旋转位置编码(M-RoPE)

M-RoPE进一步把位置向量拆成时间、高度、宽度三个分量(pt,ph,pw)(p_t,p_h,p_w)。对纯文本token,三个分量取同一个递增序号,退化为普通的一维RoPE;对图像token,时间分量在同一张图内保持不变,高度、宽度分量按token在图像网格中的行列位置赋值;对视频,则把每一帧当成一张图像,时间分量随帧号递增,高宽分量沿用与图像相同的赋值方式:

pt(k)=t0+k,ph(k)=row(k),pw(k)=col(k)p_t^{(k)}=t_0+k,\qquad p_h^{(k)}=\mathrm{row}(k),\qquad p_w^{(k)}=\mathrm{col}(k)

当序列中不同模态先后拼接时,后一个模态的起始位置号在前一个模态出现过的最大位置号基础上加一,避免跨模态位置编码冲突:

pstart(m+1)=max⁡(pt(m),ph(m),pw(m))+1p^{(m+1)}_{\text{start}}=\max\big(p_t^{(m)},p_h^{(m)},p_w^{(m)}\big)+1

为什么要拆成三个独立分量

直接沿用LLM里的一维RoPE处理视频,等于把一段本质上是三维空间加时间的动态场景压扁成一条一维token流,模型无法区分「同一帧内不同位置」和「不同帧的同一位置」这两种截然不同的相邻关系。M-RoPE把时间和空间拆开编码,是让位置本身携带结构信息,而不是单纯依赖数据去猜测——这也是论文强调的关键直觉:位置编码的维度应当匹配被编码内容的真实维度。此外,把图像和视频的位置号都压缩在较小范围内还带来一个副作用:推理时可以外推到训练时未见过的更长序列,论文的实验显示训练时视频token上限只有16K,推理时在80K token长度上仍表现稳健。

图像视频统一建模与三阶段训练

为让图像和视频共享同一套处理流程,Qwen2-VL把图像当作两帧相同的「伪视频」、视频按每秒2帧采样,并引入深度为2的3D卷积处理视频输入,让模型处理3D立体块而非逐帧2D patch,从而在不拉长序列长度的前提下容纳更多帧;训练时把单个视频的总token数上限设在16384,并动态调整每帧分辨率来平衡长视频理解与训练效率。模型训练分三阶段:先只训练ViT让视觉特征与语言语义对齐,再解冻全部参数做大规模联合训练,最后冻结ViT只对LLM做指令微调;预训练总量约1.4万亿token,最终给出2B、8B、72B三档参数规模的模型。

小结

Qwen2-VL的关键是把「动态分辨率」和「三维位置编码」绑在一起解决同一个问题——让视觉输入的形状(分辨率、帧数)不再被人为拉平压扁,而是让模型的表示能力去适配内容本身的真实维度。

实验与关键数据

评测覆盖MMMU、DocVQA、MTVQA等文档基准,MVBench、Video-MME等视频基准,以及函数调用、UI操作、导航等Agent基准。Qwen2-VL-72B多数基准追平或反超GPT-4o与Claude 3.5 Sonnet,文档理解与多语言OCR优势明显,但MMMU与视觉语言导航仍落后专用模型。

关键数据

DocVQA test 准确率
96.5%
vs 此前SoTA 94.1%(+2.4)
RealWorldQA 准确率
77.8
vs GPT-4o 75.4(+2.4)
MTVQA 多语言OCR
30.9
vs GPT-4o 27.8(+3.1)
视觉Agent函数调用 Type Match
93.1%
vs GPT-4o 90.2%(+2.9)
M-RoPE消融 MathVista
43.4
vs 1D-RoPE 39.2(+4.2)
MMVet 综合能力评测
74.0
vs GPT-4V 67.5(+6.5)

影响与局限

Qwen2-VL把「原生分辨率处理」与「统一时空位置编码」确立为多模态大模型的标准设计思路,其2D-RoPE/M-RoPE方案被后续视频理解与GUI Agent类多模态模型广泛借鉴,也为Qwen2.5-VL等后续工作的长视频理解与设备操作能力奠定了架构基础。

局限与不足

论文在MMMU等复杂学科推理基准上仍落后GPT-4o,说明动态分辨率与M-RoPE主要解决的是视觉信息的完整获取问题,对模型深层推理能力的提升有限;在RefCOCO系列定位任务上72B模型也未超过部分同期专用定位模型,说明通用架构在细分任务上仍有让位专用设计的空间。视觉语言导航(R2R、REVERIE)任务上Qwen2-VL与GPT-4o表现相近,但都明显落后专用导航模型,论文将其归因为模型从多张图像中构建的地图信息不完整、缺乏结构化的空间表示。此外,Video-MME评测时人为把每个视频的抽帧上限设为768帧,对接近一小时的超长视频信息利用仍受限,论文也承认这是未来需要扩展支持更长序列的方向。