1 Introduction
背景
LLM展现出很强的文本理解和生成能力,通过Instruction Tuning能够很好地与用户交互,逐渐成为智能助手的重要基础。
但LLM本身只能处理文本,无法直接理解图片、视频、语音等其他模态,应用范围受到很大限制。
为了解决这一问题,近年来出现了大量Large Vision-Language Models(LVLM),将视觉编码器与LLM结合,使模型能够理解图像并完成视觉问答、图像描述等任务。
现有开源LVLM存在的问题
(1)整体性能仍然落后于闭源模型
虽然开源社区已经提出了很多LVLM,但由于训练数据、训练策略以及模型优化仍然不足,其整体能力与GPT-4V等闭源模型相比仍有明显差距,限制了开源多模态模型的发展和应用。
(2)缺乏细粒度视觉理解能力
现实世界中的视觉场景十分复杂,只知道"图片里有什么"是不够的,模型还要具备更细粒度的视觉理解能力,如目标定位(Object Grounding)、图片文字阅读(Text Reading)、文档理解(Document Understanding)以及更加精细的视觉问答。然而,大多数开源LVLM仍然采用较粗粒度的方式理解整张图片,只能获得整体语义,缺乏上述细粒度视觉能力。
Qwen-VL的解决方案
针对上述问题,作者提出了Qwen-VL系列模型。
Qwen-VL建立在Qwen-7B语言模型基础之上,通过增加视觉模块,使LLM获得视觉理解能力。
整个模型主要包括几个核心设计:
- 一个与语言空间对齐的视觉编码器(Language-aligned Visual Encoder)
- 一个能够保留位置信息的Vision-Language Adapter(Position-aware Adapter)
- 一个三阶段训练流程(3-stage Training Pipeline)
- 大规模图文训练数据进行训练
作者希望模型不仅能够完成传统视觉语言任务,还能够具备更加细粒度的视觉理解能力。
Qwen-VL能够完成哪些任务
经过预训练后的Qwen-VL可以完成多种视觉语言任务,包括:Image Caption、Visual Question Answering(VQA)、OCR相关任务、Text-oriented VQA、Visual Grounding
作者又在Qwen-VL基础上Instruction Tuning,得到聊天版本Qwen-VL-Chat,使模型能够按照用户指令进行多轮对话。
BLIP-2(连接视觉与LLM) → InstructBLIP(加入Instruction) → LLaVA(Visual Instruction Tuning) → Qwen-VL(进一步强化细粒度视觉能力)
Qwen-VL的特点
① 更强的整体性能
Qwen-VL在大量视觉理解Benchmark上取得了同规模模型中的领先性能,不仅包括传统任务(Caption、VQA、Grounding),还包括多模态对话任务。
② 支持多语言
由于训练数据同时包含大量中文和英文图文数据,模型天然支持中文、英文、中英混合输入
③ 支持多图片输入
训练阶段允许图片和文本交替(interleaved)输入,因此模型能够同时处理多张图片,并理解它们之间的关系,例如比较两张图片的异同。
④ 更强的细粒度视觉理解(强调)
作者认为,得益于**更高分辨率输入、更丰富、更细粒度的数据,**Qwen-VL相比已有LVLM,在Object Grounding、OCR、Text-oriented VQA、Fine-grained Dialogue 上都有明显提升
它不仅知道图片里有什么,还知道"东西在哪"、"图片里的文字是什么"以及"局部区域代表什么"。
本节总结
Introduction主要回答了三个问题。
为什么要做Qwen-VL?
现有开源LVLM整体性能仍落后于闭源模型,同时普遍缺乏细粒度视觉理解能力,尤其是在Grounding、OCR和文档理解等任务上表现不足。
Qwen-VL做了什么?
作者基于Qwen-7B,引入视觉编码器、Position-aware Vision-Language Adapter和三阶段训练流程,使LLM具备视觉理解能力,并重点提升细粒度视觉能力。
Qwen-VL特点?
- 同规模下领先的视觉语言性能
- 支持中英文等多语言
- 支持多图片交错输入(Interleaved Image-Text)
- 更强的细粒度视觉理解能力(Grounding、OCR、Text-oriented VQA等)
2 Methodology
2.1 Model Architecture

