note
(一)现有的 MM-LLM 的趋势:
(1)从专门强调 MM 理解对特定模态的生成的进展,并进一步演变为任何到任何模态的转换(例如,MiniGPT-4 → MiniGPT-5 → NExT-GPT);
(2) 从 MM PT 提升到 SFT,然后到 RLHF,训练管道进行连续细化,努力更好地与人类意图对齐并提高模型的会话交互能力(例如,BLIP-2 → InstructBLIP →DRESS);
(3) 实施多样化模态扩展(例如,BLIP-2 → X-LLM 和 InstructBLIP→X-InstructBLIP);
(4) 结合更高质量的训练数据集(例如,LLAVA → LlaVA1.5);
(5) 采用更有效的模型架构,从 BLIP-2 和 DLP 中的复杂 Q-Former 输入投影仪模块过渡到更简单但有效的 VILA。
(二)更高分辨率编码器能为LLM提供更多图像信息,但也带来更长的sequence token。如LLAVA-1.5 和 VILA 采用 336 × 336 的分辨率,而 Qwen-VL 和 MiniGPT-v2 利用 448 × 448。
(三)还是要使用高质量的SFT图文数据,如LLAVA-1.5和VILA-13B中加入ShareGPT4V数据证明了这一点。
(四)VILA揭示了几个关键发现:
(1)在LLM主干上执行PEFT促进了深度嵌入对齐,这对ICL至关重要;
(2)交错的图像-文本数据被证明是有益的,而单独的ImageText对是次优的;
(3)在SFT期间,将纯文本指令数据(如不自然的指令(Honovich et al., 2022))与图像文本数据重新混合-用于微调,不仅解决了纯文本任务的退化,而且提高了VL任务的准确性。
文章目录
- note
- 综述一:A Survey on Multimodal Large Language Models
- 一、多模态LLM的组成部分
- (1)模态编码器
- (2)语言模型
- (3)连接器
- 二、预训练
- 三、SFT微调
- 四、RLHF对齐训练
- (1)使用常见的PPO
- (2)使用DPO直接偏好对齐
- (3)常见用于对齐的偏序数据集
- 综述二:MM-LLMs: Recent Advances in MultiModal Large Language Models
- 一、主流的MM-LLMs分类
- 二、MM-LLM的不同模块
- 三、主流MM LLM的效果
- Reference
综述一:A Survey on Multimodal Large Language Models
论文链接:https://arxiv.org/pdf/2306.13549.pdf
项目链接:https://github.com/BradyFU/Awesome-Multimodal-Large-Language-Models
2024年4月1号更新的一篇paper。
一、多模态LLM的组成部分
常见的多模态LLM结构:
- 对于多模态输入-文本输出的典型 MLLM,其架构一般包括编码器、连接器以及 LLM。
- 如要支持更多模态的输出(如图片、音频、视频),一般需要额外接入生成器,如上图所示
- 三者的参数量并不等同,以 Qwen-VL [1] 为例,LLM 作为“大脑”参数量为 7.7B,约占总参数量的 80.2%,视觉编码器次之(1.9B,约占 19.7%),而连接器参数量仅有 0.08B。
(1)模态编码器
- 模态编码器:模态编码器负责将原始的信息(如图片)编码成特征,连接器则进一步将特征处理成 LLM 易于理解的形式,即视觉 Token。LLM 则作为“大脑”综合这些信息进行理解和推理,生成回答。
- 视觉编码器:对于视觉编码器而言,增大输入图片的分辨率是提升性能的有效方法。
- 一种方式是直接提升分辨率,这种情况下需要放开视觉编码器进行训练以适应更高的分辨率,如 Qwen-VL [1] 等。
- 另一种方式是将大分辨率图片切分成多个子图,每个子图以低分辨率送入视觉编码器中,这样可以间接提升输入的分辨率,如 Monkey [2] 等工作。
- 除了常用CLIP图像编码器,像MiniGPT-4使用了EVA-CLIP、ViT-G/14编码器。一些常用的图像编码器:
(2)语言模型
(3)连接器
- 连接器:相对前两者来说,连接器的重要性略低。
- 从上图中可以看出连接器有三种形式:projection-based、query-based、fusion-based connectors(第三种是使用MHA多头注意力)
- 例如,MM1 [7] 通过实验发现,连接器的类型不如视觉 token 数量(决定之后 LLM 可用的视觉信息)及图片的分辨率(决定视觉编码器的输入信息量)重要。
在后面第二篇综述中也有介绍到连接器(叫Input projector更合适):
二、预训练
经常会使用image caption task图片字幕数据对进行预训练,冻结图像编码器和LLM,只更新learnable interface的参数。如果数据中脏数据较多,可以使用较低分辨率(如224)加速训练,如果数据还算干净,可以使用较高分辨率(如448)减少模型的幻觉。
比如cogvlm:预训练第一阶段:图像描述损失函数
在预训练的第一阶段中,模型训练的是图像描述损失函数(image captioning loss),即对文本部分进行下一个标记的预测。预训练的第一阶段使用了上述提及的15亿个图像文本对,共进行了12万次迭代,批量大小为8192。常见的预训练语料:
三、SFT微调
多模态的SFT和LLM的SFT类似也是自回归预测:
多模态SFT数据需要让prompt多样化、任务覆盖全面。常见prompt模版如下:
常见的多模态SFT指令微调语料:
四、RLHF对齐训练
(1)使用常见的PPO
RLHF(reinforcement learning from human feedback)
- 分为三个步骤
- step1 我做你看:有监督学习,从训练集中挑出一批prompt,人工对prompt写答案。其实就是构造sft数据集进行微调。
- step2 你做我看:奖励模型训练,这次不人工写答案了,而是让GPT或其他大模型给出几个候选答案,人工对其质量排序,Reward model学习一个打分器;这个让机器学习人类偏好的过程就是【对齐】,但可能会导致胡说八道,可以通过KL Divergence等方法解决。
- instructGPT中奖励模型的损失函数如下,其中 rθ(x,y) 是奖励模型对提示x和完成y的标量输出,具有参数θ,
- 每个样本包括
question
、response_chosen
、response_rejected
键值对,每对样本的loss定义:
- 其中上面的符号:
- 上面是instructGPT的ranking loss,但是llama2中增加一个离散函数
- step3 自学成才:PPO训练,利用第二阶段的奖励模型RM计算奖励分数,同时使用PPO(近端策略优化)更新第一步训练得到的sft模型,最大优化该目标函数:
-
-
-
- KL奖励系数β和预训练损失系数γ分别控制KL惩罚和预训练梯度的强度。对于“PPO”模型,γ 设为 0。
(2)使用DPO直接偏好对齐
- 论文:《Direct Preference Optimization: Your Language Model is Secretly a Reward Model 》
- 论文地址:https://arxiv.org/abs/2305.18290
- 背景:RLHF是一个复杂、不稳定、难训练的过程(用reward model进行ppo强化学习等),而DPO可以避开训练奖励模型这个步骤,直接对排序数据集进行直接偏好学习。将对奖励函数的损失转为对策略的损失,优化和RLHF相同的目标函数(KL散度限制下,最大化reward)。
- 相关原理: 和RRHF相似,但带有一个sft模型约束(KL散度),保证不加sft Loss情况下训练不崩溃。原本基于RL的目标,现在通过BCE二元交叉熵来优化(不需要再训练期间明确学习奖励函数or从策略中采样)。
- 有监督损失函数,DPO优化的目标函数:
- DPO更新参数,目标函数:
- 注意:奖励函数
- 目标函数含义:如果是好答案,则尽可能增大被policy策略模型生成的概率
- 对上面的目标函数的梯度:
结果:在 RLHF 用于拟合奖励模型的交叉熵损失也可用于直接微调 LLM。根据他们的基准测试,使用 DPO 的效率更高,而且在响应质量方面也通常优于 RLHF/PPO。
(3)常见用于对齐的偏序数据集
- LLAVA-RLHF[112]。它包含从人类反馈中根据诚实和有用性收集的 10K 偏好对。该数据集主要用于减少模型响应中的幻觉
- RLHF-V[114]。它有 5.7K 细粒度的人类反馈数据,由段级幻觉校正收集
- VLFeedback[115]。它利用 AI 提供对模型响应的反馈。该数据集包含 GPT-4V 在有用性、忠实度和伦理问题方面得分超过 380K 比较对。
综述二:MM-LLMs: Recent Advances in MultiModal Large Language Models
论文:MM-LLMs: Recent Advances in MultiModal Large Language Models
2024年5月28日发的一篇paper。
下文的一些符号标记如下:
(1)模态标记如下:
I:图像,V:视频,A/S:音频/语音,T:文本。ID:文档理解,IB:输出边界框,IM:输出分割掩码,IR:输出检索到的图像
(2)相关模型带有的符号:@224
表示图片的分辨率是224X224;/14
表示一个patch的大小为14
一、主流的MM-LLMs分类
这里不只是图生文-多模态大模型,还包括其他模态的LLM,比如image+text -> image+text。
相关SOTA多模态大模型:
二、MM-LLM的不同模块
训练Pipeline如下。由于模型生成不一定只有文字,这里和其实比第一篇综述多了output projector和modality geneator模态生成器。
- 模态编码器(Modality Encoder):负责对不同的模态输入IX进行编码,得到对应的特征FX。IX可以是图像、视频、音频、3D等不同类型的输入。常用的编码器包括:
- 图像编码器:NFNet-F6、ViT、CLIP ViT、Eva-CLIP ViT
- 视频编码器:对视频均匀采样成5帧,进行与图像类似的预处理
- 音频编码器:C-Former、HuBERT、BEATs、Whisper
- 3D点云编码器:ULIP-2、PointBERT
- 统一编码器:ImageBind,支持图像、视频、文本、音频、热图等多种模态
- 输入投影器 (Input Projector):负责将编码后的其他模态特征FX投影到文本特征空间T,得到对齐的特征PX。常用的实现方法有:
- 直接线性投影或多层感知机
- 交叉注意力:利用可训练的查询向量与编码特征FX进行压缩,得到固定长度的表示,并直接输入LLM或进行交叉注意力融合
- Q-Former:从FX中提取相关特征,作为提示PX
- P-Former:生成参考提示,对Q-Former生成的提示进行对齐约束
- Output Projector:可以通过一个小型的Transformer或多层感知机(MLP)来实现
- Modality geneator:常见的方法如下
- 图片生成:Latent Diffusion Models (LDMs) (Song et al., 2021; Bao et al., 2022; Zhao et al., 2022), i.e., Stable Diffusion (Rombach et al., 2022) for image synthesis
- 视频生成:Zeroscope (Cerspense, 2023) for video synthesis, and AudioLDM2 (Liu et al., 2023b,c) for audio synthesis.
三、主流MM LLM的效果
在18 VL benchmarks上的结果:
Reference
[1] 多模态大语言模型全面综述:架构,训练,数据,评估,扩展,应用,挑战,机遇 [2] 从技术报告揭秘 InternLM2 尚未开源的部分——RLHF(一)奖励模型理论篇