Qwen2-VL: Enhancing Vision-Language Model’s Perception of the World at Any Resolution翻译
我们推出了 Qwen2-VL 系列,它是对先前 Qwen-VL 模型的升级,重新定义了视觉处理中传统的预定分辨率方法。Qwen2-VL 引入了朴素**动态分辨率**机制,使模型能够动态地将不同分辨率的图像处理成不同数量的视觉 token。这种方法使模型能够生成更高效、更精确的视觉表征,与人类的感知过程更加契合。该模型还集成了**多模态旋转位置嵌入 (M-RoPE)**,从而有效地融合了文本、图像和
⚠️ 在开始阅读之前,如果你对 实时 Agent / 数字人 / 多模态系统 / LiveKit 架构 感兴趣,
欢迎先到 GitHub 给项目点一个 ⭐ Star,这是对开源作者最大的支持。
🚀 AlphaAvatar 项目地址(强烈建议先收藏,该项目正在持续更新维护):
👉 https://github.com/AlphaAvatar/AlphaAvatar
🚀 AIPapers 项目地址(具有更全的有关LLM/Agent/Speech/Visual/Omni论文分类):
👉 https://github.com/AlphaAvatar/AIPaperNotes
摘要
我们推出了 Qwen2-VL 系列,它是对先前 Qwen-VL 模型的升级,重新定义了视觉处理中传统的预定分辨率方法。Qwen2-VL 引入了朴素动态分辨率机制,使模型能够动态地将不同分辨率的图像处理成不同数量的视觉 token。这种方法使模型能够生成更高效、更精确的视觉表征,与人类的感知过程更加契合。该模型还集成了多模态旋转位置嵌入 (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.介绍
在人工智能领域,大型视觉语言模型(LVLM)代表着一次重大飞跃,它建立在传统大语言模型强大的文本处理能力之上。这些先进的模型现在能够解释和分析更广泛的数据,包括图像、音频和视频。这种能力的扩展使LVLM成为应对各种现实世界挑战不可或缺的工具。LVLM因其将广泛而复杂的知识浓缩成功能性表征的独特能力而备受认可,并正在为更全面的认知系统铺平道路。通过整合各种数据形式,LVLM旨在更精确地模拟人类感知和与环境互动的细微方式。这使得这些模型能够更准确地表示我们如何与环境互动和感知环境。
近年来,大型视觉语言模型(LVLM)取得了显著进展,在短时间内性能大幅提升。这些模型通常遵循视觉编码器→跨模态连接器→LLM的通用架构。这种架构,结合以下一个 token 预测为主要训练方法以及高质量数据集的可用性,是推动 LVLM 取得重大进展的主要因素。此外,更大的模型架构、更高分辨率的图像以及混合专家模型(MoE)、模型集成等先进技术,以及更复杂的视觉和文本模态连接器,也对提升LVLM处理复杂视觉和文本信息的能力起到了关键作用。
然而,目前的大型视觉语言模型(LVLM)通常受限于固定的图像输入尺寸。标准的 LVLM 将输入图像编码为固定分辨率(例如224×224),通常通过对图像进行下采样或上采样,或者采用先缩放后填充的方法。虽然这种“一刀切”的策略能够处理分辨率一致的图像,但也限制了模型在不同尺度下捕捉信息的能力,尤其是在高分辨率图像中会导致细节信息的显著丢失。因此,这类模型在感知视觉信息的尺度和细节方面,无法达到人类视觉的灵敏度。
此外,大多数 LVLMs 依赖于静态的、冻结的 CLIP 式视觉编码器,这引发了人们对这类预训练模型生成的视觉表征是否足够的担忧,尤其是在处理复杂的推理任务和图像中的精细细节时。最近的研究尝试通过在 LVLM 训练过程中微调视觉 transformer(ViT)来解决这些局限性,并已证明可以取得更好的结果。为了进一步增强模型对不同分辨率的适应性,我们在 LVLM 训练过程中引入了动态分辨率训练。具体而言,我们在ViT中采用了二维旋转位置嵌入(RoPE),从而使模型能够更好地捕捉不同空间尺度上的信息。
对于本质上由帧序列构成的视频内容,许多现有模型仍然将其视为一种独立的模态。然而,理解视频所展现的现实动态特性,对于旨在把握现实世界复杂性的模型而言至关重要。与本质上是一维的文本不同,现实世界环境存在于三维空间中。当前模型中使用一维位置嵌入极大地限制了其有效建模三维空间和时间动态的能力。为了弥补这一不足,我们开发了多模态旋转位置嵌入(MRoPE),它采用独立的组件来表示时间和空间信息。这使得模型能够自然地理解视频或流数据等动态内容,从而提升其理解世界和与世界交互的能力。
此外,与大语言模型(LLM)的扩展性相比,目前的 LVLM 在探索扩展性对训练数据和模型参数的影响方面仍处于早期阶段。LVLM 的扩展规律——即模型和数据规模的增加如何影响性能——仍然是一个开放且充满前景的研究领域。
本文介绍了 Qwen 家族大型视觉语言模型的最新成员:Qwen2-VL系列,该系列包含三个开放权重模型,参数总数分别为20亿、80亿和720亿。如图1所示,Qwen2-VL的主要改进包括:
- State-of-the-art understanding across various resolutions and aspect ratios。Qwen2-VL 在视觉基准测试中取得了领先的性能,包括 DocVQA、InfoVQA、RealWorldQA、MTVQA、MathVista 等。
- Comprehension of extended-duration videos (20 min+)。Qwen2-VL 能够理解时长超过 20 分钟的视频,增强了其执行高质量视频问答、对话、内容创作等的能力。
- Robust agent capabilities for device operation。Qwen2-VL 具备先进的推理和决策能力,可以与手机、机器人等设备集成,从而能够根据视觉输入和文本指令进行自主操作。
- Multilingual support。为了服务全球用户,Qwen2-VL 除了英语和中文之外,现在还支持图像中的多语言上下文理解,包括大多数欧洲语言、日语、韩语、阿拉伯语、越南语等。
2.Approach

Qwen2-VL系列包含三种尺寸的模型,分别为Qwen2-VL-2B、Qwen2-VL-7B和Qwen2-VL-72B。表1列出了超参数和重要信息。值得注意的是,Qwen2-VL在不同尺寸的LLM中均采用 675M 参数的ViT,从而确保ViT的计算量与LLM的规模无关。
2.1 Model Architecture

图 2 展示了 Qwen2-VL 的整体架构。我们保留了 Qwen-VL 框架,该框架集成了视觉编码器和语言模型。为了适应不同的规模,我们实现了一个拥有约 675M 参数的视觉 Transformer (ViT),它能够很好地处理图像和视频输入。在语言处理方面,我们选择了功能更强大的 Qwen2 系列语言模型。为了进一步提升模型有效感知和理解视频中视觉信息的能力,我们引入了几项关键的升级:
Naive Dynamic Resolution。Qwen2-VL 的一个关键架构改进是引入了朴素动态分辨率支持。与 Qwen-VL 不同,Qwen2-VL 现在可以处理任意分辨率的图像,并动态地将其转换为可变数量的视觉 token。为了支持这一特性,我们修改了 ViT,移除了原有的绝对位置嵌入,并引入了 2D-RoPE 来捕获图像的二维位置信息。在推理阶段,不同分辨率的图像被打包成一个序列,并通过控制打包长度来限制 GPU 内存的使用。此外,为了减少每幅图像的视觉 token 数量,我们在 ViT 之后使用了一个简单的 MLP 层,将相邻的 2 × 2 token 压缩成一个 token ,并在压缩后的视觉 token 的开头和结尾分别放置特殊的 <|vision_start|>\texttt{<|vision\_start|>}<|vision_start|> 和 <|vision_end|>\texttt{<|vision\_end|>}<|vision_end|> token。因此,使用 patch_size=14 的 ViT 编码的 224 × 224 分辨率图像在进入 LLM 之前将被压缩到 66 个 token。
Multimodal Rotary Position Embedding (M-RoPE) 。另一项关键的架构改进是多模态旋转位置嵌入(M-RoPE)的创新。与LLM中传统的1D-RoPE(仅限于编码一维位置信息)不同,M-RoPE能够有效地对多模态输入的位置信息进行建模。这是通过将原始旋转嵌入分解为三个分量来实现的:时间、高度和宽度。对于文本输入,这些分量使用相同的位置ID,使得 M-RoPE 在功能上与1D-RoPE等效。在处理图像时,每个视觉 token 的时间ID保持不变,而高度和宽度分量则根据 token 在图像中的位置分配不同的 ID。对于被视为帧序列的视频,时间 ID 随帧递增,而高度和宽度分量遵循与图像相同的ID分配模式。在模型输入包含多种模态的情况下,每种模态的位置编号通过将前一种模态的最大位置ID加1来初始化。图 3 显示了 M-RoPE 的示意图。M-RoPE 不仅增强了位置信息的建模,而且降低了图像和视频的位置 ID 的价值,使模型能够在推理过程中外推到更长的序列。
Unified Image and Video Understanding。Qwen2-VL 采用混合训练方案,结合图像和视频数据,确保模型能够熟练地理解图像和视频。为了尽可能完整地保留视频信息,我们以每秒两帧的速度对每个视频进行采样。此外,我们集成了深度为 2 的 3D 卷积来处理视频输入,使模型能够处理 3D 管状结构而非 2D 块状结构,从而在不增加序列长度的情况下处理更多视频帧。为了保持一致性,每张图像都被视为两个相同的帧。为了平衡长视频处理的计算需求和整体训练效率,我们动态调整每个视频帧的分辨率,并将每个视频的 token 总数限制在 16384 个以内。这种训练方法在模型理解长视频的能力和训练效率之间取得了平衡。

2.2 Training
沿用 Qwen-VL 的方法,我们采用三阶段训练法。第一阶段,我们专注于训练视觉 Transformer (ViT) 组件,利用庞大的图像-文本对语料库来增强大语言模型 (LLM) 的语义理解能力。第二阶段,我们解冻所有参数,并使用更广泛的数据进行训练,以实现更全面的学习。最后阶段,我们锁定 ViT 的参数,并使用指令数据集对 LLM 进行专属的微调。
该模型在一个包含图像-文本对、光学字符识别 (OCR) 数据、交错式图像-文本文章、视觉问答数据集、视频对话和图像知识数据集的多样化数据集上进行了预训练。我们的数据来源主要包括清洗后的网页、开源数据集和合成数据。数据知识的截止日期为 2023 年 6 月。这种多样化的数据构成对于构建强大的多模态理解能力至关重要。
在初始预训练阶段,Qwen2-VL 会接触一个包含约 600B token 的语料库。Qwen2-VL 的 LLM 组件使用 Qwen2 的参数进行初始化,而其视觉编码器则使用从 DFN 导出的 ViT 进行初始化。然而,原始 DFN 的 ViT 中的固定位置嵌入被替换为 RoPE-2D。该预训练阶段主要侧重于学习图像-文本关系、通过 OCR 识别图像中的文本内容以及图像分类任务。这种基础训练对于模型深入理解核心的视觉-文本关联和对齐方式至关重要。
第二阶段预训练标志着模型取得了显著进展,新增了 800B 图像相关数据 token。该阶段引入了更多混合图像-文本内容,有助于更深入地理解视觉信息和文本信息之间的相互作用。视觉问答数据集的加入提升了模型对图像相关问题的响应能力。此外,多任务数据集的加入对于培养模型同时处理多种任务的能力至关重要,这项技能在处理复杂的真实世界数据集时尤为重要。与此同时,纯文本数据在维持和提升模型的语言能力方面继续发挥着关键作用。
在预训练阶段,Qwen2-VL 累计处理了 1.4 万亿个 token。具体来说,这些 token 不仅包含文本 token,还包含图像 token。然而,在训练过程中,我们仅对文本词元提供监督。这种广泛而多样的语言和视觉场景的接触,确保了模型能够深入理解视觉和文本信息之间错综复杂的关系,从而为各种多模态任务奠定坚实的基础。
在指令微调阶段,我们采用 ChatML 格式构建指令遵循数据。该数据集不仅包含纯文本对话数据,还包含多模态对话数据。多模态组件包括图像问答、文档解析、多图像比较、视频理解、视频流对话以及基于 Agent 的交互。我们采用的综合数据构建方法旨在增强模型理解和执行各种模态指令的能力。通过整合多种数据类型,我们力求开发一个更加通用和稳健的语言模型,使其能够处理复杂的多模态任务,而不仅仅是传统的文本交互。
2.2.1 Data Format
与 Qwen-VL 类似,Qwen2-VL 也采用特殊 token 来区分视觉输入和文本输入。标记 <|vision_start|>\texttt{<|vision\_start|>}<|vision_start|> 和 <|vision_end|>\texttt{<|vision\_end|>}<|vision_end|> 分别插入到图像特征序列的开头和结尾,以标示图像内容。
Dialogue Data。在对话格式方面,我们使用 ChatML 格式构建指令微调数据集,其中每个交互语句都用两个特殊token(<|im_start|>\texttt{<|im\_start|>}<|im_start|> 和 <|im_end|>\texttt{<|im\_end|>}<|im_end|>)标记,以便于结束对话。蓝色标记的部分表示监督学习部分。

Visual Grounding。为了赋予模型视觉定位能力,边界框坐标被归一化到 [0, 1000) 范围内,并表示为 “(Xtop left,Ytop left),(Xbottom right,Ybottom right)(X_{top~left}, Y_{top~left}),(X_{bottom~right}, Y_{bottom~right)}(Xtop left,Ytop left),(Xbottom right,Ybottom right)”。token <|box_start|>\texttt{<|box\_start|>}<|box_start|> 和 <|box_end|>\texttt{<|box\_end|>}<|box_end|> 用于划分边界框文本。为了将边界框与其文本描述精确关联起来,我们引入token <|object_ref_start|>\texttt{<|object\_ref\_start|>}<|object_ref_start|> 和 <|object_ref_end|>\texttt{<|object\_ref\_end|>}<|object_ref_end|> 来指示边界框所指向的内容,从而使模型能够有效地解释并生成特定区域的精确描述。

Visual Agent。为了将 Qwen2-VL 开发成一个通用的视觉语言智能体 (VL-Agent),我们将各种智能体任务(例如用户界面操作、机器人控制、游戏和导航)视为一系列顺序决策问题,从而使 Qwen2-VL 能够通过多步骤动作执行来完成任务。对于每个任务,我们首先定义一组允许的动作和用于函数调用的关键字模式(下划线)。然后,Qwen2-VL 分析观测结果,进行推理和规划,执行选定的动作,并与环境交互以获取新的观测结果。此循环迭代重复,直至任务成功完成。通过集成各种工具并利用大型视觉语言模型 (LVLM) 的视觉感知能力,Qwen2-VL 能够迭代执行涉及真实世界视觉交互的日益复杂的任务。

2.3 Multimodal Model Infrastructure
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)