多模态理解大模型是一类能够同时处理和理解多种数据形式(如图像、文本、视频等)的人工智能模型。这类模型通过深度学习技术,可以实现跨模态的信息理解、关联和生成。相比传统的单模态模型,多模态模型能够更全面地理解和分析复杂场景,在实际应用中具有更强的实用性和普适性。典型应用包括:图文理解、视觉问答、文档理解、场景描述等任务。随着技术的发展,多模态大模型在准确性、鲁棒性和通用性等方面都取得了显著进步,为人工智能的发展开辟了新的方向!
本文将介绍Qwen2-VL系列模型,涵盖Qwen2-VL和Qwen2.5-VL。其中,Qwen2-VL 在视觉理解基准测试中取得全球领先表现,能读懂不同分辨率和长宽比的图片,理解 20 分钟以上长视频,还可作为能够操作手机和机器人的视觉智能体,并支持多语言 。而Qwen2.5-VL更是实力非凡,其旗舰版Qwen2.5-VL-72B在 13 项权威评测中夺得视觉理解冠军,超越GPT-4o与Claude3.5。它不仅擅长识别常见物体,还可分析图像文本、图表等;能作为视觉代理,初步具备使用电脑和手机的能力;能理解超 1 小时的时长视频,精准捕捉事件;能进行视觉定位;支持发票等数据的结构化输出。
接下来,本篇文章内容将包括模型结构、训练流程、模型能力的展示,并以飞桨多模态开发套件 PaddleMIX 中 Qwen2.5-VL 的实现为例,对代码进行逐步解读。
引言
Qwen-VL模型作为一款多模态模型,在处理图像与文本融合信息方面已展现出一定实力,能完成基础的图文理解等任务,为多模态应用奠定了基础。在此之上升级而来的 Qwen2-VL系列,实现了对传统预设分辨率方法在视觉处理应用的重新定义。
Qwen2-VL引入了原生动态分辨率机制,使得模型能够动态地将不同分辨率的图像处理成不同数量的视觉tokens。该方法能够生成更高效、准确的视觉表征,更贴近人类的感知过程。模型还集成了多模态旋转位置嵌入(M - RoPE),促进了文本、图像和视频之间位置信息的有效融合。Qwen2-VL系列采用了统一的图像和视频处理范式,提升了模型的视觉感知能力。
Qwen2.5-VL是对Qwen2-VL的进一步优化,在图像理解时,使用图像的实际尺寸来表示坐标十分关键。例如,当模型需要识别一张图片中多个物体的位置关系,像判断桌子上杯子在盘子的左边还是右边,通过实际尺寸坐标,模型就能精准定位每个物体在图像中的具体位置,进而准确分析它们的空间关系。在时间维度上,动态 FPS(每秒帧数)训练和绝对时间编码意义重大。对于视频而言,不同场景可能需要不同的帧率去捕捉关键信息,动态FPS训练让模型可依据视频内容智能调整帧率处理方式,不错过任何重要细节。绝对时间编码则给视频中的每一帧画面赋予独一无二的时间戳,就如同给每一个瞬间都标记了精确时间,便于模型理解视频中事件发生的先后顺序。将mRoPE id直接与时间流速对齐,能让模型更好地把握视频中随时间变化的信息,比如人物动作的连贯性、事件发展的节奏等。同时,Qwen2.5-VL重新训练了更简单高效的视觉编码器,进一步提升模型对时间和图像尺寸的感知。

图1 Qwen2-VL能力展示
如图1所示,在模型能力上Qwen2-VL能够实现多语种图像文本理解、代码/数学推理、视频分析、直播聊天、智能体等。而Qwen2.5-VL在此基础上进一步能实现理解长视频和捕捉事件、图像细粒度感知,初步使用电脑手机等能力。
在模型尺寸上,Qwen2-VL系列目前有以下这些参数版本👇
- Qwen2-VL:2B,7B,72B
- Qwen2.5-VL:3B,7B,72B
方法
Qwen2-VL

