Qwen2-VL:增强视觉语言模型对世界任意分辨率的感知能力
1、摘要
Qwen2-VL系列是Qwen-VL模型的高级升级版本,它重新定义了传统视觉处理中预设分辨率的方法。Qwen2-VL引入了Naive Dynamic Resolution机制,使模型能够动态处理不同分辨率的图像,并将其转换为不同数量的视觉标记。这种机制使模型能够生成更高效、更准确的视觉表示,更接近人类的感知过程。此外,模型还集成了多模态旋转位置嵌入(M-RoPE),有效融合了文本、图像和视频中的位置信息。Qwen2-VL采用统一的图像和视频处理范式,增强了模型的视觉感知能力。通过扩展模型规模(2B、8B和72B参数)和训练数据量,Qwen2-VL系列在多模态基准测试中取得了极具竞争力的性能,特别是Qwen2-VL-72B模型,在各种多模态基准测试中表现与GPT-4o和Claude3.5Sonnet相当,超越了其他通用模型。
2、引言
大型视觉语言模型(LVLMs)是人工智能领域的重要进展,它们在传统大型语言模型的基础上扩展了对图像、音频和视频等多种数据的处理能力。这些模型通过整合不同形式的数据,更接近人类感知和与环境互动的方式。然而,当前的LVLMs通常受限于固定的图像输入大小,这限制了模型对不同尺度信息的捕捉能力。此外,大多数LVLMs依赖于静态的、冻结的CLIP风格视觉编码器,这引发了对预训练模型生成的视觉表示是否足够的担忧。Qwen2-VL通过引入动态分辨率训练和2D旋转位置嵌入(RoPE)来解决这些问题,进一步增强了模型对不同分辨率的适应能力。
3、方法
Qwen2-VL系列包括三种不同规模的模型:Qwen2-VL-2B、Qwen2-VL-7B和Qwen2-VL-72B。所有模型均采用675M参数的Vision Transformer(ViT)作为视觉编码器,以确保计算负载与LLM的规模无关。以下是Qwen2-VL的关键改进:
3.1、Naive Dynamic Resolution
Qwen2-VL引入了动态分辨率支持,能够处理任意分辨率的图像,并将其动态转换为不同数量的视觉标记。为此,模型移除了ViT中原有的绝对位置嵌入,并引入了2D-RoPE来捕获图像的二维位置信息。在推理阶段,不同分辨率的图像被打包成一个序列,通过简单的MLP层将相邻的2×2标记压缩成一个标记,从而减少视觉标记的数量。
3.2、多模态旋转位置嵌入(M-RoPE)
M-RoPE通过将旋转嵌入分解为时间、高度和宽度三个分量,有效建模多模态输入的位置信息。对于文本输入,这些分量使用相同的位置ID,与1D-RoPE功能等效。对于图像,每个视觉标记的时间ID保持不变,而高度和宽度分量根据标记在图像中的位置分配不同的ID。对于视频,时间ID随每帧递增,高度和宽度分量的ID分配模式与图像相同。
3.3、统一的图像和视频理解
Qwen2-VL采用混合训练方案,同时处理图像和视频数据,确保模型在图像理解和视频理解方面的能力。为了保留尽可能多的视频信息,模型以每秒两帧的频率对视频进行采样,并结合3D卷积处理视频输入,使模型能够处理3D管而不是2D块,从而在不增加序列长度的情况下处理更多视频帧。
4、训练
Qwen2-VL采用三阶段训练方法:
第一阶段:专注于训练Vision Transformer(ViT)组件,使用大量的图像-文本对来增强语义理解。
第二阶段:解冻所有参数,并使用更广泛的数据进行训练,以实现更全面的学习。
第三阶段:锁定ViT参数,仅对LLM进行微调,使用指令数据集进行训练。
模型在预训练阶段接触了约6000亿个标记,包括图像-文本对、OCR数据、图像-文本文章、视觉问答数据集、视频对话和图像知识数据集。数据来源包括清理后的网页、开源数据集和合成数据。预训练阶段主要关注图像-文本关系学习、图像中文本内容识别和图像分类任务。第二阶段预训练引入了额外的8000亿个标记的图像相关数据,进一步提升了模型对视觉和文本信息交互的理解能力。在指令微调阶段,模型使用ChatML格式构建指令跟随数据,包括纯文本对话数据和多模态对话数据。
5、实验
Qwen2-VL在多个视觉基准测试中表现出色,特别是在文档理解任务中。以下是关键的实验结果和分析:
多语言文本识别与理解
Qwen2-VL在多语言OCR方面超越了所有现有的通用LVLMs,包括GPT-4o和Claude 3.5 Sonnet等。模型不仅在公共可用的MTVQA数据集上表现出色,还在内部基准测试中超越了GPT-4o,支持多种欧洲语言、日语、韩语、阿拉伯语、越南语等。
数学推理
Qwen2-VL在MathVista和MathVision数据集上进行了数学推理能力的评估。MathVista包含6141个数学和视觉任务的多样化示例,而MathVision包含3040个嵌入视觉上下文中的数学问题。Qwen2-VL在MathVista上取得了70.5的优异成绩,并在MathVision上设定了新的开源基准,得分为25.9。
视觉定位任务
Qwen2-VL在RefCOCO、RefCOCO+和RefCOCOg数据集上进行了评估,这些数据集专注于科学图表中的文本选择问题。Qwen2-VL在这些任务中取得了顶尖的通用模型结果,尤其是在高分辨率图像细节感知方面表现出色。
视频理解
Qwen2-VL在多个视频理解任务上进行了评估,包括MVBench、PerceptionTest和EgoSchema等。Qwen2-VL-72B在这些基准测试中表现最佳,尤其是在处理长达一小时的视频时,模型展现了强大的能力。
视觉代理能力
Qwen2-VL在功能调用和复杂任务完成方面表现出色。在UI操作、机器人控制、卡牌游戏和视觉语言导航等任务中,Qwen2-VL展现了强大的能力,特别是在需要多步操作的任务中。
7、消融研究
动态分辨率
动态分辨率方法在不同基准测试中表现优于固定分辨率方法,同时平均消耗的标记数量更少。通过调整图像大小,模型在不同分辨率下表现出色,尤其是在InfoVQA、HallusionBench和OCRBench等感知任务中。
M-RoPE
M-RoPE在多种下游任务中表现优于1D-RoPE,尤其是在视频基准测试中。M-RoPE还使模型在推理长度超出训练最大长度时表现出色,即使在训练时限制了最大标记数量,模型在推理时也能处理长达80K标记的视频。
模型规模扩展
随着模型规模的增加,模型在多种能力维度上的表现一致提升,尤其是在数学能力方面。模型在OCR相关任务中表现出色,即使在较小规模的模型中也能取得较好的成绩。
8、结论
Qwen2-VL系列是功能强大的大型视觉语言模型,包括2B、8B和72B参数的模型。Qwen2-VL在多种多模态场景中与GPT-4o和Claude3.5-Sonnet等顶级模型表现相当,超越了其他所有开源的LVLMs。Qwen2-VL引入了动态分辨率和M-RoPE,能够理解超过20分钟的视频,并支持多语言文本理解。Qwen2-VL模型权重已公开,以便研究人员和开发人员在各种应用和研究项目中充分利用其潜力。
相关文章:

