Qwen-VL论文解读

Qwen-VL:用于理解、定位、文本阅读等的通用视觉-语言模型

摘要

在本文中,我们介绍了Qwen-VL系列,这是一组大规模的视觉-语言模型(LVLMs),旨在感知和理解文本和图像。从Qwen-LM开始,我们通过精心设计的(i)视觉受体,(ii)输入-输出接口,(iii)3阶段训练管道,以及(iv)多语言多模态清洗语料库,赋予其视觉能力。除了传统的图像描述和问答,我们还通过图像-标题-框元组的对齐实现了Qwen-VLs的定位和文本阅读能力。所生成的模型,包括Qwen-VL和Qwen-VL-Chat,在广泛的视觉中心基准测试上(例如图像描述、问答、视觉定位)以及在不同的设置(例如零样本、少样本)下,与类似规模的通用模型相比,取得了新的记录。此外,在现实世界的对话基准测试上,我们的指令微调Qwen-VL-Chat也展示了相对于现有视觉-语言聊天机器人的优越性。所有模型都是公开的,以促进未来的研究。

1 引言

最近,大型语言模型(LLMs)(Brown等人,2020;OpenAI,2023;Anil等人,2023;Gao等人,2023;Qwen,2023)因其强大的文本生成和理解能力而受到广泛关注。这些模型可以通过微调指令进一步与用户意图对齐,展示出强大的交互能力和作为智能助手提高生产力的潜力。然而,原生大型语言模型仅存在于纯文本世界中,缺乏处理其他常见模态(如图像、语音和视频)的能力,从而限制了它们的应用范围。受此启发,一组大型视觉-语言模型(LVLMs)(Alayrac等人,2022;Chen等人,2022;Li等人,2023c;Dai等人,2023;Huang等人,2023;Peng等人,2023;Zhu等人,2023;Liu等人,2023;Ye等人,2023b,a;Chen等人,2023a;Li等人,2023a;Zhang等人,2023;Sun等人,2023;OpenAI,2023)被开发出来,以增强大型语言模型的视觉信号感知和理解能力。这些大规模的视觉-语言模型在解决现实世界的视觉中心问题上显示出巨大的潜力。

尽管如此,尽管已经进行了大量工作来探索LVLMs的限制和潜力,当前的开放源代码LVLMs总是由于训练和优化不足而落后于专有模型(Chen等人,2022,2023b;OpenAI,2023),这阻碍了LVLMs在开源社区中的进一步探索和应用。更重要的是,由于现实世界的视觉场景相当复杂,精细的视觉理解对于LVLMs有效和精确地辅助人们至关重要。但只有少数尝试朝着这个方向进行(Peng等人,2023;Chen等人,2023a),大多数开放源代码的LVLMs仍然以粗糙的方式感知图像,并且缺乏执行精细感知(如对象定位或文本阅读)的能力。

在本文中,我们探索了一种出路,并介绍了开源Qwen家族的最新成员:Qwen-VL系列。Qwen-VLs是基于Qwen-7B(Qwen,2023)语言模型的一系列高性能和多功能的视觉-语言基础模型。我们通过引入一个新的视觉受体,包括一个语言对齐的视觉编码器和一个位置感知适配器,为LLM基础赋予视觉能力。整体模型架构以及输入-输出接口都非常简洁,我们详细设计了一个3阶段训练管道,以优化整个模型在一个庞大的图像-文本语料库上。

我们的预训练检查点,称为Qwen-VL,能够感知和理解视觉输入,根据给定的提示生成所需的响应,并完成各种视觉-语言任务,如图像描述、问答、面向文本的问答和视觉定位。Qwen-VL-Chat是基于Qwen-VL的指令微调视觉-语言聊天机器人。如图2所示,Qwen-VL-Chat能够与用户互动并感知用户的输入图像。

具体来说,Qwen-VL系列模型的特点包括:

  • 领先的性能:Qwen-VLs在广泛的视觉中心理解基准测试上与同类模型相比取得了顶级的准确率。此外,Qwen-VL的惊人表现不仅涵盖了传统的基准测试(例如,描述、问答、定位),还包括一些最近引入的对话基准测试。

  • 多语言:与Qwen-LM类似,Qwen-VLs是在多语言图像-文本数据上训练的,其中相当一部分语料库是英语和中文。通过这种方式,Qwen-VLs自然支持英语、中文和多语言指令。

  • 多图像:在训练阶段,我们允许任意交错图像-文本数据作为Qwen-VL的输入。这一功能允许我们的Qwen-Chat-VL在多个图像给出时比较、理解和分析上下文。

  • 精细的视觉理解:由于我们在训练中使用了更高分辨率的输入尺寸和精细的语料库,Qwen-VLs表现出高度竞争性的精细视觉理解能力。与现有的视觉-语言通用模型相比,我们的Qwen-VLs在定位、文本阅读、面向文本的问答和精细对话方面拥有更好的表现。