图2: Qwen2-VL架构
如图2,整体上Qwen2-VL仍然延续了 Qwen-VL 中ViT 加 Qwen2 的串联结构,在三个不同尺度的模型上,Qwen2-VL 都采用 600M 规模大小的 ViT,并且支持图像和视频统一输入。为了让模型更清楚地感知视觉信息和理解视频,Qwen2-VL 还进行了以下升级:
-
原生动态分辨率:Qwen2-VL 在架构上的一大改进是实现了对原生动态分辨率的全面支持。与上一代模型相比,Qwen2-VL 能够处理任意分辨率的图像输入,不同大小图片被转换为动态数量的 tokens,最小只占 4 个 tokens。这种设计不仅确保了模型输入与图像原始信息之间的高度一致性,更是模拟了人类视觉感知的自然方式,赋予模型处理任意尺寸图像的强大能力,使其在图像处理领域展现出更加灵活和高效的表现。具体而言,为了减少每个图像的视觉tokens数量,Qwen2-VL 在ViT之后使用一个简单的MLP层将相邻的2 × 2 tokens压缩为单个token,并将特殊的<|vision_start|>和<|vision_end|> token放置在压缩的视觉tokens的开始和结束处。因此,分辨率为224 × 224的图像,使用patch_size = 14的ViT编码,在进入LLM之前,将被压缩到66个tokens。
-
多模态旋转位置嵌入(M-ROPE):Qwen2-VL 在架构上的另一重要创新则是多模态旋转位置嵌入(M-ROPE)。传统的旋转位置嵌入只能捕捉一维序列的位置信息,而 M-ROPE 通过将原始旋转嵌入分解为代表时间、高度和宽度的三个部分,使得大规模语言模型能够同时捕捉和整合一维文本序列、二维视觉图像以及三维视频的位置信息。这一创新赋予了语言模型强大的多模态处理和推理能力,能够更好地理解和建模复杂的多模态数据。

图3: 多模态旋转位置嵌入(M-ROPE)示意图
3. 统一图像和视频理解 : Qwen2-VL采用图像和视频数据混合的训练方案,保证了图像理解和视频理解的充分性。为了尽可能完整地保留视频信息,Qwen2-VL以每秒两帧的速度对每个视频进行采样。此外,Qwen2-VL集成了深度为2的3D卷积来处理视频输入,使模型能够处理3D管道而不是2D补丁,从而使其能够在不增加序列长度的情况下处理更多的视频帧。为了保持一致,每幅图像被视为两个相同的帧。为了平衡长视频处理的计算需求和整体训练效率,Qwen2-VL 动态调整每个视频帧的分辨率,将每个视频的tokens总数限制为16384个。这种训练方式在模型对长视频的理解能力和训练效率之间取得了平衡。
Qwen2.5-VL

