note
- dreamLLM的两个亮点:
- 第一,通过在原始多模态空间中进行直接采样,生成语言和图像后验的生成模型,避免了外部特征提取器(如CLIP)固有的限制和信息损失,获得了更全面的多模态理解;
- 第二,DREAMLLM促进了原始的交错文档生成,对文本和图像内容以及非结构化布局进行建模,从而有效地学习所有条件、边缘和联合多模态分布
一、模型框架
问题点:标记在什么位置、模型训练目标是预测这个token吗
- 论文:DreamLLM: Synergistic Multimodal Comprehension and Creation
- 论文链接:https://arxiv.org/abs/2309.11499
- GitHub:https://github.com/RunpeiDong/DreamLLM
背景介绍1:
(1)自回归模型:模型通过对序列中每个标记进行参数化,生成联合概率分布,用最大似然估计优化模型参数:
L
M
L
L
M
(
Θ
=
{
θ
,
ζ
}
,
w
,
I
)
:
=
−
E
t
[
log
p
Θ
(
w
t
∣
w
<
t
,
V
<
K
(
t
)
)
]
,
V
K
(
t
)
=
M
ζ
∘
H
ϕ
(
I
K
(
t
)
)
\mathcal{L}_{\mathrm{MLLM}}(\Theta=\{\theta, \zeta\}, \mathbf{w}, \boldsymbol{I}):=-\mathbb{E}_t\left[\log p_{\Theta}\left(\mathbf{w}_t \mid \mathbf{w}_{<t}, \boldsymbol{V}_{<K(t)}\right)\right], \quad \boldsymbol{V}_{K(t)}=\mathcal{M}_\zeta \circ \mathcal{H}_\phi\left(I_{K(t)}\right)
LMLLM(Θ={θ,ζ},w,I):=−Et[logpΘ(wt∣w<t,V<K(t))],VK(t)=Mζ∘Hϕ(IK(t))
(2)Diffusion Models (DMs)是一种概率生成模型,通过连续的时间信息扩散学习数据的潜在结构。DMs使用前向或扩散过程将数据平滑地转换为高斯噪声。通过积分数据密度q(z),可以定义一个边缘分布q(z_t|z_1)和扰动数据分布q(z_t)。使用反向去噪概率流p生成从噪声z_T到数据的转换,其中转换由高斯模型p_ξ(z_t-1|z_t)近似。Ho等人证明了使用证据下界(ELBO)进行优化可以通过训练一个参数化的去噪U-Net来简化。最小化目标是通过条件嵌入C和扰动数据z_t = α_tz_1 + (1-α_t)ϵ来实现。
DM模型是基于得分函数的生成模型,可以通过去噪得分匹配来实现。这种方法等价于对梯度进行去噪,从而得到概率密度函数的对数。
L
D
M
(
ξ
,
z
)
:
=
E
t
∼
U
(
0
,
1
)
,
ϵ
∼
N
(
0
,
1
)
[
∥
ϵ
ξ
(
z
t
;
C
,
t
)
−
ϵ
∥
2
]
\mathcal{L}_{\mathrm{DM}}(\xi, \mathbf{z}):=\mathbb{E}_{t \sim \mathcal{U}(0,1), \epsilon \sim \mathcal{N}(\mathbf{0}, \mathbf{1})}\left[\left\|\boldsymbol{\epsilon}_{\xi}\left(\mathbf{z}_t ; \mathcal{C}, t\right)-\epsilon\right\|^2\right]
LDM(ξ,z):=Et∼U(0,1),ϵ∼N(0,1)[∥ϵξ(zt;C,t)−ϵ∥2]
背景介绍2:
- 两个点:在原始多模态空间中通过直接采样,对语言和图像后验进行生成建模,有助于更好多模态理解;促进原始、交错文档的生成,对文本和图像内容以及非结构化布局进行建模,使得模型能够有效地学习所有条件、边际和联合多模式分布。
- 涉及生成图像、文本或者两者的生成,需要一个通用的生产模型来同时学习语言和图像后验
- DreamLLM框架
语言模型:基于在shareGPT上训练的LLama的Vicuna
图像编码器:CLIP-Large
图像解码器:Stable Diffusion
当前主流方法会导致语义折损,偏离原始输出空间,作者提出dreamLLM框架
对上图解释:使用交错的文档(图文交错)用作输入,解码以产生输出。文本和图像都被编码成用于MLLM输入的顺序的、离散的token嵌入。特殊的<dream>标记可以预测在哪里生成图像。随后,一系列dream查询被输入到MLLM中,捕获整体历史语义。图像由stable diffusion图像解码器以查询的语义为条件进行合成。然后将合成的图像反馈到MLLM中用于随后的理解。
二、训练过程
1. 端到端的交错生成式预训练(i-gpt)
所有自然文档都可以被视为文本和图像交织信息的载体。而仅有文本、仅有图像以及文本和图像配对的数据可以被看作是具有不同模态组合的交织语料库的特殊情况。因此,赋予模型学习和生成自由形式的交织文档的能力是至关重要的,以涵盖所有可能的分布。
交错结构学习:为了建模交错结构,通过在图像之前添加一个特殊的"<dream>
“标记来操作交错序列。在训练过程中,DREAMLLM被训练来预测这个表示图像出现位置的”"标记,并在之后进行条件图像合成。在推理过程中,当预测到这个标记时,DREAMLLM将自主生成一张图像。
分数蒸馏条件合成:为了避免CLIP语义和MLLM之间可能的冲突,研究人员设计了一种不同的学习目标和条件嵌入。他们引入了一系列可学习的dream查询,用于条件合成。在预测为<dream>
令牌时,使用条件嵌入来生成文本摘要。
C K ( t ) + 1 DREamLLM : = F θ ( d , x < t + 1 , V < K ( t ) + 1 ) \mathcal{C}_{K(t)+1}^{\text {DREamLLM }}:=\mathcal{F}_\theta\left(\mathbf{d}, \mathbf{x}_{<t+1}, \boldsymbol{V}_{<K(t)+1}\right) CK(t)+1DREamLLM :=Fθ(d,x<t+1,V<K(t)+1)
通过与潜在变量z相关的去噪分数匹配,可以得到与公式(2)类似的表达式。
L
D
M
DREAMLLM
(
θ
,
d
,
ζ
,
ψ
,
z
)
:
=
E
t
∼
U
(
0
,
1
)
,
ϵ
∼
N
(
O
,
I
)
[
∥
ϵ
ξ
(
z
t
;
C
DREAMLLM
,
t
)
−
ϵ
∥
2
]
,
\mathcal{L}_{\mathrm{DM}}^{\text {DREAMLLM }}(\theta, \mathbf{d}, \zeta, \psi, \mathbf{z}):=\mathbb{E}_{t \sim \mathcal{U}(0,1), \epsilon \sim \mathcal{N}(\mathbf{O}, \mathbf{I})}\left[\left\|\epsilon_{\xi}\left(\mathbf{z}_t ; \mathcal{C}^{\text {DREAMLLM }}, t\right)-\boldsymbol{\epsilon}\right\|^2\right],
LDMDREAMLLM (θ,d,ζ,ψ,z):=Et∼U(0,1),ϵ∼N(O,I)[
ϵξ(zt;CDREAMLLM ,t)−ϵ
2],
模型通过学习条件嵌入来生成图像, 同时使用KL散度来优化生成结果。这种方法可以看作是文本反转和分数蒸馏的一般化形式。
min
θ
,
d
,
ζ
,
ψ
L
D
M
DREAMLLM
:
=
E
t
,
C
DREamLLM
[
D
K
L
(
q
(
z
t
−
1
∣
z
t
,
z
1
,
C
DREAMLLM
)
∥
p
ξ
(
z
t
−
1
∣
z
t
)
)
]
\min _{\theta, \mathbf{d}, \zeta, \psi} \mathcal{L}_{\mathrm{DM}}^{\text {DREAMLLM }}:=\mathbb{E}_{t, \mathcal{C}^{\text {DREamLLM }}}\left[D_{\mathrm{KL}}\left(q\left(\mathbf{z}_{t-1} \mid \mathbf{z}_t, \mathbf{z}_1, \mathcal{C}^{\text {DREAMLLM }}\right) \| p_{\xi}\left(\mathbf{z}_{t-1} \mid \mathbf{z}_t\right)\right)\right]
θ,d,ζ,ψminLDMDREAMLLM :=Et,CDREamLLM [DKL(q(zt−1∣zt,z1,CDREAMLLM )∥pξ(zt−1∣zt))]
通用多模态生成建模:模型可以用于理解图像和生成图像。图像被处理成视觉嵌入向量, 用于理解。模型的目标是最大似然估计所有因果条件下的后验概率。
L
MLLM
DREAMLLM
(
Θ
=
{
θ
,
d
,
ζ
,
ψ
}
,
x
)
:
=
−
E
t
[
log
p
Θ
(
x
t
∣
x
<
t
)
]
\mathcal{L}_{\text {MLLM }}^{\text {DREAMLLM }}(\Theta=\{\theta, \mathbf{d}, \zeta, \psi\}, \mathbf{x}):=-\mathbb{E}_t\left[\log p_{\Theta}\left(\mathbf{x}_t \mid \mathbf{x}_{<t}\right)\right]
LMLLM DREAMLLM (Θ={θ,d,ζ,ψ},x):=−Et[logpΘ(xt∣x<t)]
2. 三阶段训练
- 对齐训练。这个阶段用于缩小多模态之间的差距,帮助多模态输入适应LLMs。通过预训练线性视觉投影仪、线性条件投影仪和可学习的梦境嵌入,实现冻结LLMs、视觉编码器和SD之间的跨模态流形对齐。使用约30M个图像-文本对数据,训练图像到文本的理解和文本到图像的合成。
- I-GPT预训练。使用MMC4-Core和BLIP-LAION数据集进行训练,以学习联合视觉语言分布。同时,通过筛选和配对数据样本,提高了文本到图像的训练效果。
- 有监督微调。本阶段使用约80K的视觉指令调整数据,使模型能够根据人类指令执行多模态理解和创造性任务。使用GPT-4模型,通过文档摘要或图像标题进行提示,生成约20K的指令跟随文档综合数据和20K的图像综合数据。
三、模型效果
多模态理解能力:
条件文本图像合成能力:
四、Dream Query Attention
Reference
[1] ICLR 2024 感知+生成多模态大模型 DreamLLM
[2] DREAMLLM: SYNERGISTIC MULTIMODALCOMPREHENSION AND CREATION