Qwen2-VL:提升视觉语言模型对任意分辨率世界的感知能力

发布于:2025-07-15 ⋅ 阅读:(11) ⋅ 点赞:(0)

温馨提示:
本篇文章已同步至"AI专题精讲" Qwen2-VL:提升视觉语言模型对任意分辨率世界的感知能力

摘要

我们提出了 Qwen2-VL 系列,这是对先前 Qwen-VL 模型的重大升级,重新定义了视觉处理中传统的预设分辨率方法。Qwen2-VL 引入了朴素动态分辨率机制(Naive Dynamic Resolution),使模型能够动态地处理不同分辨率的图像并生成不同数量的视觉 token。这一方法使模型能够生成更高效且更准确的视觉表示,更加贴近人类的感知过程。该模型还整合了多模态旋转位置编码(Multimodal Rotary Position Embedding, M-RoPE),促进文本、图像和视频之间位置信息的有效融合。我们采用统一的图像与视频处理范式,增强了模型的视觉感知能力。为探索大型多模态模型的潜力,Qwen2-VL 系列研究了大规模视觉语言模型(LVLM)的扩展规律。通过扩大模型规模(提供 2B、8B 和 72B 参数版本)及训练数据量,Qwen2-VL 系列实现了极具竞争力的性能。值得注意的是,Qwen2-VL-72B 模型在多个多模态基准测试中取得了与 GPT-4o 和 Claude3.5-Sonnet 相当的成绩,超越了其他通用模型。代码地址:https://github.com/QwenLM/Qwen2-VL

1 引言

在人工智能领域,大型视觉语言模型(Large Vision-Language Models, LVLM)代表着一次重大飞跃,它们基于传统大语言模型在文本处理方面的强大能力,拓展至图像、音频和视频等更广泛的数据模态。这一能力的扩展使得 LVLM 成为解决各类现实问题的不可或缺工具。LVLM 因其能够将广泛而复杂的知识压缩为可用表征的独特能力,正推动更加全面的认知系统的发展。通过整合多样的数据形式,LVLM 力求更贴近人类感知和交互的复杂方式,从而更准确地再现人类理解世界的方式。

近期 LVLM 的发展突飞猛进(Li et al., 2023c; Liu et al., 2023b; Dai et al., 2023; Zhu et al., 2023; Huang et al., 2023a; Bai et al., 2023b; Liu et al., 2023a; Wang et al., 2023b; OpenAI., 2023; Team et al., 2023),这些模型普遍采用视觉编码器 → 跨模态连接器 → LLM 的通用架构。这一设置结合以 next-token 预测为主要训练目标,再加上高质量数据集的可用性(Liu et al., 2023a; Zhang et al., 2023; Chen et al., 2023b; Li et al., 2023b),推动了该领域的快速进步。其他推动因素还包括更大规模的模型架构(Alayrac et al., 2022)、更高分辨率的图像(Li et al., 2023a,d)、以及先进技术如专家混合模型(Mixture-of-Experts, MoE)(Wang et al., 2023b; Ye et al., 2023b)、模型集成(Lin et al., 2023)和更复杂的视觉-文本连接器(Ye et al., 2023a),它们都显著增强了 LVLM 对复杂视觉和文本信息的处理能力。

在这里插入图片描述

然而,当前的大型视觉语言模型(LVLM)通常受限于固定的图像输入尺寸。标准的 LVLM 通常将输入图像编码为固定分辨率(例如 224×224),通常通过下采样或上采样图像的方式实现(Zhu 等,2023;Huang 等,2023a),或采用“缩放-填充”(scale-then-padding)的方法(Liu 等,2023b,a)。尽管这种“一刀切”的策略便于在统一分辨率下处理图像,但也限制了模型在不同尺度上捕捉信息的能力,特别是在处理高分辨率图像时会导致细节信息的显著丢失。因此,这类模型在感知尺度和细节方面无法达到人类视觉系统的敏感度。

