| 论文 | https://arxiv.org/pdf/2309.05519.pdf |
|---|---|
| 代码 | https://github.com/NExT-GPT/NExT-GPT/tree/main |


因此,本文提出一种端到端训练的,支持任意模态输入输出MM-LLM(Multimodal Large Language Model)——NExT-GPT。

NExT-GPT主要包含三层架构:
Encoder+Input Projection:利用现有的开源编码器(ImageBind)对多模态输入进行编码,随后通过各自的Projection 模块将多模态Embedding对齐到Text Embedding。
LLM:利用开源 的LLM (Vicuna)作为来处理输入多模态Embedding,进行语义理解和推理。LLM 可以直接输出文本,同时其还将输出一种模态信号指令,来决定调用哪个模态的解码器进行解码输出。

对于特定模态的指令,调用对应模态的Projection模块以及相应的开源Diffusion解码器 (Stable Diffusion (SD) for image synthesis, Zeroscope for video synthesis, and AudioLDM for audio synthesis) 生成对应输出。
整个MM-LLM系统中,Encoder、LLM、Diffusion都是现成的开源预训练模型,只有输入端和输出端的Projection模块需要训练,只有1%的参数需要更新。
- 这样首先避免了难度较大的从头训练人工;
- 其次,这种模块化的预训练模型拼接方式能够方便集成更多的模态;
为了解决不同模态输入和输出之间特征对齐问题,本文分别设计了 Encoding-side LLM-centric Multimodal Alignment 和 Decoding-side Instruction-following Alignment 来进行 Projection 模块的训练。


尽管讲输入和输出都对齐到了LLM的Embedding 空间,但是为了让模型能够生成用户想要的模态的输出,还要进行指令微调。这需要对整个MM-LLM模型采用 (INPUT, OUTPUT) 对进行训练。采用LoRA对一NeXT-GPT的小部分参数进行更新,同时,Projection 模块也需要有两层也需要进行更新。

为此,作者还构建了一个 Modality-switching Instruction Tuning (MosIT) 数据集。
这一部分开的还不是很明白,暂时略过。

模态与任务扩展: 扩展到更多的模态(例如,网页、3D 视觉、热图、表格和图表)和任务(例如,对象检测、分割、定位和跟踪);
考虑更多基座 LLM: 整合不同大小的 LLM,以及其他 LLM 类型。
多模态生成策略: 目前版本的 NExT-GPT 系统仅考虑了基于扩散模型的纯输出方式的多模态输出。然而生成模式容易输出错误幻想内容(Hallucination),并且输出内容的质量往往容易受到扩散模型能力的限制。因此,进一步提升扩散模型的性能很关键,这能直接帮助提高多模态内容的输出质量。另外,实际上可以整合基于检索的方法来补充基于生成的过程的弊端,从而提升整体系统的输出可靠性。
MosIT 数据集扩展:目前 NExT-GPT 所使用的 MosIT 数据集规模受限,这也会限制其与用户的交互表现。后续研究可以进一步提升模态切换指令微调学习策略以及数据集。(这个实际使用确实遇到了这种问题,模型在提供很明确的生成图片或者音频的指令情况下无法执行生成任务,只会输出一句话)