多模态大语言模型:让AI看图说话

发布时间:2023-08-07 07:00

 

1、 背景

 

以ChatGPT为代表的生成式大语言模型(large language model, LLM)展现了非凡的文本理解与生成能力,带动了大家对AI生成能力的兴趣。开源大模型llama、falcon等进一步降低了构建生成模型的门槛。借助人类反馈强化学习(RLHF)和高效参数微调(PEFT)等技术,许多研究者和公司都开发了效果不错的文生AI,如Vicuna等。

 

既然AI具备了优秀语言理解和生成能力,人们自然想到可否扩展它们的能力,使得它们能理解图像视频等视觉信息,并抽象出更高层次的语言表达,比如分析图像中的场景,理解其中内容,并根据内容自动产生对话或其它复杂的文本表达。

 

实际上,让AI具备看图说话的能力一直是AI研究的热点。从早期的RCNN,到影响很大的CLIP,AI对图像的语言理解技术一直在迭代。随着大语言模型的能力提升,将视觉语义模型与LLM结合,以获得优秀的看图说话能力成为当前探索的热点方向。

 

本文主要分析了看图说话的多模态模型的构成,探索了多模态融合的前沿发展。实际上AI看图说话并不是依赖单一基础算法。通过整理当前的进展,本文也对深度学习相关领域最新的理论和技术做了简要梳理。

 

2、看图说话AI的基本构成

 

众所周知,当前语言大模型已经发展到了相当的高度,在许多方面达到了近似人类的反应水平。一个自然的想法是为一个大语言模型加上图像理解能力,从而扩展大模型看图说话的能力。事实上,这正是目前主流多模态语言模型(multimodality LLM)的实现路径。典型的MLLM一般包括三部分:

 

1.用于图像特征提取的深度视觉模型

 

2.融合视觉与文本特性的混合器

 

3.根据输入多模态信息生成文本的大语言模型

 

在上述构成中,视觉和语言模块往往利用预训练现有模型,混合器是新增模块。相应地,在构造新的多模态大语言模型时,我们可以固定预训练参数,仅仅调整混合器部分参数,从而减少训练难度。

 

以当前流行的BLIP2[1]结构为例,整个模型有三个组件,如下图:

 

图1 BLIP2架构(Fig.1 in [1])

图片来源:https://arxiv.org/pdf/2301.12597.pdf

 

其中,视觉模型一般选择预训练的CLIP VIT[2]。LLM也选择预训练的大模型,比如当前风头正劲的LLaMA。当然不同方案也选择了其它LLM,比如flan-T5、chatGLM-6B等。整个结构真正需要调整的是混合两种模态的Q-Former。在后文分析中我们可以看到,该模块利用cross-attention计算将视觉特征引入了LLM。视觉特征引入LLM是多模态语言模型的一个关键,我们会进一步探究不同的实现方式。

 

值得注意的是,在目前的MLLM方案中,模型主体仍然是具有优秀文本生成能力的大语言模型。体现在总参数量占比上,视觉和混合模块的参数量往往只占整体很少一部分。当然,这样小部分模块是大语言模型具备多模态能力的关键。

 

3、 视觉/多模态特征提取

 

如前文所述,MLMM用一个独立的视觉模块提取图像特征。这个模块一般采用预训练的视觉模型,包括CNN或ViT结构的网络。以BLIP2为例,它直接集成了预训练的CLIP视觉部分ViT-L/14。这是一个24层的transformer架构模型。如常见ViT一样,它将图像切块投影后输入encoder网络,将输出的隐状态变量作为MLLM的视觉特征输入。

 

除了BLIP2,最近发展的许多MLLM,如MiniGPT-4[3],Flamingo[4]等,都选用了类似的ViT模块作为视觉特征提取模块。

 

需要指出的是,图像仅仅是多模态的一种,通过合适的方式,我们也可以提取声音、红外等不同模态数据特征,与大语言模型组合,实现更丰富的多模态理解与文本生成。PandaGPT [5]就利用了这一思路。它集成了开源的多模态模型ImageBind,可以提取声音、视频、文本、深度、热感应、加速度等多种模态的信息,通过适当混合,与大语言模型Vicuna结合。这也是多模态大语言模型(MLLM)名字的来源。

 

图2 融合多模态信息的PandaGPT( Fig1. in[5])

图片来源:https://arxiv.org/pdf/2305.16355.pdf

 

 4、混合器:视觉与文本的交互

 

多模态语言生成的关键是特征混合模块。根据视觉与文本特征的交互方式,现有MLLM的特征混合方式可以归纳为三类:X-attention, 特征相加和特征合并。

 

4.1 X-attention

 

X-attention是指视觉特征与文本token特征以cross attention的方式交互,其输出作为LLM的输入。注意这里的文本token不是常规的文本,而是训练阶段新增的一些可训练token变量,专门用于视觉信息变换到LLM的输入空间。从具体组合来看,X-attention又可以分作两类:

 

  1. LLM固定

 

这类方式直接利用预训练的LLM,完全固定LLM结构及参数,仅仅调整新增混合器模块的参数。我们以BLIP2为例来理解这种交互方式。

 

图3 BLIP2推理实现流程

 

BLIP2训练阶段会产生专门的query tokens。输入图像经过vision encoder得到的视觉特征与query tokens在Qformer做cross attention,其结果经过线性映射后与输入的提示text input一起输入到LLM中生成文本。可以看出,视觉特征的交互在Qformer模块完成。

 

  1. LLM新增子模块

 