2 方法论

2.1 模型架构

Qwen-VL的整体网络架构由三个组件组成,模型参数的细节在表1中显示:

  • 大型语言模型:Qwen-VL采用大型语言模型作为其基础组件。该模型使用Qwen-7B(Qwen,2023)的预训练权重进行初始化。

  • 视觉编码器:Qwen-VL的视觉编码器使用Vision Transformer(ViT)(Dosovitskiy等人,2021)架构,使用Openclip的ViT-bigG(Ilharco等人,2021)的预训练权重进行初始化。在训练和推理期间,输入图像被调整到特定分辨率。视觉编码器通过将图像分割成步长为14的补丁来处理图像,生成一组图像特征。

  • 位置感知的视觉-语言适配器:为了缓解由于长图像特征序列引起的效率问题,Qwen-VL引入了一个视觉-语言适配器来压缩图像特征。这个适配器包括一个单层交叉注意力模块,随机初始化。该模块使用一组可训练向量(Embeddings)作为查询向量,视觉编码器的图像特征作为键进行交叉注意力操作。这种机制将视觉特征序列压缩到固定长度256。关于查询数量的消融实验在附录E.2中显示。此外,考虑到位置信息对于精细图像理解的重要性,交叉注意力机制的查询-键对中加入了2D绝对位置编码,以减轻在压缩过程中可能丢失的位置细节。长度为256的压缩图像特征序列随后被输入到大型语言模型。

表1:Qwen-VL模型参数的细节。

视觉编码器 VL适配器 LLM 总计
1.9B 0.08B 7.7B 9.6B

2.2 输入和输出

  • 图像输入:图像通过视觉编码器和适配器进行处理,产生固定长度的图像特征序列。为了区分图像特征输入和文本特征输入,两个特殊标记(和)分别添加到图像特征序列的开头和结尾,表示图像内容的开始和结束。

  • 边界框输入和输出:为了增强模型在精细视觉理解和定位方面的能力,Qwen-VL的训练涉及区域描述、问题和检测的数据形式。与传统任务涉及的图像-文本描述或问题不同,这项任务需要模型准确地理解和生成指定格式的区域描述。对于任何给定的边界框,应用归一化过程(在[0, 1000)范围内)并将其转换为指定的字符串格式:“(X_{左上角},Y_{左上角}),(X_{右下角},Y_{右下角})”。该字符串被标记化为文本,不需要额外的位置词汇。为了区分检测字符串和常规文本字符串,两个特殊标记(和)添加到边界框字符串的开头和结尾。此外,为了适当地关联边界框与其对应的描述词或句子,另一组特殊标记(和)被引入,标记边界框所指的内容。

3 训练

如图3所示,Qwen-VL模型的训练过程分为三个阶段:两个阶段的预训练和一个阶段的指令微调训练。

3.1 预训练

在第一阶段的预训练中,我们主要利用大规模、弱标签的、网络爬取的图像-文本对集。我们的预训练数据集由几个公开可用的来源和一些内部数据组成。我们努力清理数据集中的某些模式。如表2总结,原始数据集包含总共50亿图像-文本对,清理后剩下14亿数据,其中77.3%是英语(文本)数据,22.7%是中文(文本)数据。

表2:Qwen-VL预训练数据的细节。LAION-en和LAION-zh是LAION-5B(Schuhmann等人,2022a)的英语和中文语言子集。LAION-COCO(Schuhmann等人,2022b)是从LAION-en生成的合成数据集。DataComp(Gadre等人,2023)和Coyo(Byeon等人,2022)是图像-文本对的集合。CC12M(Changpinyo等人,2021)、CC3M(Sharma等人,2018)、SBU(Ordonez等人,2011)和COCO Caption(Chen等人,2015)是学术描述数据集。

语言 数据集 原始 清理 剩余%
LAION-en 2B 280M 14%
LAION-COCO 600M 300M 50%
DataComp 1.4B 300M 21%
英语 Coyo 700M 200M 28%
CC12M 12M 8M 66%
CC3M 3M 3M 100%
SBU 1M 0.8M 80%
COCO Caption 0.6M 0.6M 100%
中文 LAION-zh 108M 105M 97%
内部数据 220M 220M 100%
总计 5B 1.4B 28%

我们冻结大型语言模型,只优化视觉编码器和VL适配器。输入图像被调整为224 x 224。训练目标是使文本标记的交叉熵最小化。最大学习率为2e-4,训练过程使用30720的批量大小进行图像-文本对,第一阶段的预训练持续50,000步,消耗大约15亿图像-文本样本。更多超参数在附录C中详细说明,该阶段的收敛曲线在图6中显示。

3.2 多任务预训练

