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综述MultiModal Large Language Models_大模型

一、多模态LLM的组成部分

常见的多模态LLM结构:

【LLM】两篇多模态LLM综述MultiModal Large Language Models_多模态_02

  • 对于多模态输入-文本输出的典型 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编码器。一些常用的图像编码器:

【LLM】两篇多模态LLM综述MultiModal Large Language Models_大模型_03

(2)语言模型

【LLM】两篇多模态LLM综述MultiModal Large Language Models_多模态_04

(3)连接器

【LLM】两篇多模态LLM综述MultiModal Large Language Models_多模态_02

  • 连接器:相对前两者来说,连接器的重要性略低。
  • 从上图中可以看出连接器有三种形式:projection-based、query-based、fusion-based connectors(第三种是使用MHA多头注意力)
  • 例如,MM1 [7] 通过实验发现,连接器的类型不如视觉 token 数量(决定之后 LLM 可用的视觉信息)及图片的分辨率(决定视觉编码器的输入信息量)重要。

在后面第二篇综述中也有介绍到连接器(叫Input projector更合适):

【LLM】两篇多模态LLM综述MultiModal Large Language Models_编码器_06

二、预训练

经常会使用image caption task图片字幕数据对进行预训练,冻结图像编码器和LLM,只更新learnable interface的参数。如果数据中脏数据较多,可以使用较低分辨率(如224)加速训练,如果数据还算干净,可以使用较高分辨率(如448)减少模型的幻觉。

【LLM】两篇多模态LLM综述MultiModal Large Language Models_大模型_07

比如cogvlm:预训练第一阶段:图像描述损失函数

在预训练的第一阶段中,模型训练的是图像描述损失函数(image captioning loss),即对文本部分进行下一个标记的预测。预训练的第一阶段使用了上述提及的15亿个图像文本对,共进行了12万次迭代,批量大小为8192。常见的预训练语料:

【LLM】两篇多模态LLM综述MultiModal Large Language Models_编码器_08

三、SFT微调

多模态的SFT和LLM的SFT类似也是自回归预测:

【LLM】两篇多模态LLM综述MultiModal Large Language Models_多模态_09

多模态SFT数据需要让prompt多样化、任务覆盖全面。常见prompt模版如下:

【LLM】两篇多模态LLM综述MultiModal Large Language Models_大模型_10

常见的多模态SFT指令微调语料:

【LLM】两篇多模态LLM综述MultiModal Large Language Models_大模型_11

四、RLHF对齐训练

(1)使用常见的PPO

RLHF(reinforcement learning from human feedback)

【LLM】两篇多模态LLM综述MultiModal Large Language Models_多模态_12

  • 分为三个步骤
  • step1 我做你看:有监督学习,从训练集中挑出一批prompt,人工对prompt写答案。其实就是构造sft数据集进行微调。
  • step2 你做我看:奖励模型训练,这次不人工写答案了,而是让GPT或其他大模型给出几个候选答案,人工对其质量排序,Reward model学习一个打分器;这个让机器学习人类偏好的过程就是【对齐】,但可能会导致胡说八道,可以通过KL Divergence等方法解决。
  • instructGPT中奖励模型的损失函数如下,其中 rθ(x,y) 是奖励模型对提示x和完成y的标量输出,具有参数θ,
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_编码器_13
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_编码器_13
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_大模型_15
    中更受欢迎的补全,D是人类比较的数据集。
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_多模态_16
  • 每个样本包括questionresponse_chosenresponse_rejected键值对,每对样本的loss定义:
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_自然语言处理_17
  • 其中上面的符号:
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_模态_18
    是 sigmoid 函数,
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_大模型_19
    代表参数为
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_编码器_20
    的奖励模型的值,
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_模态_21
    表示针对输入提示
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_模态_22
    和输出
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_编码器_23
    所预测出的单一标量奖励值。
  • 上面是instructGPT的ranking loss,但是llama2中增加一个离散函数
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_编码器_24

【LLM】两篇多模态LLM综述MultiModal Large Language Models_编码器_25

  • step3 自学成才:PPO训练,利用第二阶段的奖励模型RM计算奖励分数,同时使用PPO(近端策略优化)更新第一步训练得到的sft模型,最大优化该目标函数:
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_自然语言处理_26
  • 【LLM】两篇多模态LLM综述MultiModal Large Language Models_模态_27
    是学习到的RL策略,
  • 【LLM】两篇多模态LLM综述MultiModal Large Language Models_自然语言处理_28
    是监督训练模型,
  • 【LLM】两篇多模态LLM综述MultiModal Large Language Models_大模型_29
  • KL奖励系数β和预训练损失系数γ分别控制KL惩罚和预训练梯度的强度。对于“PPO”模型,γ 设为 0。

【LLM】两篇多模态LLM综述MultiModal Large Language Models_模态_30

(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优化的目标函数:
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_自然语言处理_31
  • DPO更新参数,目标函数:
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_自然语言处理_32
  • 注意:奖励函数
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_编码器_33
    和策略
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_模态_34
    的关系推倒出来后,就能把ranking loss中的奖励函数
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_编码器_33
    替换
  • 目标函数含义:如果是好答案,则尽可能增大被policy策略模型生成的概率
  • 对上面的目标函数的梯度:
    【LLM】两篇多模态LLM综述MultiModal Large Language Models_模态_36
# 数据样例
{"question": "我的女儿快两岁了好动是怎么回事,我的女儿快两岁了,还不会坐的时候,当大人抱着坐时(90度),她会把两条腿抬起来使劲,绷直腿和脚尖,累了就放下来歇一下,然后再绷,表情专注还会累得出汗,当时人们说是孩子长身体呢,没有在意。", 
"response_chosen": "你好,有的孩子可能会有些小问题,但是大多数孩子是无大碍的,因为这个年龄段正是孩子好动的年龄段,而且每个孩子的性格和秉性不一样,有的孩子天生就是活泼,但是也有极少数可能会有关,至于出汗多,晚上睡眠出汗多,那可能是缺乏钙或其它营养元素。可以给宝宝进行一下和缺钙有关的检查,微量元素和血铅镉化验也很重要。", 
"response_rejected": "这个现象可能是由于婴儿发育过程中的骨骼生长造成的。"}
  • 1.
  • 2.
  • 3.
  • 4.

结果:在 RLHF 用于拟合奖励模型的交叉熵损失也可用于直接微调 LLM。根据他们的基准测试,使用 DPO 的效率更高,而且在响应质量方面也通常优于 RLHF/PPO。

【LLM】两篇多模态LLM综述MultiModal Large Language Models_自然语言处理_37

(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

【LLM】两篇多模态LLM综述MultiModal Large Language Models_多模态_38

论文: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。

【LLM】两篇多模态LLM综述MultiModal Large Language Models_大模型_39

相关SOTA多模态大模型:

【LLM】两篇多模态LLM综述MultiModal Large Language Models_自然语言处理_40

二、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.

【LLM】两篇多模态LLM综述MultiModal Large Language Models_编码器_06

三、主流MM LLM的效果

在18 VL benchmarks上的结果:

【LLM】两篇多模态LLM综述MultiModal Large Language Models_多模态_42

Reference

[1]  多模态大语言模型全面综述:架构,训练,数据,评估,扩展,应用,挑战,机遇 [2]  从技术报告揭秘 InternLM2 尚未开源的部分——RLHF(一)奖励模型理论篇