此外,大多数 LVLM 倾向于依赖静态冻结的 CLIP 风格视觉编码器(Radford 等,2021),这引发了一个问题,即这种预训练模型所生成的视觉表示是否足够丰富,尤其是在需要复杂推理和处理图像中精细细节的任务中。近期的研究(Bai 等,2023b;Ye 等,2023a)试图通过在 LVLM 训练过程中微调视觉 transformer(ViT)来缓解这些限制,实践表明这一方法确实能带来性能提升。为了进一步增强模型对多种分辨率的适应能力,我们在 LVLM 训练过程中引入了动态分辨率训练策略。具体而言,我们在 ViT 中采用了二维旋转位置编码(2D RoPE),从而使模型能够更好地捕捉跨空间尺度的信息。

当处理视频内容时,视频本质上是一系列帧的序列,许多现有模型仍将其视为一个独立的模态。然而,理解现实世界的动态本质——如视频中所体现的变化——对于模型理解现实复杂性至关重要。与天然一维的文本不同,现实世界是三维存在的。而当前模型中采用的一维位置编码显著限制了其对三维空间和时间动态的建模能力。为弥补这一差距,我们提出了多模态旋转位置编码(Multimodal Rotary Position Embedding, MRoPE),它采用独立的组件分别表示时间信息和空间信息。这使得模型能够自然地理解动态内容(例如视频或流媒体数据),从而提升其理解和交互现实世界的能力。

在这里插入图片描述

此外,与大型语言模型(LLM)的扩展进展相比,当前的大型视觉语言模型(LVLM)在训练数据量和模型参数规模的扩展方面仍处于探索初期。对于 LVLM 的扩展规律(scaling laws)——即模型规模和数据量的增长如何影响性能——的研究仍是一个开放且极具潜力的领域。

在本研究中,我们推出了 Qwen 家族中最新的大型视觉语言模型系列:Qwen2-VL 系列,包括三个开放权重的模型,参数规模分别为 20 亿、80 亿和 720 亿。如下图 1 所示,Qwen2-VL 的关键进展包括:

  • 在多种分辨率与长宽比下具备最先进的理解能力:Qwen2-VL 在多个视觉基准测试上取得领先成绩,包括 DocVQA、InfoVQA、RealWorldQA、MTVQA、MathVista 等。
  • 对长时长视频(超过 20 分钟)的理解能力:Qwen2-VL 能够理解长度超过 20 分钟的视频,显著提升其在基于视频的问答、对话、内容创作等任务中的表现。
  • 具备强大的设备操作代理能力:凭借先进的推理与决策能力,Qwen2-VL 可集成至手机、机器人等设备中,实现基于视觉输入和文本指令的自主操作。
  • 多语言支持:为服务全球用户,除了支持英文和中文外,Qwen2-VL 还支持图像内的多语言上下文理解,包括大多数欧洲语言、日语、韩语、阿拉伯语、越南语等。

2 方法

Qwen2-VL 系列包含三种规模的模型,分别为 Qwen2-VL-2B、Qwen2-VL-7B 和 Qwen2-VL-72B。表 1 展示了其超参数与关键信息。值得注意的是,Qwen2-VL 在所有不同规模的 LLM 中均使用一个拥有 6.75 亿参数的 Vision Transformer(ViT),从而确保 ViT 的计算负担不会随着语言模型规模的变化而变化。

2.1 模型结构

图 2 展示了 Qwen2-VL 的整体结构。我们保留了 Qwen-VL(Bai et al., 2023b)框架,该框架集成了视觉编码器和语言模型。为了适配不同规模的模型,我们采用了约 6.75 亿参数的 Vision Transformer(ViT)(Dosovitskiy et al., 2021),可处理图像与视频输入。在语言处理部分,我们选用了性能更强的 Qwen2 系列语言模型(Yang et al., 2024)。

为了进一步提升模型对视频中视觉信息的感知与理解能力,我们引入了若干关键升级:

在这里插入图片描述

Naive Dynamic Resolution