Qwen2-VL:增强视觉语言模型对世界任意分辨率的感知能力
1、摘要 Qwen2-VL系列是Qwen-VL模型的高级升级版本,它重新定义了传统视觉处理中预设分辨率的方法。Qwen2-VL引入了Naive Dynamic Resolution机制,使模型能够动态处理不同分辨率的图像,并将其转换为不同数量的视觉标记。这种机制使模型能够生…...

原神新版本角色牌上新 七圣召唤增添新玩法
在原神这款游戏中,5.4版本更新后七圣召唤玩法将新增2张角色牌和对应天赋牌、3张行动牌,并进行部分卡牌平衡调整,今天就给大家介绍一下。 一、角色牌【基尼奇】 1.元素战技:选一个我方角色,自身附属钩索链接并进入夜魂…...

Spring 中的 事务 隔离级别以及传播行为
1. 事务隔离级别(Isolation Level) 事务隔离级别定义了事务在并发环境下的行为,主要解决以下问题: 脏读(Dirty Read):一个事务读取了另一个未提交事务的数据。 不可重复读(Non-Re…...

为多个GitHub账户配置SSH密钥
背景 当需要同时使用多个GitHub账户(例如工作和个人账户)时,默认的SSH配置可能导致冲突。本文介绍如何通过生成不同的SSH密钥对并配置SSH客户端来管理多个账户。 操作步骤 生成SSH密钥对 为每个GitHub账户生成独立的密钥对,并指…...

OSPF基础(3):区域划分
OSPF的区域划分 1、区域产生背景 路由器在同一个区域中泛洪LSA。为了确保每台路由器都拥有对网络拓扑的一致认知,LSDB需要在区域内进行同步。OSPF域如果仅有一个区域,随着网络规模越来越大,OSPF路由器的数量越来越多,这将导致诸…...

android studio无痛入门
在Android Studio中创建和管理项目主要涉及以下几个步骤: 1. 创建新项目 打开Android Studio,点击“Start a new Android Studio project”或者“File” > “New” > “New Project”。 选择一个模板,例如“Empty Activity”࿰…...

免费windows pdf编辑工具Epdf
Epdf(完全免费) 作者:不染心 时间:2025/2/6 Github: https://github.com/dog-tired/Epdf Epdf Epdf 是一款使用 Rust 编写的 PDF 编辑器,目前仍在开发中。它提供了一系列实用的命令行选项,方便用户对 PDF …...

CNN 卷积神经网络处理图片任务 | PyTorch 深度学习实战
前一篇文章,学习率调整策略 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started CNN 卷积神经网络 CNN什么是卷积工作原理深度学习的卷积运算提取特征不同特征核的效果比较卷积核感受野共享权重池化 示例源码 …...

LeetCode 128: 最长连续序列
LeetCode 128: 最长连续序列 题目: 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入:nums […...

大语言模型需要的可观测性数据的关联方式
可观测性数据的关联方式及其优缺点 随着现代分布式架构和微服务的普及,可观测性(Observability)已经成为确保系统健康、排查故障、优化性能的重要组成部分。有效的可观测性数据关联方式不仅能够帮助我们实时监控系统的运行状态,还…...

【韩顺平linux】部分上课笔记整理
整理一下一些韩顺平老师上课时候的笔记 课程:【小白入门 通俗易懂】韩顺平 一周学会Linux linux环境:使用阿里云服务器 笔记参考 : [学习笔记]2021韩顺平一周学会Linux 一、自定义函数 基本语法 应用实例: 计算两个参数的和…...

python调用pc的语音借口
先安装: pip install pyttsx3再运行: import pyttsx3 # 初始化语音引擎 def init_engine():engine pyttsx3.init()# 设置中文语音voices engine.getProperty(voices)for voice in voices:if chinese in voice.name.lower():engine.setProperty(voice…...

【Golang学习之旅】Golang 内存管理与 GC 机制详解
文章目录 前言1. Go 语言的内存管理的简述2. Golang 内存管理机制2.1 Go 语言的内存分配模型2.2 Go 变量分配示例2.3 Go 语言的内存池(sync.Pool) 3. Golang 垃圾回收(GC)机制详解3.1 Go 的 GC 机制概述3.2 GC 触发条件3.3 手动触…...

Kamailio 各个功能的共同点、不同点及应用场景
Kamailio 各个功能的共同点、不同点及应用场景: 功能共同点不同点应用场景SIP 注册服务器处理用户注册请求,维护用户位置信息专注于用户设备的注册和注销,维护设备位置企业内部通信系统,确保用户设备的动态注册和注销SIP 代理服务…...

Linux(CentOS)安装 Nginx
CentOS版本:CentOS 7 Nginx版本:1.24.0 两种安装方式: 一、通过 yum 安装,最简单,一键安装,全程无忧。 二、通过编译源码包安装,需具备配置相关操作。 最后附:设置 Nginx 服务开…...

string 与 wstring 的字符编码
测试代码: #include<stdio.h> #include<stdlib.h> #include<windows.h> #include <locale.h> #include <string> #include <iostream>// 函数用于计算UTF-8字符串中的字符数 int utf8_strlen(const char* str) {int len = 0;for (; *s…...

C#面试常考随笔14: 方法如何传递不定数量的参数?params关键字怎么使用?
使用params关键字,就可以像python传参那样传递多个参数,类似元组 主要作用 params 关键字的主要作用是让方法可以接受不定数量的参数,而不需要在调用方法时显式地创建数组来传递多个参数。这为方法调用提供了更大的灵活性,使得代…...

开发一款类似《王者荣耀》的游戏是一个复杂的系统工程,涉及多个领域的知识和技术。以下是从多个角度详细阐述如何开发的思维。
一、明确游戏定位与核心玩法 游戏类型 MOBA(Multiplayer Online Battle Arena):强调团队合作、策略性和即时战斗。确定游戏模式(如5v5、3v3等)和地图设计。 核心玩法 角色设计:英雄技能、属性、成长曲线。…...

VMware下Linux和macOS安装VSCode一些总结
本文介绍VMware下Linux和macOS安装VSCode的一些内容,包括VSCode编译器显示中文以及安装.NET环境和Python环境。 VSCode下载地址:Download Visual Studio Code - Mac, Linux, Windows 一.Linux系统下 1.安装中文包 按 Ctrl Shift P 打开命令面板。输…...

aspectFill(填充目标区域的同时保持图像的原有宽高比 (aspect ratio)图像不会被拉伸或压缩变形
“aspectFill” 是一个常用于图像和视频处理的术语,尤其是在用户界面 (UI) 设计和图形编程领域。它描述的是一种图像缩放或调整大小的方式,旨在填充目标区域的同时保持图像的原有宽高比 (aspect ratio)。 更详细的解释: Aspect Ratio (宽高比): 指的是图…...

我的年度写作计划
目录 计算机经典四件 数据结构 计算机网络体系 经典操作系统与计算机架构 嵌入式领域笔记 其他部分 私货部分 笔者打算在这里理一下今年的写作计划,如下所示: 计算机经典四件 数据结构 笔者因为冲刺面试需要,还是要更加扎实的掌握自…...

DeepSeek与llama本地部署(含WebUI)
DeepSeek从2025年1月起开始火爆,成为全球最炙手可热的大模型,各大媒体争相报道。我们可以和文心一言一样去官网进行DeepSeek的使用,那如果有读者希望将大模型部署在本地应该怎么做呢?本篇文章将会教你如何在本地傻瓜式的部署我们的…...

SOA(面向服务架构)全面解析
1. 引言 什么是SOA(面向服务架构) SOA(Service-Oriented Architecture,面向服务架构)是一种将应用程序功能以“服务”的形式进行模块化设计的架构风格。这些服务是独立的功能模块,它们通过定义明确的接口…...

PyQt6/PySide6 的 QDialog 类
QDialog 是 PyQt6 或 PySide6 库中用于创建对话框的类。对话框是一种特殊的窗口,通常用于与用户进行短期交互,如输入信息、显示消息或选择选项等。QDialog 提供了丰富的功能和灵活性,使得开发者可以轻松地创建各种类型的对话框。下面我将详细…...

mes系统对工业数字化转型起到重要作用,它的实际应用有哪些
一、生产计划与调度 在工业数字化转型中,MES 系统能够对生产计划进行高效的管理和调度。通过与企业资源计划(ERP)系统的集成,MES 可以获取生产订单信息,并根据生产设备的状态、人员安排以及物料供应情况等因素&#x…...

Qt:项目文件解析
目录 QWidget基础项目文件解析 .pro文件解析 widget.h文件解析 widget.cpp文件解析 widget.ui文件解析 main.cpp文件解析 认识对象模型 窗口坐标系 QWidget基础项目文件解析 .pro文件解析 工程新建好之后,在工程目录列表中有⼀个后缀为 ".pro" …...

【学术投稿】第五届计算机网络安全与软件工程(CNSSE 2025)
重要信息 官网:www.cnsse.org 时间:2025年2月21-23日 地点:中国-青岛 简介 第五届计算机网络安全与软件工程(CNSSE 2025)将于2025年2月21-23日在中国-青岛举行。CNSSE 2025专注于计算机网络安全、软件工程、信号处…...

Java 大视界 -- Java 大数据在智能供应链中的应用与优化(76)
💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...

WEB攻防-文件下载文件读取文件删除目录遍历目录穿越
目录 一、文件下载漏洞 1.1 文件下载案例(黑盒角度) 1.2 文件读取案例(黑盒角度) 二、文件删除 三、目录遍历与目录穿越 四、审计分析-文件下载漏洞-XHCMS 五、审计分析-文件读取漏洞-MetInfo-函数搜索 六、审计分析-…...

部署open webui 调用ollama启动的deepseek
以下是 部署Open WebUI并调用Ollama的deepseek-70b模型 的详细步骤,重点讲解部署和配置过程: 一、部署 Open WebUI 1. 安装Docker(如已安装可跳过) # 自动安装Docker curl -fsSL https://get.docker.com | sh # 启动Docker服务 …...