查看原文
其他

一文速览大型语言模型在图文多模态中的应用

都一凡 RUC AI Box 2023-08-04
© 作者|都一凡
机构|中国人民大学高瓴人工智能学院
导师 | 赵鑫教授
研究方向 | 多模态

2022年底,随着ChatGPT的诞生,大型语言模型(LLM)开始大放异彩,并在越来越多的领域中得到应用。然而,LLM通常只在纯文本语料上训练,缺乏对视觉信号的感知能力,因此如何将LLM的能力迁移到图文多模态领域成为一个热门话题。本文将介绍LLM应用在图文多模态领域的几个典型工作。文章也同步发布在AI Box知乎专栏(知乎搜索 AI Box专栏),欢迎大家在知乎专栏的文章下方评论留言,交流探讨! 


LLM调用vision expert

  • Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models


本文的主要出发点在于,虽然ChatGPT在语言领域表现出色,但无法处理来自视觉世界的图像;而视觉基础模型(如ViT或Stable Diffusion)则展现出极强的视觉理解和生成能力,但只在特定任务上具有专业知识,并且只能处理一轮固定的输入和输出。因此,本文提出了Visual ChatGPT系统,该系统结合了不同的视觉基础模型,使用户可以通过以下方式与ChatGPT交互:1)发送和接收不仅是语言,还包括图像;2)提供需要多个人工智能模型协作的复杂视觉问题或视觉编辑指令;3)提供反馈并对结果进行修正。


目前Visual ChatGPT主要支持以下视觉基础模型:



  • MM-REACT: Prompting ChatGPT for Multimodal Reasoning and Action


本文提出了一个系统,将ChatGPT和各种视觉模型相结合,实现了多种多模态任务,并主要通过VQA形式展示了整个系统的功能。在回答问题时,ChatGPT将视觉模型作为工具使用,根据具体问题决定是否使用视觉模型。

这个系统和先前用Caption模型和LLM进行VQA的工作类似:Caption模型将图像转换成文本,然后将其作为证据提供给大模型,最终大模型生成答案。不同之处在于,这里的MM-REACT可以自主决定是否调用视觉模型。


VL大模型


  • Multimodal Few-Shot Learning with Frozen Language Models


Frozen首次提出将LLM用在多模态的in-context learning中。具体做法是:将图像用视觉编码器转成embedding的形式,然后拼接到文本前面,构成图文交叠的数据形式,然后用自回归的形式预测下一个token。在整个训练过程中,LLM是冻结的,而视觉编码器是可训练的,从而使最终得到的模型既保留了语言模型的能力,又具备了多模态的上下文学习能力。


  • Flamingo: a Visual Language Model for Few-Shot Learning


Flamingo在Frozen的基础上进行了进一步的探索和改进。它使用更大的LLM进行训练,并将视觉编码器也冻结。同时引入了perceiver resampler和XAttn-Dense作为可训练的模块。其中perceiver resampler的作用是从图像中提取固定长度的特征向量,XAttn-Dense的作用是插入到LLM中与视觉向量进行交互。Flamingo在zero-shot和few-shot的场景下都得到了不错的结果,在很多数据集上的效果甚至超越一些fine-tune的模型。


  • Language Is Not All You Need: Aligning Perception with Language Models


KOSMOS-1是一个在大规模多模态语料上完全从头训练的一个多模态模型,所用的数据形式包括交织的图片和文本,图像-caption,以及纯文本。该模型也是一个decoder-only的模型,通过next token prediction来进行预训练。

为了使得KOSMOS-1能够更好地理解人类指令,在预训练结束之后,还加入了Unnatural Instruction[1] 和FLAN v2[2] 进行指令微调。


  • BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models


BLIP-2在对图像进行编码时采用了和Flamingo相似的方式,即用一个Qformer模型抽取图像特征,这个Qformer的作用和Flamingo的perceiver resampler类似;然后通过cross-attention进行图文的交互。在训练时,BLIP-2将视觉编码器和LLM都冻结,只微调Qformer;而在具体的下游任务数据集上微调时,再解锁视觉编码器,和Qformer一同微调。


BLIP-2的整个训练过程分为两个阶段:第一阶段只有Qformer和视觉编码器参与训练,通过经典的多模态预训练任务 (Image-Text Matching, Image-Text Contrastive Learning, Image-Grounded Text Generation) 使得Qformer学习如何从视觉编码器中抽取文本相关的特征。第二阶段则将Qformer编码的向量插入LLM中,进行caption生成。文章分别针对encoder-decoder和decoder-only架构的模型做了不同的设计。


BLIP-2在vqa的zero-shot和fine-tune的场景下都有不错的表现,同时在同一任务不同数据集之间也有较好的迁移能力。


  • LLaMA-Adapter: Efficient fine-tuning of language models with zero-init attention

