本文设计了一个大规模的视觉-语言基础模型(InternVL),将视觉基础模型的参数扩展到60亿,并逐步与LLM对齐,利用来自不同来源的网络规模的图像-文本数据。该模型可广泛应用于32个通用视觉-语言基准,包括图像级别或像素级别的识别等视觉感知任务,以及零样本图像/视频分类等视觉-语言任务,并与LLM相结合以创建多模式对话系统。ViT-22B被取代了?上海AI Lab等提出InternVL:60亿视觉参数刷爆多模态榜单

论文链接:https://arxiv.org/abs/2312.14238

开源代码:https://github.com/OpenGVLab/InternVL

大型语言模型(LLMs)在开放世界语言任务中展现出令人印象深刻的能力,极大地推动了人工通用智能(AGI)系统的发展。它们的模型规模和性能仍在快速增长。利用LLMs的视觉大型语言模型(VLLMs)也取得了重大突破,实现了复杂的视觉-语言对话和互动。然而,与LLMs的快速增长相比,视觉和视觉-语言基础模型的进展滞后。

为了将视觉模型与语言模型(LLMs)进行联系,现有的视觉语言联合模型(VLLMs)常常采用轻量级的“粘合”层,例如QFormer或线性投影,来对齐视觉和语言模型的特征。然而,这种对齐存在以下几个局限性:(1)参数规模的不一致。LLMs的参数规模已经达到1000亿,而广泛使用的VLLMs的视觉编码器仍在10亿左右。这种差距可能导致LLMs的能力被低估。(2)表示的不一致。在纯视觉数据上训练的视觉模型或与BERT系列对齐的模型往往与LLMs存在表示上的不一致。(3)连接效率低下。粘合层通常是轻量级的和随机初始化的,可能无法捕捉到多模态理解和生成所需的丰富的跨模态交互和依赖关系。

简介

在本研究中,我们设计了一个大规模的视觉-语言基础模型(InternVL),将视觉基础模型的参数扩展到60亿,并逐步与LLM对齐,利用来自不同来源的网络规模的图像-文本数据。该模型可广泛应用于32个通用视觉-语言基准,包括图像级别或像素级别的识别等视觉感知任务,以及零样本图像/视频分类、零样本图像/视频-文本检索等视觉-语言任务,并与LLM相结合以创建多模式对话系统。它具有强大的视觉能力,可以成为ViT-22B的良好替代品。

InternVL_数据

方法与模型

如图所示,与传统的仅使用视觉的backbone方法 和双编码器模型不同,本文提出的InternVL采用了一个视觉编码器InternViT-6B和一个语言中间件QLLaMA。具体地,InternViT-6B是一个具有60亿参数的视觉Transformer,通过自定义,实现了性能和效率之间的良好平衡。QLLaMA是一个具有80亿参数的语言中间件,初始化使用多语增强的LLaMA。它可以为图像-文本对比学习提供稳健的多语言表示,或者作为连接视觉编码器和现成的LLM解码器的桥梁。

为了使这两个具有模态和结构差异的大型组件对齐,我们引入了一种渐进对齐训练策略。该训练策略逐步进行,从大规模嘈杂数据上的对比学习开始,逐渐过渡到精致和高质量数据上的生成学习。通过这种方式,我们确保有效组织和充分利用来自各种来源的规模庞大的图像-文本数据。然后,配备对齐的视觉编码器和语言中间件。

InternVL_数据_02

1 模型设计

大规模视觉编码器:InternViT-6B

我们使用普通的视觉变换器(ViT)实现了InternVL的视觉编码器。为了与LLM的规模相匹配,我们将视觉编码器扩展到了60亿个参数,从而得到了InternViT-6B模型。为了在准确性、速度和稳定性之间取得良好的平衡,我们对InternViT-6B进行了超参数搜索。我们在{32,48,64,80}的模型深度、{64,128}的头部维度和{4,8}的MLP比率范围内进行变化。模型的宽度和头部数量是根据给定的模型规模和其他超参数计算得出的。我们在LAION-en数据集的一个1亿子集上使用对比学习来衡量具有不同配置的InternViT-6B变体的准确性、速度和稳定性。我们报告了以下发现:(1)速度。对于不同的模型设置,在计算未达到饱和状态时,深度较小的模型每张图像的速度更快。然而,当GPU计算得到充分利用时,速度差异变得可以忽略;(2) 准确性。在相同数量的参数下,深度、头部维度和MLP比率对性能的影响很小。根据这些发现,我们确定了我们最终模型的最稳定配置,如表1所示。语言中间件:QLLaMA。语言中间件QLLaMA旨在对齐视觉和语言特征。QLLaMA是基于预训练多语言LLaMA开发的,并添加了96个可学习的查询和交叉注意力层(10亿个参数),其随机初始化。通过这种方式,QLLaMA可以将视觉元素平滑地整合到语言模型中,从而增强了合并特征的一致性和有效性。

InternVL_数据_03

“瑞士军刀”模型:InternVL