另外一些MLLM如Otter[6]、multi-modal GPT[7]等借鉴了OpenFlamingo结构。Flamingo是DeepMind提出多模态语言模型,而Stability-AI在这个思想上开发了开源的OpenFlamingo。 如图所示,紫色部分为新增模块,除了类似BLIP Qformer的混合模块Perceiver Resampler外, Flamingo架构还在LLM中插入了Gated XATTN模块,将包含有视觉信息的混合器输出进一步与LLM各层产生的text中间feature在Gated XATTN模块混合。因此,Flamingo结构的模型还需要训练插入LLM中Gated XATTN的参数。

 

图4 Flamingo结构示意(Fig.1 in [4])

图片来源:https://www.deepmind.com/blog/tackling-multiple-tasks-with-a-single-visual-language-model

 

从目前泄露的信息来分析,OpenAI可能也参考了Flamingo架构来实现GPT-4的读图能力。

 

4.2. 特征相加

 

LLaMA-Adapter[8]是在大语言模型LLaMA基础上开发的MLLM。它也采用CLIP ViT来提取图像特征,但采用相加的方式来引入视觉特征。LLaMA-Adapter会在训练阶段产生adaption token。在推理阶段,视觉特征经线性投影后与adaption tokens相加,输入到LLM的后L层。这些信息作为KV值,再与LLM前面层的文本特征混合及合并,得到最终输出。

 

图5 特征相加 (Fig.3 in [8])

图片来源:https://arxiv.org/pdf/2303.16199.pdf

 

LLaMA-Adapter在LLM中混合视觉特征时引入了一个特殊的softmax计算,分别计算text和text-visual的attention权重后再叠加。从这个角度理解,这个操作也隐含了近似cross attention的计算。

 

4.3. 特征合并

 

PandaGPT、LLaVA[9]等模型则采用了简单的特征合并concat的混合方式。PandaGPT的视觉特征经过线性映射后与text input直接合并,一起输入LLM,如图2所示。另外图2中的LoRA部分是指对Vicuna做参数高效微调以使得LLM适应多模态应用。

 

类似地,LLaVa也是将Vision decoder的特征做线性映射到LLM的输入特征维度,与指令text合并输入到LLM。

 

 

图6 LLaVA的特征合并[9]

图片来源:https://arxiv.org/pdf/2304.08485.pdf

 

 5、结论与思考

 

看图说话是指根据输入的文本和图像产生合理的对话与故事的能力。随着LLM能力的提升,结合视觉提取模型的多模态大语言模型已经能够获得相不错的看图说话能力。本文探索了当前MLLM的主要结构,并归纳了实现多模态理解能力的关键技术。当前,大语言生成技术在快速迭代中,近期出现了包括LLaMA2、MPT等一批新的LLM结构和模型。随着相关领域的进展,新的多模态融合与语言理解方法也会不断发展。相信在不远的将来,多模态大语言模型能力会有进一步的突破。

 

 

参考文献

[1] J. Li, et.al., BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models, arXiv:2301.12597v3.

[2] A. Radford, et.al., Learning Transferable Visual Models From Natural Language Supervision, arXiv:2103.00020.

[3] D. Zhu, et.al., MiniGPT-4: Enhancing Vision-Language Understanding with Advanced Large Language Models, arXiv:2304.10592v1

[4] Tackling multiple tasks with a single visual language model, DeepMind, 2022.04, https://www.deepmind.com/blog/tackling-multiple-tasks-with-a-single-visual-language-model.

[5] Y. Su, et.al., PandaGPT: One Model To Instruction-Follow Them All, arXiv:2305.16355v1.

[6] B. Li, et.al., Otter: A Multi-Modal Model with In-Context Instruction Tuning, arXiv:2305.03726v1.

[7] T. Gong, et.al., MultiModal-GPT: A Vision and Language Model for Dialogue with Humans, arXiv:2305.04790v3.

[8] R. Zhang, et.al., Llama-adapter: Efficient fine-tuning of language models with zero-init attention, arXiv:2303.16199, 2023.

[9] H. Liu, et.al., Visual Instruction Tuning, arXiv:2304.08485v1.

上一个: 大模型推理:从模型分析到计算优化(二)

下一个: 大模型演变:模型结构对比(一)

近期文章

大模型推理:从模型分析到计算优化(二)

大语言模型被普遍认为可以带来无数充满想象力的应用场景,也正是因为如此,它被视为是通用人工智能的一个重要的前进方向。本系列文章将围绕大语言模型的推理,分析推理背后的算法逻辑和特征,为算法实现提供简便的评估方案,再结合几种典型的硬件场景展开评估与分析,为打算实现模型推理的用户提供一些参考。本篇文章将定量讨论在单卡上大语言模型推理性能的估算,并呈现在典型的场景下各个性能指标跟随设定参数产生的丰富变

2023-09-04

多模态大语言模型:让AI看图说话

让AI具备看图说话的能力一直是AI研究的热点。从早期的RCNN,到影响很大的CLIP,AI对图像的语言理解技术一直在迭代。随着大语言模型的能力提升,将视觉语义模型与LLM结合,以获得优秀的看图说话能力成为当前探索的热点方向。本文主要分析了看图说话的多模态模型的构成,探索了多模态语言模型的前沿发展,并归纳了实现多模态理解能力的关键技术。

2023-08-07

查看更多