NExT-GPT: Any-to-Any Multimodal LLM
时间:2023.9
论文:https://arxiv.org/abs/2309.05519
代码:https://github.com/NExT-GPT/NExT-GPT
一、背景
之前的多模态大模型(MM-LLM)大多局限于仅感知多模态数据,而没有以任意模态生成内容的能力
为了使LLM能够具有多模态输入和输出,一些努力探索了采用LLM作为决策者,并利用现有的现成的多模态编码器和解码器作为工具来执行多模态输入和输出
二、现存问题
(1)不同模块之间的信息传输完全基于LLM产生的离散文本,其中级联过程不可避免地引入噪声并传播错误
(2)整个系统只利用现有的预训练工具进行推理,由于缺乏全面的端到端培训(跨整个系统的综合调整),内容理解和多模式生成的能力可能非常有限,特别是在解释复杂和隐含的用户指令方面
三、创新点
- 第一次提出一个端到端通用的 Any-to-Any MM-LLM,命名为NExT-GPT,能无缝处理四种模式任何组合的输入和输出:文本,图像,视频和音频
- 引入了轻量级对齐学习技术
编码端 --> 采用LLM为中心的对齐
解码端 --> 采用遵循规则的对齐
有效地只需要最小的参数调整(仅1%的参数),同时保持高效的语义对齐 - 注释了高质量的模态切换指令调优 (MosIT) 数据集,涵盖文本、图像、视频和音频的各种模态组合中的复杂指令
四、模型
1. 整体架构
NExT-GPT的系统配置具体如下所示
155M(=28+33+31+31+32) / [155M + 12.275B(=1.2+7+1.3+1.8+0.975)]
即只有1%的参数需要被更新
(1) 多模态编码阶段
利用已建立的编码器对各种模态的输入进行编码,这些表示通过投影层被投影成LLM可理解的类似语言的表示(此处应用跨六种模态的统一高性能编码器 ImageBind)
ImageBind: One Embedding Space to Bind Them All
论文:https://openaccess.thecvf.com/content/CVPR2023/html/Girdhar_ImageBind_One_Embedding_Space_To_Bind_Them_All_CVPR_2023_paper.html
代码:https://github.com/facebookresearch/ImageBind
一种学习联合嵌入六种不同模式-图像、文本、音频、深度、热学和IMU数据的方法
其研究表明,训练这样的联合嵌入并不需要所有配对数据的组合,并且只有图像配对数据足以将模态绑定在一起
(2) LLM理解与推理阶段
利用现有的开源LLM作为核心来处理输入信息,以进行语义理解和推理(此处应用基于文本的 Vicuna (7B-v0))
Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality
时间:2023
代码:https://github.com/lm-sys/FastChat
该模块输出:
A. 直接的文本响应
B. 唯一的“模态信号”标记,其用作指示解码层是否生成多模态内容以及如果是则产生什么内容的指令。
(3) 多模式生成阶段
投影后产生的具有特定指令的多模态信号被路由到不同的编码器(基于潜在条件扩散模型),并最终生成相应模态的内容
2. 轻量级多模态对齐学习
为了弥合不同模态的特征空间之间的差距,并确保对不同输入的流畅语义理解,必须对NExT-GPT执行对齐学习
(1) 编码端:以LLM为中心的多模态对齐
大多数现存MM-LLM,通过线性层直接将多模态特征投影到文本特征空间中,从而将多模态特征转换为核心LLM可理解的特征
(2) 解码端:指令跟随对齐
集成了来自外部资源的预训练条件扩散模型,主要目的是将扩散模型与LLM的输出指令对齐
扩散模型生成仅以面向文本的表示为条件的内容,这导致了一个缺口,该缺口阻止了扩散模型准确地解释来自LLM的指令
作者考虑将LLM的模态信号令牌表示(在每个基于变换器的项目层之后)作为去噪过程中的条件输入,以引导扩散模型生成适当的图像、视频或音频;另一方面,我们也提出最小化投影信号记号表示与扩散模型的条件文字表示之间的距离,以加速比对学习
该论文设计了三种类型的特殊令牌,而不是输出简单的文本指令,具体如下所示
“[IMGi]”(i = 0,· · ·,4)作为图像信号令牌
“[AUDi]”(i = 0,· · ·,8)作为音频信号令牌
“[VIDi]”(i = 0,· · ·,24)作为视频信号令牌
这些令牌隐含地携带用于下游扩散模型的丰富且灵活的指令
如果LLM标识要产生的特定模态内容,则将输出指示该模态的激活的特殊类型的令牌;否则,没有特殊令牌输出意味着该模态的停用
3. 模态切换指令调优(MosIT)
(1) 指令调优(IT)
我们利用LoRA,以使NExT-GPT内的一小部分参数能够在指令调优阶段期间与两层投影同时更新
指令调优对话样本被馈送到系统中时,LLM重构并生成输入的文本内容(并用多模态信号令牌表示多模态内容),基于黄金注释(Gold Annotation)和LLM的输出进行优化
除了LLM调优之外,还对模型解码端进行了微调。具体来说,将由输出投影编码的模态信号标记的表示与由扩散条件编码器编码的黄金多模态说明表示对齐
全面的调优过程更接近于与用户进行忠实和有效交互的目标