摘要:Qwen-VL 将视觉编码器、位置感知适配器与语言模型连接起来,使模型能够完成图像描述、视觉问答、文字识别、文档理解和目标定位。本文围绕初代 Qwen-VL 论文,介绍其模型结构、图文输入方式、三阶段训练流程和主要实验结果,帮助读者理解视觉语言大模型的基本设计。

版本说明:本文依据 arXiv:2308.12966v1,提交日期为 2023 年 8 月 24 日。文中的模型配置和实验成绩均对应该版本,不应直接套用于后续 Qwen-VL 系列模型,也不代表当前排行榜结果。

一、论文研究了什么问题?

先考虑几个常见需求:

  • 给模型一张照片,让它描述正在发生的事情。
  • 给模型一张书籍封面,让它回答书名。
  • 给模型一页文档,让它找到问题对应的信息。
  • 输入“左侧穿红衣服的人”,让模型指出这个人在图片中的位置。
  • 同时提供两张图片,让模型比较它们的内容。

这些任务既需要理解语言,也需要从图像中提取信息。只处理文字的语言模型,无法直接获得图片里的对象、文字和空间关系。

Qwen-VL 的目标,就是在语言模型的基础上加入视觉理解能力,并将多种视觉任务纳入同一套生成框架。

项目论文信息
标题Qwen-VL: A Frontier Large Vision-Language Model with Versatile Abilities
作者Jinze Bai、Shuai Bai、Shusheng Yang 等
团队Alibaba Group
论文版本arXiv:2308.12966v1
模型系列Qwen-VL、Qwen-VL-Chat
语言模型基础Qwen-7B
主要任务图像描述、视觉问答、文字相关问答、指代表达定位、多图对话

理解这篇论文,可以先抓住三个问题:图像如何进入语言模型,空间位置如何被表达,多种能力如何通过训练形成。

二、Qwen-VL 和 Qwen-VL-Chat 有什么区别?

论文介绍了两个相关模型。

模型形成方式与定位主要关注点
Qwen-VL经过图文预训练和多任务预训练的视觉语言模型建立图像理解、文字识别与定位等基础能力
Qwen-VL-Chat在 Qwen-VL 基础上进行监督指令微调更自然地遵循指令,支持多轮和多图交互

例如,图像描述任务要求模型根据图片生成说明;对话任务则可能要求模型先描述图片,再根据用户追问解释某个局部,或者比较两张图片。

这些交互需要模型处理历史上下文、问题意图和回答格式,因此还需要专门的指令微调。

但 Chat 版本不意味着所有基准分数都会更高。论文中的部分成绩在指令微调后下降,另一些则提高。对话体验与特定测试集上的得分,需要分别考察。

三、整体架构:视觉编码器、适配器和语言模型

在这里插入图片描述

Qwen-VL 的结构可以概括为三部分:

输入图像

视觉编码器 ViT-bigG

带空间信息的图像特征序列

位置感知视觉语言适配器

固定长度的 256 个视觉特征

用户问题与文本上下文

图文序列组织

基于 Qwen-7B 的语言模型

生成描述、答案或坐标文本

上图根据论文第 2 节整理,用于说明主要数据流。

3.1 视觉编码器:从图片中提取特征

模型采用 Vision Transformer,也就是 ViT,作为视觉编码器,并使用 OpenCLIP 的 ViT-bigG 预训练权重初始化。

它会将图片划分成小块,再把这些小块转换为特征序列。论文中的图像切分步长为 14。

当输入分辨率为 448 × 448 时,对应的网格为:

448 14 × 448 14 = 32 × 32 = 1024. \frac{448}{14}\times\frac{448}{14}=32\times32=1024. 14448​×14448​=32×32=1024.

因此,视觉编码器输出的图像特征序列长度为 1024。论文附录表 10 也给出了这一配置。

可以把这些特征理解为图片经过编码后的表示。它们保留了模型后续理解对象、文字和位置所需的信息,但并不是已经识别出来的一串自然语言句子。

3.2 位置感知适配器:控制序列长度,并保留空间线索

如果直接把较长的图像特征序列送入语言模型,会增加后续处理负担。为此,Qwen-VL 引入了视觉语言适配器。

它由一个单层交叉注意力模块构成,并使用 256 个可训练查询向量,将图像特征转换为固定长度的 256 个视觉特征。

直观地说,这些查询向量通过注意力机制,从图像特征中聚合信息;它们不是预先指定的 256 个对象类别。