Qwen2-VL 的一个关键架构改进是引入了 Naive Dynamic Resolution 支持(Dehghani et al., 2024)。与 Qwen-VL 不同,Qwen2-VL 现在可以处理任意分辨率的图像,并动态地将其转换为可变数量的视觉 token1。为支持这一特性,我们对 ViT 进行了如下修改:

  • 移除原始的绝对位置嵌入(absolute position embedding)
  • 引入了 2D-RoPE(Su et al., 2024; Su, 2021),用于捕捉图像中的二维位置信息

在推理阶段,不同分辨率的图像会被打包成一个统一的序列,并通过控制打包后的序列长度来限制 GPU 的显存占用。

为了进一步减少每张图像生成的视觉 token 数量,我们在 ViT 之后添加了一个简单的 MLP 层,用于将相邻的 2×2 token 压缩为一个 token。压缩后的视觉 token 以特殊 token <|vision_start|><|vision_end|> 开始和结束。

例如,假设图像分辨率为 224 × 224,ViT 的 patch_size = 14,则编码后原本会生成 256 个 token,经压缩后将减少为约 66 个 token 输入到 LLM 中。

多模态旋转位置嵌入(M-RoPE)

另一个关键的架构创新是提出了 Multimodal Rotary Position Embedding(M-RoPE)。与 LLM 中传统的一维 RoPE(1D-RoPE)只能编码一维位置信息不同,M-RoPE 能够有效建模多模态输入的多维位置信息。

其核心思想是:将原始的旋转位置嵌入拆分为三个维度:

  • 时间维(temporal)
  • 高度维(height)
  • 宽度维(width)

具体而言:

  • 对于文本输入:三者使用相同的位置 ID,因此 M-RoPE 等价于普通的一维 RoPE。
  • 对于图像输入:每个视觉 token 的 时间维 ID 保持不变,而 高度与宽度维 ID 则依据其在图像中的位置进行分配。
  • 对于视频输入:模型将视频视作帧序列每一帧的时间 ID 递增,其高度与宽度维 ID 分配方式与图像一致。
  • 多模态输入情形下:每种模态的位置编号通过将前一个模态的最大位置 ID 加一来初始化,防止冲突。

如图 3 所示,M-RoPE 不仅强化了位置建模能力,还降低了图像和视频的 position ID 数值范围,这使得模型在推理时能够更好地外推至更长的序列。

在这里插入图片描述

Unified Image and Video Understanding
Qwen2-VL 采用了一种混合训练策略,结合了图像和视频数据,确保其在图像理解与视频理解方面均具备能力。为了尽可能完整地保留视频信息,我们以每秒两帧的速率对每个视频进行采样。此外,我们使用了深度为 2 的 3D 卷积(Carreira and Zisserman, 2017)来处理视频输入,使模型能够处理 3D tubes 而非 2D patches,从而在不增加序列长度的情况下处理更多的视频帧(Arnab et al., 2021)。为保持一致性,每张图像被视为两帧完全相同的帧。为平衡处理长视频的计算开销与整体训练效率,我们动态调整每帧视频的分辨率,限制每段视频的总 token 数量为 16384。该训练方法在模型对长视频的理解能力与训练效率之间取得了平衡。

2.2 训练

参考 Qwen-VL(Bai et al., 2023b),我们采用三阶段训练方法。在第一阶段,我们专注于训练 Vision Transformer(ViT)组件,使用大量图文对语料提升 Large Language Model(LLM)中的语义理解能力。在第二阶段,我们解冻全部参数,使用更广泛的数据进行训练,以实现更全面的学习。在最后阶段,我们冻结 ViT 参数,仅使用指令数据集对 LLM 进行精调。模型预训练所使用的数据集非常多样,包含图文对、光学字符识别(OCR)数据、交错图文文章、视觉问答数据集、视频对话以及图像知识数据集。我们主要的数据来源包括清洗后的网页、开源数据集和合成数据。本次预训练的数据知识截止日期为 2023 年 6 月。这种多样化的数据组成对构建强大的多模态理解能力起到了关键作用。