Qwen-VL由三个部分组成:
- Large Language Model(LLM)
- Visual Encoder(视觉编码器)
- Position-aware Vision-Language Adapter(位置感知视觉语言适配器)
整体框架与BLIP-2、InstructBLIP等模型类似,都是采用"视觉编码器 + 桥接模块 + LLM"的结构,只是在桥接模块的设计上有所不同。
(1)Large Language Model
Qwen-VL选择预训练的Qwen-7B作为基础语言模型,整个视觉理解能力都是建立在Qwen-7B语言能力的基础之上。
(2)Visual Encoder
视觉编码器是预训练的OpenCLIP的ViT-bigG
先将输入图片调整到固定分辨率,然后送入ViT。
ViT将图片按照 14×14的Patch大小(stride=14)切分,每个Patch经Transformer编码得到对应的视觉特征,形成一串视觉Token序列。
为什么还需要Vision-Language Adapter?
经过ViT编码得到大量视觉Token。如果直接把这些视觉Token全部输入LLM,会带来两个问题:
1、视觉Token数量很多,会显著增加LLM的计算开销。
2、随着输入分辨率提高,视觉Token数量还会进一步增加,使计算成本越来越高。
在ViT和LLM之间加入了一个Vision-Language Adapter,对视觉特征进行压缩。
(3)Position-aware Vision-Language Adapter
整个Adapter比较简单,它由一个随机初始化的单层Cross-Attention组成。Cross-Attention中:
- 一组可学习的Embedding作为Query;
- ViT输出的视觉特征作为Key和Value。
Cross-Attention后,长度可变的视觉Token序列被压缩成固定长度256的视觉表示,再输入LLM。
这里的思想与BLIP-2中的Q-Former比较接近,都是利用一组可学习Query,通过Cross-Attention从大量视觉Token中提取信息,并输出固定长度的视觉表示。不过Qwen-VL没用完整的Q-Former,而是使用更轻量的单层Cross-Attention。
Position-aware
作者认为,Cross-Attention在压缩过程中可能会丢失空间位置信息,而位置信息对于Grounding、OCR等细粒度视觉任务十分重要。
在Cross-Attention计算过程中,引入二维绝对位置编码(2D Absolute Positional Encoding),加入Query-Key对中,以尽可能保留图片中的空间位置信息,减少压缩过程中位置信息的损失。
模型规模
论文最后给出了整个模型的参数规模:
| 模块 | 参数量 |
|---|---|
| Visual Encoder | 1.9B |
| Vision-Language Adapter | 0.08B |
| Qwen-7B LLM | 7.7B |
| 总参数 | 9.6B |
Adapter本身参数量非常小,仅约8000万参数,大部分参数来自视觉编码器和Qwen-7B语言模型。
本节总结
2.1主要介绍了Qwen-VL的整体网络结构。模型由Qwen-7B、OpenCLIP ViT-bigG和Position-aware Vision-Language Adapter三部分组成。其中,ViT负责提取视觉特征,Adapter利用单层Cross-Attention和一组可学习Query将长视觉Token序列压缩为固定长度256的视觉表示,并通过加入二维绝对位置编码尽可能保留空间位置信息,最后将压缩后的视觉特征输入Qwen-7B进行理解和生成。整个设计兼顾了计算效率和细粒度视觉理解能力。
2.2 Inputs and Outputs
Image Input
图片首先经过Visual Encoder和Vision-Language Adapter,得到长度固定为256的视觉特征序列。
为了让LLM能够区分图片特征 和普通文本 ,在视觉Token前后分别加入两个特殊Token:<img>、``</img>,表示图片内容的开始和结束。
例如,一张图片输入后,LLM实际接收到的形式可以理解为:
<img>
Image Features
</img>
What is in the image?
这样,图片特征和文本就组成了同一个序列,统一送入LLM进行处理。
Bounding Box Input and Output
为了支持细粒度视觉理解 和Visual Grounding ,Qwen-VL不仅训练普通的图文数据,还训练了包含区域描述(Region Description) 、定位(Detection)和Grounding的数据。
这类任务要求模型能理解并生成目标位置,因此需要把Bounding Box表示成LLM能生成的文本。没有为Bounding Box设计新的输出头,而是把坐标直接转换成文本。
对于一个Bounding Box,先将坐标归一化到 [0,1000) 的范围,然后表示成如下格式:
(Xtopleft, Ytopleft), (Xbottomright, Ybottomright)
如:<box>
(125,310),(480,760)
</box>
坐标像普通文本一样进行Tokenizer编码,不需要额外设计位置词表(position vocabulary)。在Qwen-VL中,Bounding Box本质上就是一种特殊格式的文本。
用特殊Token <box>、``</box> 标记Bounding Box字符串的开始和结束。
为什么还需要 <ref>?
模型还需要知道这个框对应的是哪个目标, 因此又设计了<ref> ``</ref> 标记Bounding Box对应的文字描述。如训练样本可以写成:
<ref>
cat
</ref>
<box>
(120,250),(430,700)
</box>
模型学习到的是:"cat"对应这个Bounding Box。 建立目标名称 与空间位置之间的对应关系。
输入输出接口的特点
作者整个输入输出接口的设计都 尽量把所有信息都表示成文本序列。
- 图片用
<img>...</img>标记; - Bounding Box用
<box>...</box>标记; - 被定位的目标用
<ref>...</ref>标记。
图片特征、文本、目标名称以及坐标都能够统一表示为一个序列,由同一个LLM完成理解和生成,不需要为Grounding额外设计检测头或回归分支。
本节总结
主要介绍了Qwen-VL的统一输入输出接口。图片经过视觉编码器和Adapter后,通过<img>和</img>标记融入文本序列;Bounding Box则被归一化后直接转换为文本,并使用<box>和</box>标记其边界,同时利用<ref>和</ref>将坐标与对应的目标描述关联起来。这样,模型可以把图片、文本和空间位置信息统一表示为序列,从而利用LLM完成Caption、VQA、OCR和Visual Grounding等不同任务,而无需针对Grounding设计专门的检测输出结构。
2.3 Training
作者采用了**三阶段训练(Three-stage Training)**策略,使模型逐步获得视觉理解能力,而不是一次性联合训练整个模型。
| 阶段 | ViT | Adapter | LLM |
|---|---|---|---|
| Stage1 | ✓ | ✓ | ✗ |
| Stage2 | ✓ | ✓ | ✓ |
| Stage3 | ✗ | ✓ | ✓ |
第一阶段:Vision-Language Alignment Pretraining
目标:完成视觉与语言空间的对齐(Vision-Language Alignment)。
用大量图文对数据训练,使视觉编码器提取的视觉特征能映射到Qwen语言模型能理解的语义空间。
在这一阶段:
- 使用公开和自建的大规模图文数据;
- 学习图片与文本之间的对应关系;
- 让模型具备基本的图像理解能力。
此时模型学习的主要仍是"图片表达什么内容",属于基础视觉语言对齐。
第二阶段:Full-stage Pretraining
完成视觉语言对齐后,**整个模型全部解冻,**Visual Encoder、Adapter、Qwen-7B全部参与优化。
作者继续进行更大规模的多任务预训练。
继续使用普通图文数据,还加入了更多细粒度视觉任务的数据