在 448 × 448 分辨率下,这一步把视觉序列从 1024 个特征压缩到 256 个特征。这里的“四分之一”指序列长度比例,不能直接解释为端到端推理加速四倍。

论文还在交叉注意力的 query-key 对中加入 二维绝对位置编码,以缓解压缩过程中的位置信息损失。

为什么位置很重要?因为下面两个问题需要的信息不同:

  • “图片中有没有人?”主要关注对象是否出现。
  • “左侧穿红色衣服的人在哪里?”还需要区分对象及其空间位置。

文字识别、文档理解和目标定位,都需要这种更细致的视觉信息。

3.3 语言模型:结合图像特征与问题生成回答

Qwen-VL 的语言模型由 Qwen-7B 权重初始化。适配器输出的视觉特征与文本一起构成模型的输入,语言模型据此生成描述、答案或坐标字符串。

论文表 1 报告的参数规模如下,均为近似值:

模块参数规模
视觉编码器1.9B
视觉语言适配器0.08B
语言模型7.7B
总体约 9.6B

其中 B 表示十亿。因此,名称中的“7B”主要对应语言模型系列,不能直接当作整个视觉语言模型的总参数量。

四、模型如何表示图片和目标位置?

4.1 图片使用专门的边界标记

论文使用 <img> 和 </img> 标记图像特征序列的开始与结束。

概念上,可以把输入理解为:

<img>视觉特征序列</img>
问题:图片中的标志是什么意思?

这里的“视觉特征序列”是示意说明。模型实际需要先读取图片,再经过视觉编码器和适配器处理;仅把一个图片路径写进普通文本,并不会自动获得视觉理解能力。

4.2 目标框也可以表示为文本

对于定位任务,模型需要输出边界框,即 Bounding Box。

Qwen-VL 将坐标归一化到论文规定的 [0, 1000) 范围,并以左上角和右下角坐标的形式组织为字符串:

(x_left, y_top), (x_right, y_bottom)

同时,它使用两组特殊标记:

标记作用
<ref>...</ref>指明坐标对应的对象描述或指代表达
<box>...</box>标记边界框坐标字符串

下面是本文构造的格式示例,不是论文中的实验输出:

<ref>红色汽车</ref><box>(100,200),(600,800)</box>

若原图宽 1000 像素、高 500 像素,按比例近似映射,该框的左上角为 (100,100),右下角为 (600,400)。实际程序还需要按照实现约定处理取整和边界。

这种设计将“对象是什么”和“对象在哪里”关联起来。坐标字符串会作为文本进行分词,不需要另外建立一整套位置词表。

它支持的是边界框层面的空间表达,不能因此认为模型已经具备像素级分割能力。

五、三阶段训练:从图文关联到多模态对话

Qwen-VL 的训练包括两个预训练阶段和一个监督微调阶段。

阶段主要目的图像分辨率冻结模块更新模块
第一阶段:图文预训练建立视觉特征与文本之间的关联224 × 224语言模型视觉编码器、适配器
第二阶段:多任务预训练学习问答、文字识别、定位等能力448 × 448无全部模块
第三阶段:监督微调增强指令遵循和对话能力448 × 448视觉编码器适配器、语言模型

5.1 第一阶段:利用大规模图文对学习基础关联

第一阶段使用网络图文对,数据来源包括 LAION、DataComp、Coyo、学术图像描述数据集和内部收集的数据。

论文报告:

  • 原始数据约 50 亿个图文对。
  • 清洗后保留约 14 亿个图文对。
  • 文本语言约 77.3% 为英文、22.7% 为中文。
  • 训练 50,000 步,累计使用约 15 亿个图文样本。

这里,清洗后数据集大小与训练累计采样量是两个不同概念。

训练时冻结语言模型,更新视觉编码器和适配器,并以文本 token 的交叉熵作为目标。模型由此学习根据视觉输入预测相应文本。

从设计上看,这一步先让视觉模块适应已有语言模型,为后续更复杂的多任务学习打基础。

5.2 第二阶段:提高分辨率,引入细粒度任务

第二阶段将图像分辨率提高到 448 × 448,并解冻语言模型,进行全模型训练。

分辨率提升的直接意义是减少下采样带来的信息损失。例如,图片中的小字如果在缩放过程中已经变得难以辨认,后续语言推理很难恢复准确内容。

论文同时训练七类任务。下面结合表 3 和附录 B 解释它们的作用:

任务让模型学习什么
Captioning根据图片生成描述
VQA根据图片回答问题
Grounding在图像描述中关联名词、短语与目标框
Referring Grounding根据给定描述找到目标区域
Grounded Captioning根据给定区域生成描述
OCR识别图像中的文字,部分样本还提供位置信息
Text Generation保持纯文本生成能力

