CogVLM: Visual Expert For Large Language Models
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!
ABSTRACT
我们介绍了CogVLM,一个强大的开源视觉语言基础模型。与流行的将图像特征映射到语言模型输入空间的浅层对齐方法不同,CogVLM在注意力层和FFN层通过可训练的视觉专家模块弥合了冻结的预训练语言模型和图像编码器之间的差距。因此,CogVLM能够在不牺牲NLP任务性能的情况下实现视觉语言特征的深度融合。CogVLM-17B在NoCaps、Flicker30k说明文字、RefCOCO、RefCOCO+、RefCOCOg、Visual7W、GQA、ScienceQA、VizWiz VQA和TDIUC等10个经典跨模态基准测试中实现了最先进的性能,在VQAv2、OKVQA、TextVQA、COCO说明文字等方面排名第二,超过或达到PaLI-X 55B的性能。代码和检查点位于https://github.com/THUDM/CogVLM。
1 INTRODUCTION
视觉语言模型(VLM)是通用的、强大的。许多视觉和跨模态任务可以被公式化为下一个token预测,例如,图像说明文字(Agrawal et al., 2019)、视觉问答(Antol et al., 2015)、视觉基础(Yu et al., 2016)甚至分割(Chen et al., 2022a)。在扩展VLM时,随着下游任务的改进,也会出现有用的能力,如上下文学习(Tsimpoukeli et al., 2021)。然而,训练一个大型语言模型已经不是一件小事,而且从头开始训练一个与LLaMA2 (Touvron et al., 2023)等训练有素的纯语言模型具有相同NLP性能的VLM更具挑战性。因此,研究如何从现成的预训练语言模型中训练VLM是很自然的。
以BLIP-2 (Li et al., 2023)为代表的流行的浅对齐方法通过可训练的Q-Former或线性层将冻结的预训练视觉编码器和语言模型连接起来,将图像特征映射到语言模型的输入嵌入空间中。这种方法收敛得很快,但性能(BLIP-2-NoCaps CIDEr 121.6)不如联合训练视觉和语言模块,例如PaLI-X (NoCaps CIDEr 126.3)。对于通过浅对齐方法训练的聊天风格VLM,例如MiniGPT-4 (Zhu et al., 2023)、LLAVA (Liu et al., 2023b)和VisualGLM (附录D),较弱的视觉理解能力表现为幻觉。那么,有可能保留大型语言模型的NLP功能,同时为其添加一流的视觉理解能力吗?
CogVLM给出了"是"的答案。我们认为,浅对齐方法性能较差的根本原因在于视觉和语言信息之间缺乏深度融合。这种灵感来源于p-tuning (Liu et al., 2023e)和LoRA (Hu et al., 2021)在有效微调中的比较,其中p-tuning学习嵌入输入中的任务前缀,而LoRA通过低秩矩阵调整每层中的模型权重。因此,LoRA表现得更好、更稳定。VLM中也可能存在类似的现象,因为在浅对齐方法中,图像特征的作用就像p-tuning中的前缀嵌入。p-tuning和浅对齐性能下降的更详细原因包括:
- 语言模型中的冻结权重是针对文本token进行训练的。视觉特征在输入文本空间中没有完美的对应。因此,在多层Transformer之后,视觉特征可能不再与深层中权重的输入分布匹配。
- 在预训练过程中,图像说明文字任务的先验,例如书写风格和说明文字长度,只能用浅对齐方法编码到视觉特征中。它削弱了视觉特征和内容之间的一致性。
一种可能的解决方案是使语言模型适应图像-文本联合训练,这被PaLI (Chen et al., 2022b)和Qwen-VL (Bai et al., 2023a)所采用。然而,通过这种方式,NLP能力会不可避免地受损,这可能会影响以文本为中心的任务,例如基于图像的诗歌创作或介绍图像的背景故事。根据PaLM-E (Dress et al., 2023),在VLM预训练过程中使语言模型可训练将导致灾难性遗忘,并使8B语言模型的NLG性能下降87.3%。
CogVLM为语言模型添加了一个可训练的视觉专家。在每一层中,序列中的图像特征使用新的不同的QKV矩阵和具有文本特征的MLP层。视觉专家将参数数量增加一倍,同时保持FLOP不变。由于原始语言模型中的所有参数都是固定的,因此如果输入序列不包含图像,则行为与原始语言模型相同。
我们从Vicuna-7B训练的CogVLM-17B在14个经典的跨模态基准测试上实现了最先进或第二好的性能,包括1) 图像说明文字数据集:NoCaps、Flicker30k、COCO,2) VQA数据集:VQAv2、OKVQA、GQA、TextVQA、VizWiz,3) 视觉定位数据集:RefCOCO、RefCOCOCO+、RefCOCOg、Visual7W,4) 多选数据集:TDIUC、ScienceQA。我们还训练了来自ChatGLM-12B (Du et al., 2021)的CogVLM-28B-zh,以支持商业使用的英语和汉语,这不包括在本文中。
由于以前大多数著名的VLM都是闭源的,包括Flamingo (Alayrac et al., 2022)、SimVLM (Wang et al., 2021)、Coca (Yu et al., 2020)、BEIT-3 (1.9B)(Wang et al., 2022c)、GIT2 (Wang et al., 2022a)、PaLI (Chen et al., 2022b)、PaLI-X (Chen et al., 2023b),我们预计CogVLM的开源将极大地帮助视觉理解的研究和工业应用。
2 METHOD
2.1 ARCHITECTURE
CogVLM模型包括四个基本组件:视觉Transformer (ViT)编码器、MLP适配器、预训练的大语言模型(GPT)和视觉专家模块。图3显示了CogVLM结构的概述。以下提供了组件的设计和实现细节:
ViT编码器。我们在CogVLM-17B中使用预训练的EVA2-CLIP-E (Sun et al., 2023)。ViT编码器的最后一层被移除,因为它专门聚合[CLS]特征用于对比学习。
MLP适配器。MLP适配器是一个双层MLP (SwiGLU (Shazeer, 2020)),用于将ViT的输出映射到与单词嵌入的文本特征相同的空间中。所有图像特征在语言模型中共享相同的位置id。
预训练的大语言模型。CogVLM的模型设计与任何现成的GPT风格的预训练的大语言模型兼容。具体而言,CogVLM-17B采用Vicuna-7Bv1.5 (Chiang et al., 2023)进行进一步训练。因果掩码应用于所有的注意力操作,包括图像特征之间的注意力。
视觉专家模块。我们为每一层添加了一个视觉专家模块,以实现深度视觉语言特征对齐。具体而言,每一层中的视觉专家模块由每一层的QKV矩阵和MLP组成。QKV矩阵和MLP的形状与预训练的语言模型中的形状相同,并利用其初始化。其动机是,语言模型中的每个注意力头都捕捉到了语义信息的某个方面,而可训练的视觉专家可以转换图像特征,使其与不同的头对齐,从而实现深度融合。
形式上,假设注意力层的输入隐藏状态是,其中B是批量大小,LI和LT是图像和文本序列的长度,H是注意力头的数量,D是隐藏层大小。在视觉专家的注意力中,X首先被拆分为图像隐藏状态XI和文本隐藏状态XT,注意力计算为:
其中WI,WT是视觉专家和原始语言模型的QKV矩阵,Tril(·)表示下三角掩码。FFN层中的视觉专家执行类似的操作,
其中FFNI和FFNT是视觉专家和原始语言模型的FFN。
2.2 PRETRAINING
数据。用于预训练的图像-文本对都是公开的,包括LAION-2B和COYO-700M。在去除坏的URL、NSFW图像、具有带噪说明文字的图像、具有政治偏见的图像以及纵横比>6或<1/6的图像之后,留下大约1.5B的图像用于预训练。
我们还制作了一个包含4000万张图像的视觉基础数据集。图像说明文字中的每个名词都与边界框相关联,以指示图像中的位置。构建过程基本遵循Peng等人(2023),通过spaCy (Honnibal & Johnson, 2015)提取名词,并使用GLIPv2预测边界框(Zhang et al., 2022)。图像-文本对是从由Li等人(2023)过滤的LAION-400M的子集LAION-115M中采样的。我们过滤并保留4000万张图像的子集,以确保75%以上的图像至少包含两个边界框。
训练。预训练的第一阶段是针对图像文字说明损失,即文本部分的下一个token预测。我们在上面介绍的1.5B图像-文本对上训练CogVLM-17B模型,进行120000次迭代,批量大小为8192。预训练的第二阶段是图像说明文字和引用表达理解(REC)的混合。REC是一项在给定目标文本描述的情况下预测图像中边界框的任务,该任务以VQA的形式进行训练,即“问题:目标在哪里?”和“答案:[[x0, y0, x1, y1]]”。x和y坐标的范围都在000到999之间,这意味着图像中的归一化位置。我们在“答案”部分只考虑下一个token预测的损失。我们在上面介绍的文本图像对和视觉基础数据集上预训练第二阶段的60000次迭代,批量大小为1024。在最后的30000次迭代中,我们将输入分辨率从224×224更改为490×490。可训练参数总数为6.5B,预训练消耗约4096 A100×天。
2.3 ALIGNMENT
我们进一步在广泛的任务上微调CogVLM,以便使CogVLM与任何主题的自由格式指令保持一致。我们将微调后的模型命名为CogVLM-Chat。如图2和附录中的示例所示,CogVLM-Chat可以成功地与各种指令保持一致,从而实现与人类的灵活交互。
数据。监督微调(SFT)的高质量数据是从LLaVA-Instruct (Liu et al., 2023b)、LRV-Instruction (Liu et al., 2023a)、LLaVAR (Zhang et al., 2023)和内部数据集收集的,总共约有500000对VQA。SFT数据的质量至关重要,但LLaVA-Instruct是由仅涉及GPT-4语言的流水线生成的,因此错误是不可避免的。特别是,我们通过手动检查和注释更正了LLaVA-Instruct数据集中的错误。
SFT。对于监督微调,我们训练8000次迭代,批量大小为640,学习率为10−5和50次预热迭代。
为了防止数据集的文本答案过拟合,我们利用较小的学习率(其他参数的学习率的10%)来更新预训练的语言模型。除ViT编码器外的所有参数在SFT期间都是可训练的。
3 EXPERIMENTS
为了严格验证我们的基础模型的优越性能和稳健泛化,我们对一系列多模态基准进行了定量评估。这些基准可分为三大领域,涵盖一系列全面的衡量标准1:
- 图像说明文字。这些任务的主要目的是生成文本说明文字,总结给定图像的主要内容。我们利用包括NoCaps (Agrawal et al., 2019)、COCO (Lin et al., 2014)、Flickr30K (Plummer et al., 2015)和TextCaps (Sidorov et al., 2020)在内的重要数据集进行评估。
- 视觉问答。VQA任务要求模型回答基于给定图像的不同视觉内容的问题。我们的评估涵盖了不同的数据集,包括VQAv2 (Antol et al., 2015)、OKVQA (Marino et al., 2019)、TextVQA (Singh et al., 2017)、VizWiz-VQA (Gurari et al., 2018)、OCRVQA (Mishra et al., 2019)、ScienceQA (Lu et al., 2022b)和TDIUC (Shrestha et al., 2020)。
- 视觉定位。视觉定位包括一组任务,在句子中的文本提及和图像中的特定区域之间建立参照联系。我们在典型的数据集上评估了我们的模型,包括Visual7w (Zhu et al., 2016)、RefCOCO (Liu et al., 2017)、RefCoCoCo+和RefCOCOg,以确保完整性。
1 所有基准和相应指标的详细摘要见附录A.2
3.1 IMAGE CAPTIONING
我们在上述四个基准上评估了预训练的基础模型的图像文字说明能力。在对Nocaps和Flickr数据集进行的零样本评估中,我们评估了我们的模型在描述长尾视觉概念方面的准确性。此外,我们还展示了对COCO和TextCaps数据集进行微调的结果。
具体性能如表1所示。总体而言,我们的模型全面实现了SOTA或兼容性能。具体来说,在NoCaps基准测试中,我们的基本模型在四次分割中的表现优于之前的最佳方法GIT2,在域外集合中最多有5.7个点,同时只消耗了10%的预训练数据(1.5B vs 12.9B)。在Flickr基准测试中,我们的模型的SOTA得分为94.9,比同时发布的Qwen VL模型高出9.1分。这些结果证明了我们的预训练模型在图像文字说明任务上的显著能力和鲁棒性。我们还对COCO (Lin et al., 2014)和TextCaps进行了评估,后者专门设计用于将给定图像的文本信息集成到说明文字中。尽管在没有专用OCR数据的情况下进行训练,但令人鼓舞的是,我们的基本模型显示出显著的文本阅读能力,并与PaLI-X-55B相比获得了有竞争力的性能,并以9.1分的成绩优于之前的同类最佳模型PaLI-17B。
3.2 VISUAL QUESTION ANSWERING
视觉问答是一项验证模型通用多模态能力的任务,需要掌握视觉语言理解和常识推理等技能。我们在7个VQA基准上评估我们的模型:VQAv2、OKVQA、GQA、VizWiz QA、OCRVQA、TextVQA、ScienceQA,涵盖了广泛的视觉场景。我们在训练集上训练我们的基础模型,并在所有基准的公开可用的val/test集上对其进行评估,其中两个过程都采用开放式词汇生成设置,而无需OCR流水线输入。
如表2所示,与类似规模的模型(如PALI-17B和Qwen-VL)相比,我们的模型在7个基准中的6个上实现了最先进的性能。我们的模型甚至在多个基准测试上超过了更大规模的模型,如VizWiz-QA上的PaLI-X-55B (test-std +5.1,test-std +3.8)、VQAv2上的PALM-E-84B (test-dev +4.2)和OKVQA (+1.4)、VQAv2上的Flamingo-80B (test-dev +2.7,test-std +2.6)、VizWiz-QA (test-dev +10.7,test-std +10.4)和TextVQA (+15.6)。我们的模型在ScienceQA (Lu et al., 2022b)的多模态分割(即IMG)上也达到了92.71的最优分数,实现了新的SOTA。这些结果表明,我们的基本模型可以作为一个强大的多模态主干,能够解决各种视觉问答任务。
通用性能。为了与Unified-IO (Lu et al., 2022a)、QwenVL (Bai et al., 2023a)、mPLUG-DocOwl (Ye et al., 2021)和其他在多模态任务的广义范式中训练的模型进行公平比较,我们使用由数十个多模态数据集组成的数据进一步训练了一个统一模型,并使用一致的检查点进行评估。数据集包括14个QA数据集,如VQAv2、OKVQA,并扩展到TextVQA,以及说明文字数据集,包括COCO说明文字、TextCaps和在预训练阶段使用的说明文字数据集。实验结果表明,多任务学习不会显著降低模型在单个任务上的性能,CogVLM在所有任务中的性能仍然领先。
3.3 VISUAL GROUNDING
为了赋予我们的模型一致且交互式的视觉定位能力,我们收集了一个高质量的数据集,涵盖了4种类型的定位数据:(1) 定位说明文字(GC)——图像说明文字数据集,其中说明文字中的每个名词短语后面都有相应的参考边界框;(2) 引用表达式生成(REG)——面向图像的数据集,图像中的每个边界框都用描述性文本表达式进行注释,该文本表达式准确地表征并引用特定区域内的内容;(3) 引用表达理解(REC)——面向文本的数据集,每个文本描述都用多个参考链接进行注释,这些链接将短语与相应的框相关联;(4) 视觉定位问答(GroundedVQA)——VQA风格的数据集,其中问题可能包含给定图像中的区域参考。定位数据的来源都是公开的,包括Flickr30K实体(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)。本节中的[box]格式为[[x0, y0, x1, y1]]。
在使用我们的40M视觉定位数据集的第二个预训练阶段之后,我们继续在这个高质量的数据集上训练我们的模型,从而产生一个广义定位增强模型CogVLM-Grounding。 值得注意的是,策划的数据集展示了视觉定位能力的多功能性,许多数据集可以在不同的任务中进行调整和重新调整用途。例如,可以重新制定定位说明文字数据集,以适应REG和REC任务。以“A man [box1] and a woman [box2] are walking together.”为例,这可以被重新定义为问答对,如(“Describe this region [box2].”,“A woman.”)和(“Where is the man?”,“[box1]”)。类似地,REC数据集可以通过切换输入和输出转换为REG任务,反之亦然。然而,某些转换可能会导致歧义。例如,当出现说明文字“A man [box1] is running, while another man [box2] is looking.”中的孤立查询“Where is another man?”时,[box1]和[box2]之间的区别变得不清楚,可能会导致错误。
表4显示了标准视觉定位基准的结果。我们发现,我们的广义模型全面实现了最先进的性能,与以前的或并发的模型相比具有显著优势。此外,我们还评估了我们的模型的专家性能,该模型在每个单独的训练基准集上进行了微调,以便与专门用于每个任务的最佳模型进行公平比较。如表4的底部所示,我们的模型在9个分割中的5个上实现了SOTA性能,并在其他子集上实现了兼容结果。这些结果表明,结合我们的训练范式,我们的模型具有显著的视觉定位能力。
3.4 INSTRUCTION FOLLOWING IN REAL-WORLD USER BEHAVIOR
为了评估CogVLM-Chat模型在真实世界用户行为下的能力,我们进一步使用了TouchStone (Bai et al., 2023b),这是一个多模态语言模型的广泛基准。表5显示了生成答案和标准答案的GPT-4 (OpenAI, 2023)相似性得分,表明CogVLM-Chat显著优于所有其他公开可用的VLM。
3.5 ABLATION STUDY
为了了解各种组件和设置对我们模型性能的影响,我们进行了6000次迭代和8192次批量的广泛消融研究。表6总结了以下方面的结果:
模型结构和调整参数。我们研究了仅调整MLP适配器层或在不添加VE的情况下调整所有LLM参数和适配器的有效性,以及修改VE架构以在每4个LLM层或在所有层仅添加配备FFN的VE。从结果中我们可以看出,仅调整适配器层(例如,BLIP2)可能导致性能明显较差的浅对准,并且减少VE层的数量或每个LLM层处的VE参数会遭受显著的退化。
初始化方法。我们研究了从LLM初始化VE权重的有效性,性能的轻微下降表明了该方法的积极影响。
视觉注意力掩码。我们根据经验发现,与全掩码相比,在视觉token上使用因果掩码将产生更好的结果。我们假设对这一现象的可能解释是因果掩码更适合LLM的固有结构。
图像SSL损失。我们还研究了图像特征的自监督学习损失,其中每个视觉特征预测下一个位置的CLIP特征,用于视觉自监督。与PaLI-X (Chen et al., 2023b)的观察结果一致,我们发现它对下游任务没有改善,尽管我们在早期实验中确实观察到了小模型的改善。
EMA。我们在预训练中使用EMA(指数移动平均),这通常会在各种任务中带来改进。
4 CONCLUSION
在本文中,我们介绍了一个开放的可视化语言基础模型CogVLM。CogVLM将VLM训练的范式从浅对准转变为深度融合,在10个经典的多模态基准上实现了最先进的性能。
VLM训练仍处于初级阶段,有许多方向需要探索,例如更好的SFT对齐、RLHF和抗幻觉。由于以前著名的VLM大多是闭源的,我们相信CogVLM将为未来的多模态研究奠定坚实的基础。
A APPENDIX
A.1 DETAILS OF TRAINING SETTINGS
我们在表7和表8中报告了预训练和多任务训练期间的参数设置细节。
A.2 DETAILS OF ASSOCIATED DATASETS
在本节中,我们将介绍数据集的详细信息及其在所有相关基准的评估过程中的使用。
A.2.1 IMAGE CAPTIONING
- COCO (Lin et al., 2014) COCO数据集中的说明文字是使用Amazon's Mechanical Turk (AMT)工人收集的,他们得到了控制质量的指示。数据集包含330K幅图像,其中训练集、验证集和测试集分别包含82783幅图像的413915个说明文字、40504幅图像的202520个说明文字和40775幅图像的379249个说明文字。
- NoCaps (Agrawal et al., 2019)。NoCaps是新颖目标说明文字的大型基准,与COCO相比,它包含近400个新颖目标类。验证和测试集分别由4500幅和10600幅图像组成,这些图像来源于Open images (Krasin et al., 2017),每幅图像都有11个人工生成的说明文字,每组被细分为三个域:“in”、“near”和“out”,“out domain”中的目标从未出现在COCO数据集中。
- Flickr30K (Plummer et al., 2015)。Flickr30K是一个高质量的数据集,由31783幅日常生活活动、环境和场景的图像(均来自在线网站Flickr)和158915个说明文字(通过crodsourcing获得)组成。该数据集中的每个图像都由五名不熟悉其中描述的特定实体和环境的注释者独立描述。
- TextCaps (Sidorov et al., 2020) TextCaps是一个数据集,有145k个说明文字,用于28k幅图像。TextCaps数据集的设计目的是将文本信息与视觉上下文有效地集成到说明文字中,要求模型既具有出色的OCR能力,又具有强大的文字说明能力。
A.2.2 GENERAL VQA
- VQAv2 (Antol et al., 2015) VQAv2包含超过200000幅图像,以及超过110万个问题,这些问题总共获得了超过1100万个答案。问题涉及各种类型,包括是/否、计数和开放式查询。
- OKVQA (Marino et al., 2019) OK-VQA(外部知识视觉问答)数据集专门设计用于探索视觉问答能力,这些能力需要图像内容之外的外部知识或常识。它有14055个开放式问题,每个问题有5个基本事实答案。
- VizWiz-VQA (Gurari et al., 2018) VizWiz-VQA数据集来源于盲人捕捉图像并提出相关问题,每个查询附带10个众包响应。该数据集的核心挑战包括预测视觉问题的答案,并确定其是否无法回答。
- ScienceQA (Lu et al., 2022b) ScienceQA数据集包括21208个多模态多项选择题,涵盖三个不同的学科:自然科学、语言科学和社会科学。每个问题都附有与相关讲座相关的解释。
- TDIUC (Shrestha et al., 2019) TDIUC数据集包含来自MS COCO和Visual Genome的170K幅图像中的160万个问题。它分为12种不同的问题类型,从识别物体或颜色等基本任务到计数或位置辨别等更高级的推理。
A.2.3 TEXT-ORIENTED VQA
- OCRVQA (Mishra et al., 2019) OCR-VQA由207572幅封面图片组成,其中有超过100万个问答对。
- TextVQA (Singh et al., 2019) TextVQA是一个数据集,在28408幅图像上有45336个问题,挑战模型检测、阅读和推理图像中的文本以提供答案。
A.2.4 GROUNDING
- RefCOCO/RefCOCO+ (Liu et al., 2017) RefCOCO和RefCOCO+是从ReferItGame演变而来的。两个子集都聚焦于具有两个或多个相似目标的图像。RefCOCO在19994幅图片中有142209个表达方式,不受语言限制。相反,RefCOCO+强调以外观为中心的描述,省略了位置术语,并在19992幅图像上包含141564个表达式。
- RefCOCOg (Mao et al., 2016) RefCOCOg子集是通过Amazon Mechanical Turk收集的,工作人员在MSCOCO图像中为目标编写自然引用表达式;它拥有85474个引用表达式,涉及26711幅图像,每幅图像包含2到4个相同类别的目标。
- Visual7W (Zhu et al., 2016)。Visual7W数据集主要是为VQA任务设计的,其中有一个专门的子集是为定位VQA设计的。在这个子集中,模型会显示一个图像,并伴有一个“哪一个”类型的问题,例如“角落里的小电脑是哪一个?”。然后,参与者在图像中得到四个边界框,他们必须从中选择正确的一个作为答案。定位的Visual7W部分由25733幅图片和188068个问题组成。
- Flickr30K实体(Plummer et al., 2015)。Flickr30K实体数据集是定位说明文字领域的先驱,包含31783幅图像和158k个说明文字注释。该数据集中的每个说明文字都经过了精心注释,每个名词短语都与手动绘制的参考边界框相链接。在该数据集中总共提供了276k个这样的带注释的边界框。
- VisualGenome (Krishna et al., 2017)。VisualGenome数据集是理解图像中多方面关系的基石。通过收集超过10万幅图像,每张图像都有详细的注释,平均捕获21个目标、18个属性和18个目标间关系。该数据集的一个独特方面是将目标、属性、关系和区域描述与WordNet中的标准化术语对齐。专门为REG和REC任务量身定制,图像中的每个注释区域都配有相应的描述性文本,使其成为图像理解和语义建模的丰富资源。我们使用具有大约86k幅图像和360万个区域-说明文字对的子集作为视觉定位。
B ADDITIONAL FINE-GRAINED EXPERIMENTS
为了全面研究所提出的关于特定主题和问题类型的模型,我们在一个具有代表性的基准TDIUC (Kafle & Kanan, 2017)上进一步进行了广泛的实验。我们使用公开可用的评估集分割作为评估数据,并使用根据其官方脚本计算的VQA准确性作为评估指标。
TDIUC的实验结果将我们的模型与专业的SOTA方法MUREL (Cadene et al., 2019)进行了比较,如图4所示。从实验结果中,我们可以看到,我们的模型在12个特定的问题类型上始终优于之前的模型,与之前的SOTA在整个数据集上的88.2相比,准确率得分为94.0。这些结果表明,我们的模型在一般VQA任务中表现出全面的解决问题的技能。
C COMPUTATIONAL EFFICIENCY
在本节中,我们将我们的模型与其他先进模型的计算效率进行了比较,同时考虑了来自数据集(如VQAv2和TextVQA)的预训练和微调数据。由于优化的架构和高质量预训练数据的利用,与具有可比参数量的模型相比,我们的模型在训练过程中显著降低了资源消耗。
D VISUALGLM
VisualGLM-6B2是一个开源的可视化语言模型,同时支持中文和英文。该语言模型基于ChatGLM-6B,具有62亿个参数;图像部分通过BLIP2-Qformer的训练在视觉模型和语言模型之间架起了一座桥梁,总模型包括78亿个参数。
VisualGLM-6B依赖CogView (Ding et al., 2021)数据集的3000万个高质量中文图像-文本对和3亿个过滤后的英文图像文本对进行预训练,中文和英文的权重相等。这种训练方法将视觉信息与ChatGLM的语义空间很好地对齐。在随后的微调阶段,根据长视觉问答数据对模型进行训练,以生成符合人类偏好的答案。
VisualGLM-6B使用SwissArmyTransformer3(缩写为sat)库进行训练,这是一个用于灵活修改和训练Transformer的实用程序库,支持有效的微调方法,如LoRA和p-tuning。该项目提供了一个用户友好的huggingface界面,以及一个基于sat的界面。
然而,作为一种浅对齐模型,VisualGLM-6B已知具有相当多的局限性,例如图像描述中的事实不准确或模型幻觉、缺乏捕获图像细节信息以及语言模型的一些局限性。
通过模型量化,可以在消费级显卡上进行本地部署(在INT4量化级别下,只需要8.7G的内存)。
2 https://github.com/THUDM/VisualGLM-6B
3 https://github.com/THUDM/SwissArmyTransformer