通过训练这些任务,模型进一步学习图片中的局部区域、文字以及空间位置等细粒度信息,而不仅仅是整张图片的语义。
这一阶段的数据更加丰富,任务类型也更多,模型的视觉能力得到进一步提升。
第三阶段:Instruction Tuning
最后利用高质量视觉指令数据进行Instruction Tuning,得到能够与用户交互的Qwen-VL-Chat。
训练数据采用"图片 + 指令 + 回答"的形式,例如:
用户:请描述这张图片。 模型:......
或者 用户:图片左上角是什么?模型:......
经过这一阶段后,模型不仅能够理解图片,还能够按照用户的自然语言指令完成多轮视觉对话。
为什么采用三阶段训练?
- 第一阶段:先建立视觉与语言之间的基本对应关系,使模型能够"看懂图片"。
- 第二阶段:利用更丰富的多任务数据联合优化整个模型,进一步增强模型的细粒度视觉理解能力。
- 第三阶段:视觉编码器已经足够稳定,主要提升LLM的指令跟随能力,冻结ViT,通过Instruction Tuning,让模型学会按照用户指令组织回答,最终获得良好的对话能力。
这种训练流程与近年来许多LVLM基本一致,即:
预训练 → 多任务能力增强 → Instruction Tuning
不过,Qwen-VL在第二阶段加入了大量OCR、Grounding和文档理解等数据,因此更加重视细粒度视觉能力的培养。
本节总结
1、Stage 1:冻结LLM,只训练ViT和Adapter。
2、Stage 2:解冻整个模型,并将输入分辨率从224提升到448。 采用7种任务联合训练,其中OCR数据量最大(24.8M),体现了Qwen-VL对细粒度视觉理解的重视。
3、训练过程中始终混入Pure-text数据,避免LLM发生灾难性遗忘。
4、Stage 3再次冻结ViT,仅训练LLM和Adapter进行Instruction Tuning,最终得到Qwen-VL-Chat。
2.4 Training Data
作者认为,高质量、多样化的训练数据是LVLM性能提升的关键。为了使模型既具备整体图像理解能力,又具备OCR、Grounding等细粒度能力,他们构建了覆盖多种任务的大规模训练数据。
整个训练数据可以分为三个阶段对应的数据。
第一阶段:Vision-Language Alignment 数据
第一阶段主要使用大规模图文对(Image-Text Pairs)。
这些数据来自公开数据集和自建数据,首先对约50亿 图文对进行了数据清洗,最终保留约**14亿(1.4B)**高质量图文对用于训练。
数据特点:数量极大、标注相对简单、主要用于学习视觉与语言之间的对应关系。
第二阶段:Multi-task 数据
第二阶段的数据更加丰富。除了普通Caption数据外,还加入了上一节介绍的7类任务,更强调细粒度视觉理解能力。
为什么要加入 Grounding 和 OCR 数据?
正文中特别强调,很多已有LVLM主要依赖Caption和VQA数据,因此能够理解图片的大致内容,但在OCR、Document Understanding、Object Grounding任务上的表现较弱,因此,Qwen-VL专门加入大量OCR、Grounding、Region-level数据;
希望模型不仅知道图片里有什么 ,还能回答图片的哪个位置是什么 ,以及图片中的文字是什么?
为什么要混入纯文本数据?
防止模型在大量多模态训练过程中遗忘原有的语言能力(Catastrophic Forgeting),在第二阶段的多任务训练过程中,除了视觉任务外,还保留了Pure-text Autoregression数据。让模型在学习视觉能力的同时,也持续进行普通语言建模。
第三阶段:Instruction 数据
最后,作者构建了约**35万(350K)**视觉Instruction数据,对模型进行监督微调。
这些数据主要包括:
- 人工标注数据;
- LLM自动生成数据(Self-Instruct);
- Caption改写得到的指令数据;
- 多图理解数据;
- Grounding相关指令数据。
作者指出,仅依赖传统Self-Instruct生成的数据,大多数只能覆盖单张图片理解 和简单问答 ,因此他们额外加入了涉及Grounding 和多图交互的指令数据,以提升模型在这些场景下的能力。
本节总结
2.4主要介绍了Qwen-VL各阶段使用的训练数据。第一阶段利用清洗后的14亿图文对完成视觉语言对齐;第二阶段加入Caption、VQA、OCR、Grounding等七类多任务数据,重点提升细粒度视觉理解能力;第三阶段使用约35万视觉Instruction数据进行监督微调,使模型具备多轮视觉对话能力。此外,作者在多任务训练过程中持续混入纯文本语言建模数据,以保持LLM原有的语言能力,避免灾难性遗忘。
4 Evaluation
4.1 Image Caption and General Visual Question Answering
主要验证Qwen-VL在传统视觉语言任务上的整体能力。
覆盖Image Caption和General VQA两大经典任务,结果表明Qwen-VL在Flickr30K Caption上取得当时Generalist Model中最好的成绩,并在VQAv2、OKVQA、GQA等多个VQA Benchmark上明显优于多数已有开源LVLM。
同时,模型在ScienceQA和VizWiz等数据集上也表现出较强的Zero-shot泛化能力,说明其大规模多任务预训练不仅提升了视觉理解能力,也增强了模型的跨任务泛化能力。
4.2 Text-oriented Visual Question Answering
主要验证Qwen-VL在OCR和文档理解方面的能力。
覆盖TextVQA、DocVQA、ChartQA、OCR-VQA、AI2D等多个OCR相关Benchmark。结果表明,Qwen-VL在绝大多数数据集上均优于同时期主流开源LVLM,并在多个Benchmark上达到当时开源模型的最佳性能,说明大规模OCR数据、多任务联合训练以及高分辨率输入有效提升了模型的文字识别、文档理解和图表理解能力。
4.3 Grounding
主要验证Qwen-VL的**目标定位(Visual Grounding)**能力。
覆盖RefCOCO、RefCOCO+、RefCOCOg等主流Grounding数据集。结果表明,Qwen-VL在多个Benchmark上取得了当时开源LVLM中领先的性能,整体表现优于LLaVA、Kosmos-2等模型,并接近部分专门设计的Grounding模型,说明论文提出的位置感知Adapter以及Grounding相关多任务训练有效增强了模型对细粒度空间位置信息的理解与定位能力。
4.4 Agent
主要验证Qwen-VL作为视觉Agent完成GUI操作的能力。
采用ScreenSpot Benchmark,对模型在移动端、桌面端及Web界面上的元素定位能力进行了评测。结果表明,Qwen-VL在多个平台上的表现均优于同时期主流开源LVLM,并取得了较高的点击定位准确率,说明模型不仅能够理解图像内容,还能准确识别界面元素的位置,具备较强的GUI感知与交互能力。
4.5 Multi-image Conversation
验证Qwen-VL的多图片理解与多轮对话能力。
通过多个多图理解案例展示了模型能够同时处理多张图片,并结合图片之间的关系完成比较、推理和连续对话。实验结果表明,Qwen-VL能够较好地保持多图片上下文信息,在多图交互场景下具有较强的视觉理解和指令跟随能力,体现了其在复杂多模态交互任务中的应用潜力。
消融实验(Appendix E)
(1)Vision-Language Adapter的Query数量
分析Vision-Language Adapter中Learnable Queries数量( 64、144、256和400**)**对模型训练的影响
- Query数量过少,会导致视觉特征压缩过度,丢失较多图像信息;
- Query数量过多,则会增加模型训练难度,收敛速度变慢。
综合训练稳定性和信息保留能力,选择256个Query作为Adapter的固定输出长度。尤其是在第二阶段用448×448输入时,ViT输出的视觉Token数量增加到1024个,256个Query能够在信息保留和计算效率之间取得较好的平衡。
(2)Window Attention与Global Attention
高分辨率输入会显著增加ViT的计算量,比较了Window Attention 和Global Attention(Vanilla Attention)两种方案。
- Window Attention在部分设置下训练速度略快,但模型收敛效果明显不如Global Attention;
- 特别是在448×448输入下,两者训练速度差异很小,而Global Attention训练损失更低。
Qwen-VL最终仍然采用Global Attention作为视觉编码器的注意力机制。
(3)预训练收敛分析
第一阶段预训练的收敛曲线可以看出,随着训练图文对数量不断增加:
- 预训练损失持续下降;
- Flickr30K上的Caption性能不断提升;
- 即使第一阶段没有加入任何VQA数据,模型在Zero-shot VQA上的性能也逐渐提高。
这说明,仅依靠大规模图文对进行视觉语言对齐,就能够提升模型的通用视觉理解能力,并具有较好的跨任务泛化能力。
(4)纯文本能力分析
由于第二、三阶段加入了大量多模态训练,作者进一步验证了模型是否会出现灾难性遗忘。
实验结果表明,由于训练过程中持续混入了Pure-text Autoregression数据,Qwen-VL在MMLU、CMMLU、C-Eval等纯文本Benchmark上的性能没有明显下降,甚至相比初始化的Qwen-7B中间版本还有一定提升。说明混合训练策略有效保持了模型原有的语言理解能力。