进展跟踪链接(Awesome-MLLM,实时更新):https://github.com/BradyFU/Awesome-Multimodal-Large-Language-Models
近年来,大型语言模型Large Language Models(LLM)的研究取得了显著的进展(例如GPT-3,LLaMa,ChatGPT,GPT-4),这些模型在各项自然语言处理(NLP)任务上展现了出色的性能。
通过在海量数据上预训练,LLM获得了丰富的知识以及强大的推理能力。只需要输入一些用户指令,这些模型就可以解析指令、进行推理并给出符合用户预期的回答。
LLM具有的一些典型能力包括:
- · 执行训练时未见过的新任务;
- · 通过少量样例完成新任务;
- · 通过推理链条执行复杂的推理任务;
- · 协调各种模型与工具完成复合任务。
这些能力背后蕴含着众多关键思想和技术,包括指令微调(Instruction Tuning),上下文学习(In-Context Learning)和思维链(Chain of Thought)等。
多模态大型语言模型
尽管大语言模型在NLP领域取得了长足的发展,相应的模型与技术在多模态领域则较少探索,且传统视觉-语言模型仍存在着泛化性不足以及缺乏推理能力等局限。
为此,近期众多学者将注意力转向一个新兴的方向:多模态大型语言模型Multimodal Large Language Models(MLLM)。
其主要思想是以LLM作为「大脑」对输入的多模态信息进行整合、推理、分析和决断,从而完成人类交付的任务。
从发展通用人工智能的视角看,相比于LLM,MLLM又向前迈进了一步,且具有以下优点:
· 更符合人类认知世界的习惯。人类具有多种感官,接受多种模态信息,这些信息常常是互补的、协同作用的。因此,使用多模态信息一般可以更好地认知与完成复杂任务;
· 更加强大与用户友好(User-Friendly)的接口。通过支持多模态输入,用户可以通过更加灵活的方式传达信息;
· 更广泛的任务支持。LLM通常只能完成NLP相关任务,而MLLM通过接入多模态可以完成更多任务。
从系统设计的角度来看,MLLM可以分为两类:
· LLM作为推理器的、支持多模态输入的认知推理系统;
· LLM作为规划器/调度器/决策器的多工具协作系统。
前者一般通过可训练的多模态转换接口将多模态信息转化为LLM可以直接接收、处理的形态,使LLM可以基于这些多模态信息以及用户指令进行认知与推理。
后者通常以LLM作为规划器/调度器/决策器[1],将用户交付的复杂任务分解为更简单的子任务,并派发给合适的模型/工具,最后整合结果并输出。
我们采取另一种视角,聚焦于MLLM背后的关键技术与实现方式,对相关工作进行了调研与总结,将MLLM划分为以下几类:
· 多模态指令微调(Multimodal Instruction Tuning)
· 多模态上下文学习(Multimodal In-Context Learning)
· 多模态思维链(Multimodal Chain-of-Thought)
· LLM辅助的视觉推理(LLM-Aided Visual Reasoning)
下面我们将对这几类工作进行简要介绍。
多模态指令微调(Multimodal Instruction Tuning)
多模态指令微调的基本做法是使用统一的模板将各类数据统一起来,并以指令的形式描述任务需求,形成多模态指令数据,再使用这种数据去微调MLLM。
由于训练与测试时的指令形式具有一致性,LLM可以凭借其强大的语义理解和推理能力,更灵活地泛化到其他任务,获得强大的零样本学习能力。
多模态指令数据的基本形式可以概括为(指令,多模态输入,回答)三元组。
一种直观的获得这种数据的方式是改造基准(Benchmark)数据集,我们以图像描述(Image Captioning)为例,如下图1所示:
图1. 多模态指令数据示例
原本的Caption数据样本包括一张图片和一段文字描述(Ground Truth),这种数据-GT的配对数据自然构成了指令数据的多模态输入和回答部分。
指令部分则为相应任务的描述,一般由人工编写或者调用GPT生成。
在进行多模态指令微调时,MLLM转化多模态输入并送入LLM中,LLM基于多模态信息与指令文本预测答案。
多模态上下文学习(Multimodal In-Context Learning)
多模态上下文学习的核心思想是从类比中学习。比如,我们在学习时一般接触到的形式如下:
通过学习例题,我们在遇到新的问题时,可以通过类比例题学习基本思想与方法,从而解决新的问题。
此外,例题还能规范我们的回答格式,更有利于得到正确的、符合预期要求的答案。
如下图2所示,通过样例让模型预测3x7的计算结果。
图2. 多模态上下文数据示例,通过样例让模型预测3x7的计算结果
多模态思维链(Multimodal Chain-of-Thought)
思维链即一系列中间推理步骤[2]。多模态思维链的基本思想是使模型学会逐步输出中间步骤,最后推理出最终答案,如下图3所示:
图3. 多模态思维链数据示例
相比于直接输出答案的方式,思维链:
· 更符合人类推理习惯:基于之前的推理步骤与结果,逐步导向最终答案;
· 适用于复杂的推理任务,将复杂问题分步求解,提高回答的准确性。
LLM辅助的视觉推理(LLM-Aided Visual Reasoning)
利用LLM作为决策与推理机构,调用各种多模态模型和工具并整合输出,得到最后的答案。根据完成任务的方式一般可分为单轮模型与多轮模型。
单轮模型的基本思想是由LLM作为规划器、调度器和决策器协调各个模型/工具完成任务,一般需要完成以下职能[1]:
· 规划器:将复杂任务分解为可解的子任务;
· 调度器:将子任务派发给合适的模型/工具;
· 决策器:管理子任务执行顺序,整合子任务结果得到最终答案。
多轮模型基于迭代的思想,不断积累视觉认知,直到足够自信得到最终答案。在这个过程中,LLM需要整合之前的步骤 (提出的问题与已获得的视觉认知信息),判断是否可以输出最终答案[3]。
相关论文详见:https://github.com/BradyFU/Awesome-Multimodal-Large-Language-Models