其中,Referring Grounding 和 Grounded Captioning 可以看作两个方向相反的任务:

描述 → 区域:找到“左边戴帽子的人”。
区域 → 描述:说明给定框内的对象是什么。

OCR 数据除了合成的中英文文本图像,还包括由 PDF 和 HTML 页面构造的数据。这有助于模型接触自然图片之外的文字和版面信息。

论文还通过将同类任务样本打包进长度为 2048 的序列,构造交错图文数据。第二阶段共训练 19,000 步。

5.3 第三阶段:把基础能力转化为对话能力

第三阶段使用约 35 万条指令微调数据,得到 Qwen-VL-Chat。

数据包含多模态对话与纯文本对话,并补充定位和多图理解相关样本。论文通过人工标注、模型生成和策略拼接等方式构造数据。

为了在多图对话中区分图片,输入会在不同图片前添加类似 Picture 1:、Picture 2: 的编号。

训练采用 ChatML 对话格式,并只对回答及相应特殊标记进行监督,不对角色名称和用户问题提示计算同样的训练目标。

这一阶段冻结视觉编码器,更新适配器和语言模型。需要注意,论文描述的是监督指令微调,不能把它直接写成进行了 RLHF 或其他未报告的对齐训练。

六、它具备哪些能力?如何理解这些能力?

论文将多种任务放进了统一的视觉语言模型中,但不同任务考察的内容并不相同。

能力示例问题主要考察内容
图像描述“请描述这张照片。”对场景和对象的整体理解
通用视觉问答“桌子上有几个杯子?”对象识别及相关推理
文字相关问答“封面上的书名是什么?”读取文字并回答问题
文档问答“这页文档中给出的日期是什么?”文字、版面与问题之间的关联
图表问答“哪一组的数值最高?”图表元素识别与信息比较
指代表达定位“请框出右侧穿蓝衣服的人。”根据描述区分对象并定位
多图对话“这两张图片有哪些不同?”跨图片理解及上下文处理

表中的问题为便于理解而构造,不是本文运行模型获得的测试记录。

例如,OCR 更关注“读出了哪些字”;文档问答还需要判断“哪些字与用户的问题有关”。把文字识别结果正确转化为答案,还需要语言理解和上下文处理。

多图输入也不等于视频理解。初代论文将语音、视频等更多模态列为未来方向,并未在本版本中建立相应的视频或语音能力评测。

七、实验结果:优势在哪里,边界又在哪里?

论文从图像描述、通用视觉问答、文字相关问答、目标定位和开放式指令遵循等方面进行评估。

下面摘录原文数据。不同数据集使用的指标不同,只能在同一指标、同一测试设置下进行比较。

7.1 图像描述与通用视觉问答

以下数据来自论文表 5:

测试集指标Qwen-VLQwen-VL-Chat
Flickr30KCIDEr,零样本图像描述85.881.0
VQAv2VQA Score79.578.2
OKVQAVQA Score58.656.6
GQAEM,精确匹配59.357.5
ScienceQA-ImageAccuracy,零样本67.168.2
VizWizVQA Score,零样本35.238.9

以 Flickr30K 为例,表中 Flamingo-80B 的 CIDEr 为 67.2,Qwen-VL 为 85.8。这说明在该项设置下,Qwen-VL 取得了较高的图像描述得分。

但 CIDEr 衡量的是生成描述与参考描述之间的一致性,85.8 不是“85.8% 的图片理解准确率”。也不能根据这一项成绩推断模型在所有任务中都优于更大模型。

还应注意:表中只对部分任务标明了零样本设置,不能把所有问答结果一概称为零样本成绩。

7.2 文字、文档与图表问答

以下数据来自论文表 6,均为原表报告值,数值越高越好:

模型TextVQA:VQA ScoreDocVQA:ANLSChartQA:Relaxed EM
mPLUG-DocOwl52.662.257.4
Pic2Struct-Large—76.658.6
Qwen-VL63.865.165.7
Qwen-VL-Chat61.562.666.3

其中,ANLS 是基于归一化编辑距离的答案相似性指标;Relaxed EM 使用带一定容差的匹配规则。它们不能与其他列直接混合计算成“平均准确率”。

这组结果展示了 Qwen-VL 在文字相关任务上的竞争力,也呈现了明确边界:DocVQA 中,Qwen-VL 的 65.1 低于 Pic2Struct-Large 的 76.6。