本文的主要目的是通过在LLaMA中插入adapter实现高效的指令微调,这种方式可以扩展到多模态场景下。这里的adapter是一些adaptation prompt向量,拼接到Transformer的最后L层,作为一些可微调的参数。当拓展到多模态场景下时,图片首先通过一个被冻结的视觉编码器被编码成多尺度的特征向量,然后通过拼接、投影的操作汇聚成一个向量后,逐元素地加到adaption prompt向量中。


  • MiniGPT-4


本文是基于BLIP-2和Vicuna,对GPT-4的一些功能进行复现。作者将BLIP-2的Qformer和视觉编码器直接迁移过来,连同LLM一同冻结,只留下视觉端的一个线性层参与微调,将可微调的参数压缩到了15M。同时也采取了两阶段的微调策略,在第一阶段的训练过程中采用caption generation作为训练任务,第二阶段则构造了一些高质量的图文对进行进一步的微调。


在第二阶段的数据构造时,作者首先使用第一阶段的模型生成多个caption,然后用ChatGPT进行改写,得到详细生动的caption,再用这部分图文对进行第二阶段微调。


  • Visual Instruction Tuning


本文和MiniGPT-4类似,但是采用了不同的数据生成策略和训练策略,得到了多模态指令微调的模型LLaVA。


首先在数据生成方面,LLaVA用GPT-4 (language-only)构造更多样的指令微调的数据,包括:多轮对话的QA,图像描述、复杂推理,使得模型能够应对各种各样的query。由于GPT-4目前开放的接口只能接收文本,因此需要将图片信息转成文本。本文使用了COCO中为每张图片标注的5个caption和bounding box的坐标,作为图像的文本描述输入给GPT-4。


其次在训练策略方面,模型也采用了两阶段的训练策略:第一阶段从cc3m中按照一定规则过滤出60万条图文对,用language model loss对模型进行微调。微调的过程中冻结视觉和语言模型,只微调线性层;第二阶段用上面介绍的数据生成策略生成16万条指令微调的数据,同样用language model loss对模型进行微调。微调的过程中冻结视觉模型,微调线性层和语言模型。


VLP + LLM (PLM)


  • An Empirical Study of GPT-3 for Few-Shot Knowledge-Based VQA



本文第一次探索了用LLM解决VQA任务,提出了PICa。为了使得LLM能够“看见”图片,作者首先通过一个caption模型将图片转成caption,然后和问题一起送入GPT-3,构成(question, caption, answer)的三元组,通过in-context learning的方式让GPT-3回答新的问题。最终在few-shot in-context learning的场景下,GPT-3能够超越Frozen,但是仍然弱于Flamingo。主要原因是在图像转成caption的过程中,会损失一定的视觉信息,而这些视觉信息对回答问题是至关重要的。


  • Plug-and-Play VQA: Zero-shot VQA by Conjoining Large Pretrained Models with Zero Training


本文同样也是用caption模型和PLM解决VQA,提出了PNP-VQA方法,只是在PLM的选择上使用了问答模型:UnifiedQAv2,实现了zero-shot的VQA。为了改进PICa中存在的caption丢失图像信息的情况,本文在生成caption之前,首先使用了一个Image-Question Matching模块,选择出图像中和问题最相关的一些patch,针对这些patch生成caption,然后送入UnifiedQAv2中作为context,从而使得生成的caption和问题相关。


  • From Images to Textual Prompts: Zero-shot VQA with Frozen Large Language Models


本文在使用LLM解决VQA任务时,认为主要有两个障碍:(1) modality disconnection:LLM无法处理视觉信息;(2) task disconnection: LLM通过文本生成的方式进行预训练,在不经过微调的情况下无法很好地利用caption进行VQA。因此,作者提出通过(question, answer) pairs传递视觉信息。具体而言,首先用caption模型或PNP-VQA中的方法生成图片的caption,然后抽取出其中的名词、形容词等可能作为某个问题答案的词,进一步地使用一个question generation的模型生成相应的问题,从而构建起(question, answer) pair。如下图所示:



这些信息作为in-context learning中的demonstrations,帮助LLM回答关于该图片的问题。


参考文献


[1] Or Honovich, Thomas Scialom, Omer Levy, and Timo Schick. Unnatural instructions: Tuning language models with (almost) no human labor, 2022.

[2] Shayne Longpre, Le Hou, Tu Vu, Albert Webson, Hyung Won Chung, Yi Tay, Denny Zhou, Quoc V Le, Barret Zoph, Jason Wei, et al. The flan collection: Designing data and methods for effective instruction tuning. arXiv preprint arXiv:2301.13688, 2023.


封面来源:https://www.searchenginejournal.com/openai-releases-gpt-4-now-available-in-chatgpt/482199/#close


多推荐


浅探大型语言模型在信息检索中的应用


ICLR 2023 | UniKGQA: PLM+KG新架构,同时适配检索和推理!

百篇论文纵览大型语言模型最新研究进展



点击下方“阅读原文”前往知乎专栏
↓↓↓

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存