摘要
我们介绍了CogVLM,这是一个强大的开源视觉语言基础模型。 与流行的浅层对齐方法(将图像特征映射到语言模型的输入空间)不同,CogVLM通过注意力和FFN层中的可训练视觉专家模块,弥合了冻结的预训练语言模型和图像编码器之间的差距。 结果,CogVLM实现了视觉语言特征的深度融合,而不会牺牲任何NLP任务的性能。 CogVLM-17B在17个经典跨模态基准测试中取得了最先进的性能,包括:1)图像字幕数据集:NoCaps、Flicker30k;2)VQA数据集:OKVQA、TextVQA、OCRVQA、ScienceQA;3)LVLM基准:MM-Vet、MMBench、SEED-Bench、LLaVABench、POPE、MMMU、MathVista;4)视觉定位数据集:RefCOCO、RefCOCO+、RefCOCOg、Visual7W。 代码和检查点可在https://github.com/THUDM/CogVLM获取。
1引言
视觉语言模型用途广泛且功能强大。 许多视觉和跨模态任务可以表述为下一个符元预测,例如图像字幕(Agrawal等人,2019)、视觉问答(Antol等人,2015)、视觉定位(Yu等人,2016)甚至分割(Chen等人,2022a)。 随着VLM规模的扩大,在下游任务改进的同时,也有用的能力如上下文学习(Tsimpoukelli等人,2021; Sun等人,2023a; Alayrac等人,2022)也随之出现。 然而,训练大型语言模型本身并非易事,从头开始训练VLM以达到与LLaMA2(Touvron等人,2023)等训练良好的纯语言模型相同的NLP性能则更具挑战性。 因此,研究如何从现成的预训练语言模型训练VLM是很自然的。
以 InstructBLIP (Li 等人, 2023b) 和 MiniGPT-4 (Zhu 等人, 2023) 为代表的流行的浅对齐方法连接了一个冻结的通过可训练的 Q-Former 或线性层预训练视觉编码器和语言模型,将图像特征映射到语言模型的输入嵌入空间。 这种方法收敛速度快,但其性能明显低于具有可训练语言参数的LLaVA-1.5,尽管它们的模型大小和训练数据集几乎相同。
VLM中浅层对齐方法性能的主要挑战可以归因于视觉和语言数据之间缺乏深度融合。 浅层对齐方法之所以难以奏效,是因为它们依赖于“冻结”的语言模型权重,而这些权重本质上是训练用于处理文本符元的。 这带来了一个重大的不匹配问题,因为视觉特征在文本输入空间中缺乏直接的等价物。 因此,当这些视觉特征经过多层变换后,往往会偏离深度语言模型层预期的输入分布。 这种错位在图像字幕生成等任务中尤为明显,其中任务的具体性——例如写作风格和字幕长度——只能通过浅层方法表面地编码到视觉特征中。
如PaLI (Chen et al., 2022b)和Qwen-VL (Bai et al., 2023)所示,一种常见的策略是在预训练或监督微调(SFT)阶段直接训练LLM。 然而,这种方法可能会影响模型的泛化能力,特别是对于关注文本输出的任务。 传统上,LLM是在大量的纯文本数据集上进行预训练(Raffel et al., 2020),与LAION (Schuhmann et al., 2022)和COYO (Byeon et al., 2022)等图像文本对数据集相比,导致数据分布存在显著差异。 这种转变往往会导致灾难性遗忘,即模型在其原始领域的熟练程度下降的现象。 图4显示了这一问题,该图显示随着模型越来越适应LAION数据集,MMLU (Hendrycks et al., 2020)分数显著下降,从而验证了我们的假设。 这种趋势并非孤立的;在PaLM-E (Driess et al., 2023)和Flamingo (Alayrac et al., 2022)等模型中也观察到了类似的影响。 例如,将一个80亿参数的语言模型用于VLM预训练,会导致自然语言生成(NLG)性能下降87.3% (Driess et al., 2023)。
上述讨论提出了一个重要的问题:是否可以在保留大型语言模型的NLP能力的同时,为其添加一流的视觉理解能力?
CogVLM给出了一个“yes”的答案。 CogVLM向语言模型添加了一个可训练的视觉专家。 在每一层中,序列中的图像特征都使用一个新的QKV矩阵和与文本特征一起的MLP层。 视觉专家将参数数量增加一倍,同时保持FLOPs不变。 由于原始语言模型中的所有参数都是固定的,如果输入序列不包含图像,则其行为与原始语言模型相同。 这种灵感源于在高效微调中P-Tuning (Liu et al., 2023f)和LoRA (Hu et al., 2021)之间的比较,其中p-tuning学习输入中的任务前缀嵌入,而LoRA通过低秩矩阵调整每一层的模型权重。 结果表明,LoRA 的性能更好,也更稳定。 类似的现象也可能存在于 VLM 中,因为在浅层对齐方法中,图像特征的作用类似于 P-Tuning 中的前缀嵌入。
本文的主要贡献如下:
•
我们引入了 CogVLM 模型,该模型深度整合了视觉和语言特征,同时保留了预训练大型语言模型的全部功能。 基于 Vicuna-7B 训练的 CogVLM-17B 在 17 个经典跨模态基准测试中取得了最先进的结果。
•
通过大量的消融研究,我们验证了我们提出的视觉专家模块的有效性以及深度融合的重要性。 我们进一步深入研究了多模态预训练中的多个关键因素,包括视觉编码器的规模、注意力掩码的变体、VLM 中影响最大的参数以及结合自监督图像损失的必要性等。
•
我们已将 CogVLM 的权重和 SFT 阶段使用的数据集公开发布。 我们预计 CogVLM 的开源将极大地促进视觉理解的研究和工业应用。
2方法
2.1架构
CogVLM 模型包含四个基本组件:视觉 Transformer (ViT) 编码器、MLP 适配器、预训练大型语言模型 (GPT) 和视觉专家模块。 图4 显示了 CogVLM 架构的概述。 组件的设计和实现细节如下:
ViT 编码器。 我们在 CogVLM-17B 中使用了预训练的 EVA2-CLIP-E (Sun et al., 2023b)。 注意,ViT编码器的最后一层被移除,因为它专门用于聚合用于对比学习的[CLS]特征。
MLP适配器。 为了将ViT的输出映射到与词嵌入文本特征相同的空间,我们使用了一个MLP适配器,一个两层MLP(SwiGLU (Shazeer, 2020))。 为了实现方便,所有图像特征在语言模型中共享相同的position id。
预训练大型语言模型。 CogVLM的模型设计兼容任何现成的GPT风格预训练大型语言模型。 特别地,CogVLM-17B采用Vicuna1.5-7B (Chiang et al., 2023)进行进一步训练。 一个因果掩码被应用于所有注意力操作,包括图像特征之间的注意力。
视觉专家模块。 我们在每一层添加一个视觉专家模块,以实现深度视觉语言特征对齐。 特别地,每一层中的视觉专家模块由每一层中的一个QKV矩阵和一个MLP组成。 QKV矩阵和MLP的形状与预训练语言模型中的形状相同,并从预训练语言模型中初始化。 其动机是语言模型中的每个注意力头捕获语义信息的某个方面,而一个可训练的视觉专家可以转换图像特征以与不同的注意力头对齐,从而实现深度融合。
正式地,假设注意力层的输入隐藏状态为
其中
其中FFNI和FFNT分别是视觉专家和原始语言模型的FFN。
位置嵌入。 在LLM中的RoPE中,我们允许所有视觉符元共享单个位置ID,因为它们在输入到ViT时已经封装了位置信息。 这种方法减轻了LLM中符元之间远程衰减的影响。 鉴于图像可以占据数百到数千个符元,并且典型的输入序列结构为‘<image embed> query’,使用传统的位置编码将导致编码序列过长。 此外,这将导致查询更多地关注与其更接近的图像序列,即图像的下部。
2.2预训练
数据。 用于预训练的图像-文本对都是公开可用的,包括LAION-2B和COYO-700M。 去除损坏的URL、NSFW图像、带有噪声标题的图像、带有政治偏见的图像和纵横比为
我们还制作了一个包含4000万张图像的视觉接地数据集。 图像标题中的每个名词都与边界框相关联,以指示图像中的位置。 建设过程基本上遵循(Peng et al., ),该过程通过spaCy (Honnibal & Johnson, 2015)提取名词,并使用GLIPv2 (Zhang et al., 2022)预测边界框。 图像-文本对采样自LAION-115M,它是LAION-400M的一个子集,由(Li et al., 2023b)过滤。 我们过滤并保留了 4000 万张图像的子集,以确保超过 75% 的图像包含至少两个边界框。
训练。 预训练的第一阶段是针对图像字幕损失,即文本部分的下一个符元预测。 我们使用批次大小为 8192,对上述 15 亿个图像文本对训练 CogVLM-17B 模型,迭代次数为 120,000 次。 预训练的第二阶段是图像字幕和指称表达式理解 (REC) 的混合。 REC 是一项根据物体的文本描述预测图像中边界框的任务,其训练形式为 VQA,即 问题:物体在哪里? 和 答案:
Method | Train Data | NoCaps val | NoCaps test | Flickr | COCO | TextCaps | ||
OOD | overall | OOD | overall | Karp. | Karp. | test | ||
Human | - | 95.7 | 87.1 | 91.6 | 85.3 | - | - | 125.1 |
VinVL (Zhang et al., 2021) | 8.9M | 83.8 | 94.3 | 78.0 | 92.5 | - | 130.8 | - |
SimVLM (Wang et al., 2021) | 1.8B | 115.2 | 112.2 | 109.5 | 110.3 | - | 143.3 | - |
CoCa (Yu et al., 2022) | 4.8B | - | 122.4 | - | 120.6 | - | 143.6 | - |
LEMON (Hu et al., 2022) | 2B | 120.2 | 117.3 | 110.1 | 114.3 | - | 139.1 | - |
Flamingo (Alayrac et al., 2022) | 2.3B | - | - | - | - | 67.2 | 138.1 | - |
Prismer (Liu et al., 2023d) | 12.7M | 113.5 | 112.9 | - | 110.8 | - | 136.5 | - |
BLIP-2 (Li et al., 2023b) | 129M | 124.8 | 121.6 | - | - | - | 144.5 | - |
InstructBLIP (Dai et al., 2023) | 129M | - | 123.1 | - | - | 82.4 | - | - |
UniversalCap (Cornia et al., 2021) | 35M | 123.4 | 122.1 | 114.3 | 119.3 | - | 143.4 | - |
GIT (Wang et al., 2022a) | 0.8B | 127.1 | 125.5 | 122.0 | 123.4 | 49.6 | 144.8 | 138.2 |
GIT2 (Wang et al., 2022a) | 12.9B | 130.6 | 126.9 | 122.3 | 124.8 | 50.7 | 145.0 | 145.0 |
Qwen-VL (Bai et al., 2023) | 1.4B | - | 121.4 | - | - | 85.8 | - | - |
PaLI-17B (Chen et al., 2022b) | 1.6B | - | 127.0 | - | 124.4 | - | 149.1 | 135.4 |
PaLI-X-55B (Chen et al., 2023b) | - | - | 126.3 | - | 124.3 | - | 149.2 | 147.0 |
CogVLM (ours) | 1.5B | 132.6 | 128.3 | 128.0 | 126.4 | 94.9 | 148.7 | 144.9 |
2.3对齐
在指令对齐阶段,我们训练了两个通用的模型:CogVLM-Chat 和 CogVLM-Grounding。 CogVLM-Chat 接收自然语言输入和输出,而 CogVLM-Grounding 接收包含边界框的输入和输出。
CogVLM-Chat。 在我们的研究中,我们整合了来自各种开源视觉问答数据集的数据,包括 VQAv2 (Antol et al., 2015),OKVQA (Marino et al., 2019),TextVQA (Singh et al., 2019),OCRVQA (Mishra et al., 2019),ScienceQA (Lu et al., 2022),以及格式化为多轮对话的数据集,例如 LLaVA-Instruct (Liu et al., 2023c),LRV-Instruction (Liu et al., 2023a),LLaVAR (Zhang et al., 2023)。 然后,我们对这些不同的数据集进行了统一的指令监督微调 (SFT)。 SFT 数据的完整性和质量至关重要;值得注意的是,最初通过仅使用语言的 GPT-4 管道生成的 LLaVA-Instruct 数据集包含某些不准确之处。 我们通过人工检查和标注仔细纠正了这些错误,以确保数据质量。
VQA 数据集通常具有简洁的,通常是一个词的答案,这与提供具有广泛推理的详细响应的对话数据集形成对比。 为了适应这种可变性,我们使用了格式为 问题:简短答案: 用于简洁的回复,以及 问题:答案: 用于SFT阶段的扩展话语。
在训练过程中,模型进行了6000次迭代,学习率为1e-5,批量大小为1024。 为了增强和确保训练的稳定性,我们激活了视觉编码器的参数,并将其学习率调整为其余训练参数学习率的十分之一。
CogVLM-Grounding。 为了赋予我们的模型一致的、交互式的视觉定位能力,我们收集了一个高质量的数据集,涵盖了4种类型的定位数据:(1)基于语境的字幕生成(GC)——图像字幕数据集,其中每个名词短语后面都跟着相应的参考边界框;(2)指称表达生成(REG)——面向图像的数据集,图像中的每个边界框都用准确描述和指代特定区域内容的描述性文本表达进行标注;(3)指称表达理解(REC)——面向文本的数据集,每个文本描述都用多个参考链接进行标注,这些链接将短语与相应的框关联起来;(4)基于语境的视觉问答(GroundedVQA)——VQA风格的数据集,其中问题可能包含给定图像中的区域引用。 定位数据的来源都是公开可用的,包括Flickr30K Entities (Plummer et al., 2015),RefCOCO (Kazemzadeh et al., 2014; Mao et al., 2016; Yu et al., 2016),Visual7W (Zhu et al., 2016),VisualGenome (Krishna et al., 2017) 和 Grounded CoT-VQA (Chen et al., 2023a)。
值得注意的是,这些精心策划的数据集展现了视觉定位能力的多样性,许多数据集可以适用于不同的任务。 例如,基于语境的字幕数据集可以重新制定以适应REG和REC任务。 以“一个男人
3实验
为了严格验证我们基础模型的优越性能和强大的泛化能力,我们在一系列多模态基准上进行了定量评估。 这些基准测试可以分为三个大类,涵盖了全面的测量范围 1:
•
图像字幕生成。 这些任务的主要目的是生成文本字幕,总结给定图像的主要内容。 我们利用了包括NoCaps (Agrawal et al., 2019)、COCO (Lin et al., 2014)、Flickr30K (Plummer et al., 2015)和TextCaps (Sidorov et al., 2020)在内的著名数据集进行评估。
•
视觉问答。视觉问答任务要求模型根据给定的图像回答可能关注不同视觉内容的问题。我们的评估涵盖了各种数据集,包括VQAv2 (Antol et al., 2015)、OKVQA (Marino et al., 2019)、TextVQA (Singh et al., 2019)、OCRVQA (Mishra et al., 2019)和ScienceQA (Lu et al., 2022)。
•
大型视觉语言模型基准测试。大型视觉语言模型基准测试主要用于评估大型多模态模型的高级能力,例如目标识别和定位、光学字符识别、视觉描述和视觉知识推理。我们在包括MM-Vet (Yu et al., 2023)、MMBench (Liu et al., 2023g)、SEED-Bench (Li et al., 2023a)、LLaVA-Bench (Liu et al., 2023c)、POPE (Li et al., 2023c)、MMMU (Yue et al., 2023)和MathVista (Lu et al., 2023)在内的数据集上对模型进行了多维度评估。
•
视觉接地。 视觉接地包含一组任务,这些任务建立句子中文本提及与图像中特定区域之间的参照链接。 我们在典型的数据集上评估我们的模型,包括Visual7w (Zhu et al., 2016)、RefCOCO (Liu et al., 2017)、RefCOCO+和RefCOCOg,以确保完整性。
3.1图像字幕生成
我们在上述四个基准测试上评估了我们预训练的基础模型的图像字幕生成能力。 在对Nocaps和Flickr数据集进行零样本评估时,我们评估了模型在描述长尾视觉概念方面的精度。 此外,我们还展示了在COCO和TextCaps数据集上微调的结果。
Method | LLM | VQA | LVLM-Benchmark | ||||||||||
VQAv2 | OKVQA | TextVQA | OCRVQA | ScienceQA | MM-Vet | SEED | MMBench | LLaVA | POPE | MMMU | MathVista | ||
MiniGPT-4 | Vicuna-7B | - | - | 0.6 | - | 39.6 | 22.1 | 47.4 | 23.0 | 45.1 | - | - | 23.1 |
IDEFICS-Instruct | LLaMA-65B | 37.4 | 36.9 | 32.9 | - | 61.8 | 39.7 | 53.2 | 54.5 | 56.9 | - | - | 26.2 |
OpenFlamingo | MPT-7B | 53.0 | 38.3 | 28.3 | - | 44.8 | 24.8 | 42.7 | 5.7 | 34.2 | - | 26.3 | 18.6 |
DreamLLM | Vicuna-7B | 56.6 | 44.3 | 34.9 | - | - | 35.9 | - | 49.9 | - | - | - | - |
InstructBLIP | Vicuna-7B | - | - | 50.1 | - | 60.5 | 26.2 | 58.8 | 33.9 | 59.8 | 53.8 | - | 25.3 |
Fuyu | Fuyu-8B | 74.2* | 60.6* | - | - | - | - | - | - | - | - | 27.4 | - |
Qwen-VL-Chat | Qwen-7B | 78.2* | 56.6* | 61.5* | 70.5* | 68.8 | - | 65.4 | 61.8 | 67.7 | - | 32.9 | 33.8 |
LLaVA-1.5 | Vicuna-7B | 78.5* | - | 58.2* | - | 66.8 | 30.5 | 58.6 | 64.3 | 60.7 | 85.9 | - | 23.6 |
mPLUG-Owl2 | LLaMA2-7B | 79.4* | 57.7* | 58.2* | - | 68.7 | 36.2 | 64.1 | 64.5 | 25.0 | 86.2 | 32.1 | 25.3 |
Unified-IO2 | UIO-2XXL | 79.4* | 55.5* | - | - | 86.2* | - | 65.6 | 71.5 | - | 87.7 | - | - |
LLaVA-1.5 | Vicuna-13B | 80.0* | - | 61.3* | - | 71.6 | 35.4 | 61.6 | 67.7 | 64.6 | 85.9 | 33.6 | 26.1 |
SPHINX-2k | LLaMA2 13B | 80.7* | 62.6* | 61.2* | 67.8* | 70.6 | 40.2 | 71.6 | 65.9 | - | 87.2 | 32.9 | 27.8 |
Emu2-Chat | LLaMA-33B | 84.9* | 64.8* | 66.6* | - | - | 48.5 | 62.8 | 63.6 | 56.4 | - | 34.1 | - |
CogVLM-Chat | Vicuna-7B | 82.3* | 64.8* | 70.4* | 73.8* | 91.2* | 51.1 | 72.5 | 77.6 | 77.8 | 87.9 | 41.1 | 34.5 |
详细性能如表1所示。 总体而言,我们的模型在所有方面都达到了最先进的或相当的性能。 具体来说,在NoCaps基准测试中,我们的基础模型在四个分割中都优于之前的最佳方法GIT2,在非领域集合中的最大值达到
Type | Model | RefCOCO | RefCOCO+ | RefCOCOg | Visual7W | |||||
val | test-A | test-B | val | test-A | test-B | val | test | test | ||
Generalist | OFA-L* (Wang et al., 2022b) | 79.96 | 83.67 | 76.39 | 68.29 | 76.00 | 61.75 | 67.57 | 67.58 | - |
VisionLLM-H (Wang et al., 2023b) | - | 86.70 | - | - | - | - | - | - | - | |
Shikra-7B (Chen et al., 2023a) | 87.01 | 90.61 | 80.24 | 81.60 | 87.36 | 72.12 | 82.27 | 82.19 | - | |
Shikra-13B (Chen et al., 2023a) | 87.83 | 91.11 | 81.81 | 82.89 | 87.79 | 74.41 | 82.64 | 83.16 | 85.33 | |
Qwen-VL (Bai et al., 2023) | 89.36 | 92.26 | 85.34 | 83.12 | 88.25 | 77.21 | 85.58 | 85.48 | - | |
Ferret-13B (You et al., 2023) | 89.48 | 92.41 | 84.36 | 82.81 | 88.14 | 75.17 | 85.83 | 86.34 | - | |
CogVLM-Grounding | 92.76 | 94.75 | 88.99 | 88.68 | 92.91 | 83.39 | 89.75 | 90.79 | 91.05 | |
Specialist | G-DINO-L (Liu et al., 2023e) | 90.56 | 93.19 | 88.24 | 82.75 | 88.95 | 75.92 | 86.13 | 87.02 | - |
UNINEXT-H (Lin et al., 2023a) | 92.64 | 94.33 | 91.46 | 85.24 | 89.63 | 79.79 | 88.73 | 89.37 | - | |
ONE-PEACE (Wang et al., 2023a) | 92.58 | 94.18 | 89.26 | 88.77 | 92.21 | 83.23 | 89.22 | 89.27 | - | |
3.2视觉问答
如表2所示,我们的CogVLM模型展现了出色的性能,并在各种任务中显著领先于参数规模相似的模型,包括日常生活图像问答数据集VQAv2、文本密集型图像问答数据集(如TextVQA和OCRVQA)以及知识需求型数据集(如OKVQA和ScienceQA)。 这一成功展示了该模型强大的泛化能力和跨不同领域的潜力。
3.3大型视觉语言模型(LVLM)基准测试
我们的研究结果(详见表2)表明,CogVLM在所有7个LVLM基准测试中都取得了最先进的结果,显著超越了所有其他模型。 它还优于使用更大语言模型的多模态模型,例如使用Vicuna-13B的LLava1.5和使用LLAMA-33B的Emu-2,在MM-vet上分别领先15.7分和2.6分,在MMBench上分别领先9.9分和14.0分。 与在LLaMA-65B上训练的IDEFICS-Instruct相比,CogVLM在Seed-Bench、MMBench和LLaVA-Bench上的得分分别高出19.3分、23.1分和20.9分。 此外,CogVLM 在MMMU数据集上取得了41.1分,在幻觉评估数据集POPE上取得了87.9分,在多模态数学推理基准MathVista上取得了35.2分。 这些令人印象深刻的结果不仅展示了其强大的推理能力和多任务泛化能力,也清楚地表明CogVLM在这些领域明显优于其他模型。 值得注意的是,诸如InstructBLIP和MiniGPT-4之类的浅层融合模型在大多数基准测试中表现不佳,尽管InstructBLIP在指令数据上进行了广泛的训练,这凸显了深度融合对于增强性能的必要性。
Ablated Aspects | Original Setting | Ablated Setting | Trainable | COCO | NoCaps | OKVQA | TextVQA | VQAv2 |
params | CIDEr | CIDEr | top1 | top1 | top1 | |||
Tuned parameters | VE-full every layer+MLP Adapter | MLP Adapter | 140M | 131.2 | 111.5 | 55.1 | 40.7 | 73.8 |
LLM+MLP Adapter | 6.9B | 140.3 | 118.5 | 56.8 | 44.7 | 78.9 | ||
VE-full every 4th layer | 1.7B | 138.7 | 117.4 | 58.9 | 44.1 | 77.6 | ||
VE-FFN every layer | 4.4B | 140.0 | 118.7 | 58.2 | 45.1 | 78.6 | ||
Init method | From LLM | Random init | 6.6B | 138.0 | 117.9 | 55.9 | 44.0 | 79.1 |
Visual attention mask | Causal mask | Full mask | 6.6B | 141.0 | 117.2 | 57.4 | 45.1 | 79.6 |
Image SSL loss | ✗ | ✓(clip feature) | 6.6B | 142.9 | 119.8 | 58.7 | 45.9 | 79.7 |
Visual encoder | EVA2-E | EVA2-L | 6.6B | 141.4 | 122.5 | 59.2 | 42.8 | 79.0 |
EMA | ✓ | ✗ | 6.6B | 143.1 | 119.2 | 57.1 | 43.8 | 79.4 |
CogVLM (ours) | — | — | 6.6B | 142.8 | 120.1 | 59.3 | 45.3 | 80.0 |
3.4视觉接地
表3显示了标准视觉接地基准测试的结果。 我们发现,我们的通用模型在所有方面都实现了最先进的性能,比之前的或同时期的模型具有显著优势。 如表3底部所示,我们的模型甚至超过了专门针对单个任务训练的模型,在9个子集中的5个子集上实现了SOTA性能。 例如,在RefCOCO val子集中,我们的模型得分达到92.76,超过了UNINEXT-H的92.64;在RefCOCO+ test-A子集中,得分达到92.91,超过了ONE-PEACE的92.21;在RefCOCOg test子集中,得分达到90.79,超过了UNINEXT-H的89.27。 这些结果表明,结合我们的训练范式,我们的模型具有显著的视觉接地能力。
3.5消融研究
为了了解不同组件和设置对我们模型性能的影响,我们进行了为期6000次迭代、批量大小为8192次的广泛消融研究。 表4总结了以下方面的结果:
模型结构和调整参数。 为探究CogVLM模型的有效性,我们对几个结构变体和调优策略进行了消融研究,包括:1) 只调优MLP适配器层;2) 调优所有LLM参数和适配器,但不添加视觉专家;3) 只在每第4个LLM层添加视觉专家;以及4) 只在所有层的FFN中添加视觉专家。
从结果可以看出,浅层视觉-语言对齐,即仅调优适配器层(类似于BLIP-2中使用的方法),会导致性能显著下降。 此外,训练视觉专家的性能高于训练LLM的性能,尤其是在需要外部知识的数据集上,即使训练参数大致相同。 我们还比较了添加视觉专家的其他变体,包括a. 每4层插入一个专家模块和b. 从专家中移除注意力部分。 这两种方法都会导致一定程度的性能下降,但在可接受的范围内,这为平衡计算开销和模型性能提供了一些指导。
初始化方法. 对于视觉专家的初始化方法,我们比较了使用LLM权重进行初始化和随机初始化。 我们在各种数据集上的结果表明,使用LLM权重进行初始化始终能获得更好的性能。 这表明在语言数据上预训练的Transformer架构具有一定的处理视觉符元的能力。 此外,它可以作为多模态预训练初始化更有效的起点。
视觉注意力掩码. 我们根据经验发现,与全掩码相比,对视觉符元使用因果掩码可以产生更好的结果。 这有点违反直觉,因为使用双向注意力掩码可以访问比因果掩码更多信息。 我们假设这种现象的可能解释是因果掩码更符合LLM的固有结构。
图像自监督学习损失. 我们还研究了图像特征的自监督学习损失,其中每个视觉特征预测下一个位置的CLIP特征,用于视觉自监督。 与PaLI-X(Chen et al., 2023b)的观察结果一致,我们发现尽管在早期实验中我们确实观察到小型模型有所改进,但在下游任务上并没有带来改进。
视觉编码器。 我们用3亿参数的EVA2-L模型替换了44亿参数的EVA2-E模型,以研究视觉编码器参数对各种任务的影响。 结果表明,大多数基准测试的性能仅略有下降。 然而,在面向文本的数据集TextVQA中观察到一个显著的例外,我们在其中记录了2.5的下降。
EMA。 我们在预训练过程中使用了EMA(指数移动平均)。 消融实验结果表明,与不使用EMA相比,EMA通常会在各种任务中带来改进。
4结论
在本文中,我们介绍了CogVLM,一个开放的视觉语言基础模型。 CogVLM将VLM训练的范式从浅层对齐转变为深度融合,在17个经典的多模态基准测试中取得了最先进的性能。
VLM训练仍处于起步阶段,还有许多方向有待探索,例如,更好的SFT对齐、RLHF和反幻觉。 由于之前的著名VLM大多是闭源的,我们相信CogVLM将成为未来多模态研究的坚实基础。