在第二阶段的多任务预训练中,我们引入高质量和精细的VL注释数据,具有更大的输入分辨率和交错的图像-文本数据。如表3总结,我们在7个任务上同时训练Qwen-VL。对于文本生成,我们使用内部收集的语料库来保持LLM的能力。描述数据与表2相同,除了更少的样本和排除LAION-COCO。我们使用公开可用数据的混合体进行VQA任务,包括GQA(Hudson和Manning,2019)、VGQA(Krishna等人,2017)、VQAv2(Goyal等人,2017)、DVQA(Kafle等人,2018)、OCR-VQA(Mishra等人,2019)和DocVQA(Mathew等人,2021)。我们遵循Kosmos-2使用GRIT(Peng等人,2023)数据集进行定位任务,进行了一些修改。对于参考定位和基于定位的描述双重任务,我们从GRIT(Peng等人,2023)、Visual Genome(Krishna等人,2017)、RefCOCO(Kazemzadeh等人,2014)、RefCOCO+和RefCOCOg(Mao等人,2016)构建训练样本。为了改进面向文本的任务,我们从Common Crawl收集pdf和HTML格式的数据,并遵循(Kim等人,2022)生成英语和中文语言的自然风景背景下的合成OCR数据。最后,我们简单地通过将同一任务的数据打包成长度为2048的序列来构建交错的图像-文本数据。

表3:Qwen-VL多任务预训练数据的细节。

任务 # 样本 数据集
描述 19.7M LAION-en & zh, DataComp, Coyo, CC12M & 3M, SBU, COCO, 内部数据
VQA 3.6M GQA, VGQA, VQAv2, DVQA, OCR-VQA, DocVQA, TextVQA, ChartQA, AI2D
定位 3.5M GRIT
参考定位 8.7M GRIT, Visual Genome, RefCOCO, RefCOCO+, RefCOCOg
基于定位的描述 8.7M GRIT, Visual Genome, RefCOCO, RefCOCO+, RefCOCOg
OCR 24.8M SynthDoG-en & zh, Common Crawl pdf & HTML
纯文本自回归 7.8M 内部数据

我们将视觉编码器的输入分辨率从224 x 224增加到448 x 448,减少图像下采样造成的信息损失。此外,我们在附录E.3中消融窗口注意力和全局注意力,以适应更高分辨率的视觉Transformer。我们解锁大型语言模型并训练整个模型。训练目标与第一阶段预训练相同。

3.3 监督微调

在这一阶段,我们通过指令微调来微调Qwen-VL预训练模型,以增强其指令跟随和对话能力,从而得到交互式Qwen-VL-Chat模型。多模态指令微调数据主要来自通过LLM自我指令生成的描述数据或对话数据,通常只解决单图像对话和推理,并且仅限于图像内容理解。我们通过手动注释、模型生成和策略连接构建额外的对话数据集,以将定位和多图像理解能力纳入Qwen-VL模型。我们确认模型有效地将这些能力转移到更广泛的语言和问题类型。此外,我们在训练期间混合多模态和纯文本对话数据,以确保模型在对话能力上的普遍性。指令微调数据量为350k。在这一阶段,我们冻结视觉编码器并优化语言模型和适配器模块。我们在附录B.2中展示了这一阶段的数据格式。

4 评估

在这一节中,我们对各种多模态任务进行全面评估,以综合评估我们模型的视觉理解能力。以下,Qwen-VL表示多任务训练后的模型,Qwen-VL-Chat表示监督微调(SFT)阶段后的模型。

表9提供了使用的评估基准和相应指标的详细摘要。

4.1 图像描述和一般视觉问答

图像描述和一般视觉问答(VQA)是视觉-语言模型的两个传统任务。具体来说,图像描述要求模型为给定图像生成描述,而一般VQA要求模型为给定图像-问题对生成答案。

表4:图像描述和一般VQA的结果。

模型类型 模型 图像描述 图像描述 一般VQA 一般VQA 一般VQA 一般VQA
模型类型 模型 Nocaps (0-shot) Flickr30K (0-shot) VQAv2 OKVQA GQA SciQA-Img (0-shot) VizWiz (0-shot)
通用模型 Flamingo-9B 61.5 51.8 44.7 28.8
通用模型 Flamingo-80B 100.0 67.2 56.3 50.6 - - 31.6
通用模型 Unified-IO-XL 77.9 54.0
通用模型 Kosmos-1 51.0 - - - 29.2
通用模型 Kosmos-2 80.5 51.1
通用模型 BLIP-2(Vicuna-13B) 103.9 71.6 65.0 45.9 32.3 61.0 19.6
通用模型 InstructBLIP(Vicuna-13B) 121.9 82.8 49.5 63.1 33.4
通用模型 Shikra(Vicuna-13B) 73.9 77.36 47.16
通用模型 Qwen-VL(Qwen-7B) 121.4 85.8 79.5 58.6

你可能感兴趣的:(人工智能)