通过灵活组合视觉编码器和语言中间件,InternVL可以支持各种视觉或视觉语言任务。(1)对于视觉感知任务,InternVL的视觉编码器,即InternViT-6B,可以作为视觉任务的主干。给定输入图像I ∈RH×W×3,我们的模型可以为密集预测任务生成特征图F ∈RH/14×W/14×D,或者通过全局平均池化和线性投影进行图像分类。(2)对于对比任务,如图4(a)(b)所示,我们引入了两种推理模式:InternVL-C和InternVL-G,分别使用视觉编码器或InternViT和QLLaMA的组合来编码视觉特征。具体而言,我们对InternViT的视觉特征或QLLaMA的查询特征应用注意力汇聚,计算全局视觉特征If。此外,我们通过提取QLLaMA的[EOS]标记的特征来对文本进行编码,得到Tf。通过计算If和Tf之间的相似度得分,我们支持包括图文检索在内的各种对比任务。(3)对于生成任务,与QLLAma相比,QLLaMA具有更强大的图像字幕能力,这得益于其参数的扩大。QLLaMA的查询对InternViT-6B的视觉表示进行重新组织,并作为QLLaMA的前缀文本。随后的文本标记将逐个序列地生成。(4)对于多模态对话,我们引入了InternVL-Chat,将InternVL作为视觉组件连接到LLMs。为此,我们有两个不同的配置。

2 Alignment Strategy

InternVL的训练分为三个渐进阶段,包括视觉-语言对比训练、视觉-语言生成训练和监督微调。这些阶段有效利用来自不同来源的公共数据,包括来自网络的噪声图像-文本对到高质量的标题、视觉问答和多模态对话数据集。

视觉-语言对比训练

在第一阶段,我们通过对比学习在网络规模上将InternViT-6B 与多语言的 LLaMA7B对齐,使用包括LAION-en、LAION-multi、LAION-COCO、COYO和Wukong等多语言内容的公开数据集进行训练。我们使用这些数据集的组合,并过滤掉一些极低质量的数据来训练我们的模型。原始数据集包含60.3亿个图像-文本对,经过清理后剩下49.8亿个。

在训练过程中,我们采用LLaMA-7B编码文本为Tf,并使用InternViT-6B 提取视觉特征If。遵循CLIP 的目标函数,我们在一批次的图像-文本对的相似度得分上最小化对称的交叉熵损失。这一阶段使得InternVL在零样本图像分类和图像-文本检索等对比任务中表现出色,而该阶段的视觉编码器也能在语义分割等视觉感知任务上表现良好。

视觉-语言生成训练

在训练的第二阶段,我们将InternViT-6B 与 QLLaMA 相连接,并采用生成性训练策略。具体来说,QLLaMA 在第一阶段继承了LLaMA-7B 的权重。我们保持 InternViT-6B 和 QLLaMA 的权重不变,只训练添加的可学习查询和交叉注意力层,并使用经过筛选的高质量数据。可以看到,我们进一步过滤了低质量标题的数据,将其从第一阶段的49.8亿减少到10.3 亿。

InternVL_编码器_04

根据BLIP-2的损失函数,这一阶段的损失由图像-文本对比(ITC)损失、图像-文本匹配(ITM)损失和图像引导文本生成(ITG)损失组成。这使得查询能够提取强大的视觉表示,并通过有效的训练目标和大规模的以LLM为初始化的QLLaMA进一步对齐特征空间。

监督微调

为了展示InternVL在创建多模态对话系统方面的优点,我们将其与现成的LLM解码器(例如,Vicuna或InternLM)通过一个MLP层连接,并进行监督微调(SFT)。我们收集了一系列高质量的指令数据,总共约为 400万个样本。对于非对话数据集,我们使用中描述的方法进行转换。由于QLLaMA和LLM解码器具有相似的特征空间,即使冻结LLM解码器,选择仅训练MLP层或同时训练MLP层和QLLaMA,我们仍然可以实现强大的性能。这种方法不仅加快了SFT过程,还保持了LLM的原始语言能力。

InternVL_数据_05

实验与结果

首先,我们验证了InternVL的最核心组件InternViT-6B的视觉感知能力。

我们使用ImageNet-1K数据集评估InternViT-6B生成的视觉表示的质量。遵循常见做法,我们采用线性探测评估方法,即在保持骨干网络冻结的同时训练线性分类器。除了在ImageNet-1K验证集上的性能指标外,我们还报告了在几个ImageNet变体上的性能指标,以评估其领域泛化能力。

InternVL_数据集_06

为了研究InternViT-6B的像素级感知能力,我们在ADE20K数据集上进行了广泛的语义分割实验。

InternVL_人工智能_07

除此之外,我们还评估了InternVL在各种视觉语言任务中的固有能力。比如零样本图像分类,零样本视频分类,零样本图像-文本检索,零样本图像字幕生成等。

零样本图像-文本检索结果对比

InternVL_人工智能_08

零样本图像分类结果

InternVL_数据集_09

零样本视频分类结果

InternVL_编码器_10

12个基准方法的对比结果

InternVL_数据集_11

零样本图像描述结果

InternVL_数据集_12