因此,更准确的介绍是:Qwen-VL 在多项任务上优于论文列出的若干通用模型,同时仍存在更强的单项结果。

7.3 根据文字定位目标

论文表 7 中,RefCOCO 的定位准确率如下:

模型valtest-Atest-B
Shikra-13B87.8391.1181.81
Qwen-VL89.3692.2685.34
Qwen-VL-Chat88.5592.2784.51

这表明 Qwen-VL 能较好地将文字描述与图像区域关联起来。

不过,同一张表中还有表现更高的专用模型,例如 UNINEXT-H 的 test-A 得分为 94.33。论文体现的是较强的通用视觉语言与定位能力,不能据此认定它已经全面替代专用检测或定位模型。

7.4 中英文开放式对话

论文使用 TouchStone 评估开放式视觉语言指令遵循能力,由 GPT-4 评分。

评测设置模型论文报告的评分
英文LLaVA602.7
英文mPLUG-Owl605.4
英文Qwen-VL-Chat645.2
中文VisualGLM247.1
中文Qwen-VL-Chat401.2

Qwen-VL-Chat 在论文列出的英文和中文对照中均取得最高分。

这里的评分不是百分制准确率。中文与英文是两套评测设置,也不宜直接比较两个分数来判断模型哪一种语言能力更强。模型裁判的评分方式,还可能影响开放式评测结果的解释。

八、这篇论文值得关注的设计思路

8.1 视觉细节与语言推理需要共同考虑

语言模型能否正确回答问题,首先取决于视觉端是否保留了相关信息。

Qwen-VL 将分辨率从 224 × 224 提高到 448 × 448,并加入 OCR、文档和定位任务。这些设计共同指向一个目标:让模型获得更细粒度的视觉信息。

因此,在设计类似系统时,应同时检查图像预处理、特征提取和语言推理,不能把所有错误都归因于提示词。

8.2 连接模块需要兼顾效率与空间信息

适配器不仅承担视觉特征向语言模型传递的作用,还控制进入语言模型的视觉序列长度。

压缩序列有助于控制后续计算,但空间信息对定位和文档理解又很重要。位置感知适配器体现了这两种需求之间的设计考虑。

不过,v1 论文没有提供足以分别量化各项设计贡献的系统消融结果。因此,不能仅凭总体成绩断言“所有提升都来自位置编码”或“分辨率提升带来了某个确定百分比的收益”。

8.3 训练任务决定模型学会怎样使用信息

只有图像描述数据时,模型主要学习根据图片生成描述。要完成“根据描述找区域”“读取文字回答问题”“比较多张图片”,还需要相应的训练任务和样本组织方式。

Qwen-VL 将多任务预训练与对话微调结合起来,展示了从基础图文能力到交互能力的训练路径。

九、阅读与应用时需要注意什么?

理解初代 Qwen-VL 时,有几项边界尤其容易混淆。

容易产生的误解更准确的理解
“Qwen-VL 总共只有 7B 参数”论文表 1 报告的全模型规模约为 9.6B
“Chat 版本所有指标都更高”不同基准有升有降,应结合任务选择
“输出坐标就等于能做图像分割”边界框定位与像素级分割是不同任务
“多图输入就能直接处理视频”本版本的多图交互与完整视频理解不能画等号
“448 × 448 能保证读清所有文档”固定分辨率仍可能损失密集小字和局部细节
“论文中的领先就是当前最强”这些结论受 2023 年的模型、数据和评测设置限定

如果将类似模型用于实际系统,还需要在目标数据上验证问答正确性、定位表现、运行开销和失败情况。论文中的学术基准成绩不能直接替代具体业务场景的测试。

对于想继续阅读原文的读者,可以按下面的顺序查阅:

  1. 第 2 节:理解三部分模型结构和输入输出格式。
  2. 图 3 与第 3 节:理解训练阶段以及各模块何时冻结。
  3. 表 5—9:核对具体任务成绩与比较对象。
  4. 附录 B:查看不同训练任务如何组织为图文序列。
  5. 附录 C、表 10:查阅分辨率、序列长度和训练超参数。

参考资料

[1] Bai, J., Bai, S., Yang, S., et al. Qwen-VL: A Frontier Large Vision-Language Model with Versatile Abilities. arXiv:2308.12966v1, 2023.

本文为论文介绍与技术解读。架构示意图、应用提问和坐标示例用于辅助理解;实验数值摘自上述 v1 论文,并非本文自行复现。项目仓库可能持续更新,实际使用时需核对所选模型版本及对应文档。

Logo

更多推荐