在初始预训练阶段,Qwen2-VL 接触了约 6000 亿个 token 的语料。Qwen2-VL 的 LLM 组件以 Qwen2(Yang et al., 2024)中的参数进行初始化,而视觉编码器则初始化为来源于 DFN 的 ViT。然而,原始 DFN 中 ViT 的固定位置嵌入(Fang et al., 2023)被 RoPE-2D 替代。该预训练阶段主要聚焦于学习图文关系、通过 OCR 识别图像中的文本内容以及图像分类任务。这样的基础训练有助于模型建立起对核心视觉-文本关联关系的稳健理解与对齐能力。

第二阶段的预训练是一次显著的进阶,新增了 8000 亿个 token 的图像相关数据。在这一阶段,引入了更多混合图文内容,使模型能够更细致地理解视觉信息与文本信息之间的交互关系。视觉问答数据集的加入进一步提高了模型回答图像相关问题的能力。此外,多任务数据集的引入对于训练模型具备同时处理多种任务的能力至关重要,这种能力在面对复杂的现实数据时尤为重要。与此同时,纯文本数据依然在模型语言能力的维持和提升中扮演关键角色。

在整个预训练过程中,Qwen2-VL 共处理了累计 1.4 万亿个 token。这些 token 包括文本 token 以及图像 token。然而,在训练过程中,我们仅对文本 token 提供监督。这种对大量多样语言与视觉场景的接触确保模型能够深入理解视觉与文本信息之间复杂的关系,从而为各种多模态任务奠定了坚实基础。

在指令微调阶段,我们采用 ChatML(OpenAI, 2024)格式构造指令跟随数据。该数据集不仅包含纯文本对话数据,也包括多模态对话数据。多模态部分涵盖图像问答、文档解析、多图比较、视频理解、视频流对话以及基于 agent 的交互。我们这种全面的数据构建方法旨在提升模型对各种模态下指令的理解与执行能力。通过引入多样化的数据类型,我们希望打造一个更具通用性和稳健性的语言模型,使其不仅能够胜任传统的文本交互任务,还能处理复杂的多模态任务。

2.2.1 数据格式

与 Qwen-VL 保持一致,Qwen2-VL 同样使用特殊 token 来区分视觉输入与文本输入。在图像特征序列的起始与结束处插入 <|vision_start|><|vision_end|> token,以标记图像内容的边界。

Dialogue Data. 在对话格式方面,我们使用 ChatML 格式构建指令微调数据集,其中每轮交互的内容使用两个特殊 token(<|im_start|><|im_end|>)进行标记,以便实现对话的终止。蓝色标记的部分表示有监督的数据区域。
在这里插入图片描述

Visual Grounding. 为了赋予模型视觉定位(visual grounding)能力,边界框的坐标被归一化到 [0,1000)[0, 1000) 范围内,并表示为 “(Xtop left, Ytop left), (Xbottom right, Ybottom right)” 的形式。使用 <|box_start|><|box_end|> token 来标记边界框文本的起始与结束。为了准确地将边界框与其对应的文本描述关联起来,我们引入 <|object_ref_start|><|object_ref_end|> token,用于指示边界框所引用的内容,从而使模型能够有效地理解并生成特定区域的精确描述。

在这里插入图片描述

Visual Agent. 为了将 Qwen2-VL 发展为通用的 VL-Agent,我们将各种代理任务,如 UI 操作、机器人控制、游戏和导航,视为顺序决策问题,使得 Qwen2-VL 能够通过多步骤的动作执行来完成任务。对于每个任务,我们首先定义一组允许的动作和函数调用的关键字模式(下划线)(Qwen Team, 2024)。然后,Qwen2-VL 分析观察结果,进行推理和规划,执行选择的动作,并与环境互动以获取新的观察数据。这个过程会反复循环,直到任务成功完成。通过整合各种工具并利用大型视觉语言模型(LVLMs)的视觉感知能力,Qwen2-VL 能够迭代地执行涉及现实世界视觉交互的日益复杂的任务。
在这里插入图片描述

