随着LLM的兴起,由于其强大的语言理解和推理能力,在学术和工业界中越来越受欢迎。LLM的进展也启发了研究人员将LLM作为多模态任务的接口,如视觉语言学习、音频和语音识别、视频理解等,因此多模态大语言模型(Multimodal Large Language Model, MLLM)也引起了研究人员的关注。
然而,目前的研究依赖特定于单模态的编码器,通常在架构上有所不同,并且仅限于常见的模态。
本文提出了OneLLM,这是一种MLLM,它使用一个统一的框架将八种模式与语言对齐。通过统一的多模态编码器和渐进式多模态对齐pipelines来实现这一点。不同多模态LLM的比较如下图所示,可以明显的看出OneLLM框架的工作方式与之前研究的区别。
OneLLM由以下几个核心组件组成:
与之前的工作相比,OneLLM 中的编码器和投影模块在所有模态之间共享。
特定于模态的轻量级模态标记器,每个标记器仅由一个卷积层组成,将输入信号转换为一系列标记。此外,我们添加了可学习的模态标记,以实现模态切换并将不同长度的输入标记转换为固定长度的标记。
参考链接:
https://mp.weixin.qq.com/s/2-C_O0M_w9PD6E2h3BTLbw https://arxiv.org/pdf/2312.03700.pdf
大型语言模型(LLMs)由于其强大的语言理解和推理能力,在研究社区和工业界越来越受欢迎。值得注意的是,像GPT4这样的LLM已经达到了与人类在各种学术考试中几乎相当的表现。
LLMs的进步还激励了研究人员使用LLMs作为多模态任务的接口,例如
在这些任务中,视觉-语言学习是最活跃的领域,在最近半年内就提出了50多个视觉LLMs。
通常,视觉LLM包括
视觉LLM首先在大量成对的图像-文本数据上进行训练,以实现视觉-语言对齐,然后在视觉指令数据集上进行微调,使其能够完成与视觉输入相关的各种指令。
除了视觉之外,还有大量努力投入到开发其他模态特定的LLMs,如音频、视频和点云。这些模型通常复制视觉LLMs的架构框架和训练方法,并依赖于预训练的模态特定编码器和精心策划的指令微调数据集的稳固基础来发挥其效力。
也有几次尝试将多种模态整合到一个MLLM中。作为视觉LLM的扩展,大多数先前的工作使用模态特定的编码器和投影模块将每个模态与LLM对齐。例如,X-LLM和ChatBridge使用独立的Q-Former或Perceiver模型将预训练的图像、视频和音频编码器与LLMs连接起来。
然而,这些模态特定的编码器通常在架构上有所不同,需要付出相当的努力才能将它们统一到一个单一框架中。此外,能够提供可靠性能的预训练编码器通常仅限于广泛使用的模态,如图像、音频和视频。这种限制对MLLMs扩展到更多模态的能力构成了制约。因此,MLLMs面临的一个关键挑战是如何构建一个统一且可扩展的编码器,能够处理广泛的模态范围。
我们从最近关于将pretrained transformers迁移到下游模态的研究中获得了灵感。
上述工作的洞察表明,每个模态的预训练编码器可能不是必需的。相反,一个训练良好的transformers可能作为一个通用的跨模态编码器。
在本文中,我们提出了OneLLM,一个使用统一框架将八种模态与语言对齐的MLLM。如下图所示,
OneLLM由以下几个核心组件组成:
与先前的工作不同,OneLLM中的编码器和投影模块在所有模态中都是共享的。模态特定的标记器(tokenizers),每个只包含一个卷积层,将输入信号转换成一系列标记(tokens)。此外,我们添加了可学习的模态标记(modality tokens),以实现模态切换,并将不同长度的输入标记转换成固定长度的标记。
从头开始训练如此复杂的模型提出了重大挑战。我们从视觉LLM开始,以逐渐的方式将其他模态与LLM对齐。具体来说过程如下,
我们还策划了一个大规模多模态指令数据集,包括八种模态的字幕、问答及推理任务:
通过在这个数据集上进行微调,OneLLM具有强大的多模态理解、推理和指令跟随能力。
我们在多模态字幕、问答和推理基准测试中评估了OneLLM的性能,它比先前的专业模型和MLLMs都有更优越的表现。
LLM的迅猛发展引起了研究人员的重视,因此有研究人员提出了视觉领域的大型视觉语言模型,并取得了较好的性能。除了视觉领域大语言模型之外,研究人员将其拓展到了多模态领域,如音频、视频和点云数据中,这些工作使得将多种模式统一为一个LLM成为可能即多模态大语言模型。X-LLM,ChatBridge,Anymal,PandaGPT,ImageBind-LLM等MLLM不断涌现。然而,当前的 MLLM 仅限于支持常见的模式,例如图像、音频和视频。目前尚不清楚如何使用统一的框架将 MLLM 扩展到更多模式。
在这项工作中,提出了一个统一的多模态编码器来对齐所有模态和语言。将多种模式对齐到一个联合嵌入空间中对于跨模态任务很重要,这可以分为:
判别对齐最具代表性的工作是CLIP,它利用对比学习来对齐图像和文本。后续工作将 CLIP 扩展到音频文本、视频文本等。
本文的工作属于生成对齐。与之前的工作相比,直接将多模态输入与LLM对齐,从而摆脱训练模态编码器的阶段。
上图展示了 OneLLM 的四个主要组件:特定于模态的轻量标记器、通用编码器、通用投影模块和 LLM。
多模态对齐的简单方法是在多模态文本数据上联合训练模型。然而,由于数据规模的不平衡,直接在多模态数据上训练模型会导致模态之间的偏差表示。
本文训练了一个图像到文本模型作为初始化,并将其他模式逐步接地到LLM中(包括图文对齐、多模态-文本对齐)。
在多模态-文本对齐之后,OneLLM 成为一个多模态字幕模型,可以为任何输入生成简短的描述。
为了充分释放OneLLM的多模态理解和推理能力,本文策划了一个大规模的多模态指令微调数据集来进一步微调OneLLM。
在指令调优阶段,完全微调LLM并保持其余参数冻结。尽管最近的工作通常采用参数高效的方法,但凭经验表明,完整的微调方法更有效地利用 OneLLM 的多模态能力,特别是利用较小的 LLM(例如LLaMA2-7B)。
使用AdamW优化器,β1=0.9,β2==0.95,权重衰减为0.1。
Image-Text Evaluation:下表结果表明,OneLLM还可以在视觉专门的LLM中达到领先水平,MLLM和视觉LLM之间的差距进一步缩小。
Video-Text Evaluation:下表可以看出,本文模型在相似的 VQA 数据集上进行训练明显增强了其跨模态能力,有助于提高视频QA任务的性能
Audio-Text Evaluation:对于Audio-Text任务,结果显示,在Clotho AQA上的zero-shot结果与完全微调的Pengi相当。字幕任务需要更多特定于数据集的训练,而QA任务可能是模型固有的零样本理解能力更准确的度量。
Audio-Video-Text Evaluation:下表结果表明,OneLLM-7B在所有三个数据集上都超过了 ChatBridge-13B。由于 OneLLM 中的所有模态都与语言很好地对齐,因此在推理过程中可以直接将视频和音频信号输入到 OneLLM。
Point Cloud-Text Evaluation:从下表中可以看出,由于精心设计的指令提示在任务之间切换,OneLLM可以实现出色的字幕结果,而InstructBLIP和PointLLM 难以生成简短而准确的字幕。在分类任务中,OneLLM也可以获得与 PointLLM 相当的结果。
Depth/Normal Map-Text Evaluation:如下表中所示,与CLIP相比,OneLLM实现了优越的zero-shot分类精度。这些结果证实,在合成deep/normal map-text数据上训练的OneLLM可以适应现实世界的场景。
下图中给出了 OneLLM 在八种模态上的一些定性结果。展示了 OneLLM 可以
以下是OneLLM框架更多的定性分析结果。
pip install -r requirements.txt # install pointnet cd model/lib/pointnet2 python setup.py install
git clone https://github.com/csuhan/OneLLM.git mkdir model_weight cd model_weight git clone https://huggingface.co/csuhan/OneLLM-7B
python3 demos/multi_turn_mm.py --gpu_ids 0 --tokenizer_path config/llama2/tokenizer.model --llama_config config/llama2/7B.json --pretrained_path /data_vdb1/OneLLM/model_weight/OneLLM-7B/consolidated.00-of-01.pth
参考链接:
https://huggingface.co/spaces/csuhan/OneLLM https://huggingface.co/csuhan/OneLLM-7B/tree/main
在这项工作中,本文介绍了 OneLLM,这是一种 MLLM,它使用一个统一的框架将八种模式与语言对齐。
最初,训练一个基本的视觉LLM。在此基础上,设计了一个具有通用编码器、UPM 和 LLM 的多模态框架。通过渐进式对齐pipelines,OneLLM 可以使用单个模型处理多模态输入。
此外,本文工作策划了一个大规模的多模态指令数据集,以充分释放OneLLM的指令跟踪能力。
最后,在 25 个不同的基准上评估 OneLLM,显示出其出色的性能。