图4: Qwen2.5-VL架构
Qwen2.5-VL在整体架构上没有太大变动,主要涉及以下两个改进:
1. 时间和图像尺寸的感知: 在空间维度上,Qwen2.5-VL 不仅能够动态地将不同尺寸的图像转换为不同长度的 token,还直接使用图像的实际尺寸来表示检测框和点等坐标,而不进行传统的坐标归一化。这使得模型能够直接学习图像的尺度。在时间维度上,引入了动态 FPS (每秒帧数)训练和绝对时间编码,将 mRoPE id 直接与时间流速对齐。这使得模型能够通过时间维度 id 的间隔来学习时间的节奏。
2. 更简洁高效的视觉编码器: 视觉编码器在多模态大模型中扮演着至关重要的角色。Qwen2.5-VL从头开始训练了一个原生动态分辨率的 ViT,包括 CLIP、视觉-语言模型对齐和端到端训练等阶段。为了解决多模态大模型在训练和测试阶段 ViT 负载不均衡的问题,Qwen2.5-VL引入了窗口注意力机制,有效减少了 ViT 端的计算负担。在Qwen2.5-VL的 ViT 设置中,只有四层是全注意力层,其余层使用窗口注意力。最大窗口大小为 8x8,小于 8x8 的区域不需要填充,而是保持原始尺度,确保模型保持原生分辨率。此外,为了简化整体网络结构,Qwen2.5-VL使 ViT 架构与 LLMs 更加一致,采用了 RMSNorm 和 SwiGLU 结构。
训练方法
训练pipeline
Qwen-VL 是一款在多模态领域表现出色的模型,它在处理图像与文本融合信息方面具备一定能力,能完成基础的图文理解等任务 。Qwen2-VL 系列在其基础上进行升级,采用了三阶段的训练方法。Qwen2-VL 系列在其基础上进行升级,采用了三阶段的训练方法。在第一阶段,Qwen2-VL 专注于训练视觉编码器(ViT 组件),此时大语言模型的参数处于冻结状态。模型利用海量的图像 - 文本对数据,通过识别图像内部的文本内容 OCR 和进行图像分类等基础训练任务,来增强大语言模型对视觉信息的语义理解能力。这种训练方式能让模型在后续处理视觉和文本数据时,精准地捕捉图像中的关键信息,并与对应的文本描述建立稳定的关联,为后续复杂任务的处理筑牢根基。在第二阶段,Qwen2-VL解冻所有参数,并使用更广泛的数据进行训练,以进行更全面的学习。在最后阶段,Qwen2-VL冻结ViT参数,并使用指导数据集对LLM进行特定的微调。其中第一、第二阶段实际都是在预训练阶段,第三阶段是指令微调阶段。
第一阶段: 在初始预训练阶段,Qwen2-VL使用了约6千亿个tokens的语料进行训练。Qwen2-VL的LLM部分采用了Qwen2 的参数初始化,而视觉编码器则基于DFN的ViT进行初始化。然而,DFN的ViT中的固定位置嵌入被RoPE-2D所替代。该预训练阶段主要致力于学习图像与文本之间的关系,特别是通过识别图像内部的文本内容OCR和图像分类任务作为基础训练,帮助模型在视觉-文本关系的学习中打下坚实基础。这种训练方式使Qwen2-VL能够在处理视觉和文本数据时,稳定地理解并对齐图像中的关键信息与文本描述。通过这种方式,模型在面对更复杂的任务时,能更准确地捕捉到图像和文本之间的内在联系,为后续的微调和特定任务的执行提供强有力的支持。
第二阶段: 相较于第一阶段,此阶段增加了额外的8千亿tokens的图像相关数据。此阶段引入了更多图文混合内容,帮助模型更细致地理解视觉与文本信息之间的复杂相互作用。视觉问答数据集的加入,大幅提升了模型针对图像相关查询的响应精准度;多任务数据集的融入,增强了模型在不同任务间灵活切换和并发处理的能力,这对于应对现实世界中复杂多样的数据集至关重要;持续输入的纯文本数据,进一步打磨了模型在语言理解和生成方面的精确度。可以说,第二阶段丰富的数据类型和多样化的训练任务,极大地拓展了模型的学习边界,让模型从对视觉 - 文本关系的初步理解迈向对复杂多模态信息的深度融合与运用,因此标志着 Qwen2-VL 训练的重大进步。在整个预训练阶段,Qwen2-VL 累计处理了1.4 万亿 tokens,其中包含文本标记和图像标记,但训练过程仅对文本标记进行监督。这种对广泛多样的语言与视觉场景的深度学习,使 Qwen2-VL 充分掌握了视觉和文本信息间错综复杂的关系,为其在多模态任务处理中展现强大能力与灵活性奠定了坚实基础。
第三阶段: 在指令微调阶段,Qwen2-VL采用了ChatML的格式来构建指令跟随数据集。该数据集不仅包括纯文本对话数据,还融合了多模态对话数据。多模态数据包括图像问答、文档解析、多图像比较、视频理解、视频流对话和基于Agent的交互等。通过这种多维度的数据构建方法,Qwen2-VL旨在增强模型理解并执行各种模态下的广泛指令的能力。融合不同的数据类型,使Qwen2-VL能够应对复杂的多模态任务,而不局限于传统的文本交互。这样,模型在面对现实世界中丰富的多样化场景时,能够展现出更强的适应性和鲁棒性,为各种实际应用提供更加精准的支持。
数据格式
Qwen2-VL的数据部分使用了特殊的token来区分视觉和文本输入。在图像特征序列的开始和结束处插入特殊的<|vision_start|>和<|vision_end|> token,用于标定图像内容。
· 对话数据: 在对话格式方面,Qwen2-VL使用ChatML格式构建了指令调优数据集,其中每个交互的语句都用两个特殊的token (<|im_start|>和<|im_end|>)来标记,以方便对话的终止。蓝色标记的部分表示被监督的部分。

图5: Chatml的Dataset格式示例
· 视觉定位: 为了使模型具备视觉定位能力,Qwen2-VL将边界框坐标归一化至[0, 1000)范围,并表示为和。这些坐标与文本一同作为tokens进行处理,用于标注边界框文本。为了精确地将边界框与其文本描述对应,Qwen2-VL引入了<|object_ref_

最低0.47元/天 解锁文章
1823

被折叠的 条评论
为什么被折叠?