2.3 多模态模型基础设施

Qwen2-VL 模型是在阿里巴巴云的 PAI-Lingjun 智能计算服务(AlibabaCloud, 2024c)上进行训练的,利用其可扩展的计算能力、自动恢复和延迟检测功能。

存储。
我们使用阿里巴巴云的超高速 CPFS(Cloud Parallel File Storage)(Alibaba-Cloud, 2024a)来构建 Qwen2-VL 的预训练和后训练存储系统。我们将文本数据和视觉数据存储解耦。文本数据简单地存储在 CPFS 上,并使用 mmap 进行高效访问。对于视觉数据,我们使用阿里巴巴云的 OSS(Object Storage Service)(Alibaba-Cloud, 2024b)进行持久化存储。在训练过程中,我们通过 OSS 的 Python 客户端并发访问视觉数据,并调整并发和重试参数,以避免达到 QPS(每秒查询数)限制。我们还发现视频数据解码是一个主要瓶颈,尤其是对于长视频。在多次尝试使用开源软件(FFmpeg-Developers, 2024)和内部软件失败后,我们选择了缓存解码技术。检查点保存每个 GPU 的优化器和模型状态到 CPFS。

并行性
我们使用结合了数据并行性(DP)(Li et al., 2020)、张量并行性(TP)(Krizhevsky et al., 2012;Shoeybi et al., 2019)和流水线并行性(PP)(Huang et al., 2019;Narayanan et al., 2021;Lamy-Poirier, 2023)的 3D 并行性来扩展 Qwen2-VL 模型训练。我们还利用 deepspeed 的 zero-1 冗余优化器(Rajbhandari et al., 2020)对状态进行分片,以节省内存。我们使用了带有选择性检查点激活(Chen et al., 2016)的序列并行性(SP)(Korthikanti et al., 2023)来减少内存使用。当启用 TP 训练时,我们始终将视觉编码器和大型语言模型一起分片,而不是视觉合并器,因为它的参数较少。我们发现 TP 训练会因卷积运算符的非确定性行为导致不同的模型共享权重。我们通过对共享权重进行离线归约来解决这个问题,从而避免了额外的全归约通信步骤。这种方法对性能的影响最小。我们为 Qwen2-VL 72B 训练利用了 1F1B PP(Narayanan et al., 2021)。我们将视觉编码器、视觉适配器和多个 LLM 的解码器层合并为一个阶段,并均匀分配其余的解码器层。请注意,视觉和文本序列长度对于每个数据点是动态的。在启动 1F1B 过程之前,我们广播动态序列长度,并使用批次索引访问形状信息。我们还实现了交错 1F1B PP(Narayanan et al., 2021),但发现它比标准的 1F1B 设置更慢。

软件
我们使用 PyTorch(Paszke et al., 2019;Ansel et al., 2024)版本 2.1.2 和 CUDA 11.8(Nvidia, 2024b)进行训练。此外,我们利用 flash-attention(Dao et al., 2022;Dao, 2024;Shah et al., 2024)来高效训练视觉编码器和 LLM。我们还使用了融合运算符(Nvidia, 2024a),如 LayerNorm(Ba et al., 2016)、RMSNorm(Zhang 和 Sennrich, 2019)和 Adam(Loshchilov 和 Hutter, 2019)。除此之外,我们在训练过程中利用了矩阵乘法的通信与计算重叠。

3 实验

在本节中,我们首先通过在多种视觉基准上的比较分析评估模型的性能,展示我们方法的优势。接着,我们详细检验了特定能力,包括通用视觉感知、文档理解、多语言图像识别、视频理解和代理能力。最后,我们呈现了一个消融研究,探讨我们方法中的几个关键组成部分。
在这里插入图片描述

温馨提示:
阅读全文请访问"AI深语解构" Qwen2-VL:提升视觉语言模型对任意分辨率世界的感知能力


网站公告

今日签到

点亮在社区的每一天
去签到