内容源自计算机科研圈
完全开源的生成理解统一模型:架构,训练,数据集。
本文探索了理解生成统一模型 (Unified Multimodal Models) 的最优模型架构和训练配方。本文研究了几个关键的问题:
图像应该怎么表征?使用 VAE 还是 CLIP-Diffusion 作为 Autoencoder。
训练目标该如何设计?使用 MSE Loss 还是 Flow Matching Loss?
统一模型的顺序预训练策略该怎么做?是联合训练,还是先在图像理解上进行训练,再在图像生成上训练?
本文开发的 BLIP3-o 是一套最先进的统一多模态模型,在图像理解和生成任务的大多数 Benchmark 中都取得了卓越的性能。本文还做了一个高质量的指令微调数据集 BLIP3o-60k。
本文目录
1 BLIP3-o:完全开源的生成理解统一模型:架构,训练,数据集
(来自 Salesforce)
1 BLIP3-o 论文解读
1.1 BLIP3-o 简述
1.2 为什么要构建理解生成统一模型
1.3 图像表征路线:VAE Autoencoder 还是 CLIP-Diffusion Autoencoder ?
1.4 图像 Latent 表征建模路线:MSE Loss 还是 Flow Matching?
1.5 训练策略:联合训练还是顺序训练?
1.6 BLIP3-o 模型
1.7 实验结果
1 BLIP3-o:完全开源的生成理解统一模型:架构,训练,数据集
论文名称:BLIP3-o: A Family of Fully Open Unified Multimodal Models—Architecture, Training and Dataset
论文地址:
https://www.arxiv.org/pdf/2505.09568
代码链接:
https://github.com/JiuhaiChen/BLIP3o
模型:
https://huggingface.co/BLIP3o/BLIP3o-Model
预训练数据:
https://huggingface.co/datasets/BLIP3o/BLIP3o-Pretrain-Long-Caption
指令微调数据:
https://huggingface.co/datasets/BLIP3o/BLIP3o-60k
1.1 BLIP3-o 简述
理解生成统一模型 (Unified Multimodal Model) 支持使用一个模型完成图像理解和图像生成的任务。图像生成的最佳架构和训练策略仍未得到充分探索。前人的方案主要围绕 2 种方法:
第 1 种方法 (如 Chameleon,Emu3,TokenShuffle) 将连续的视觉特征量化为离散的 token,并将它们建模为分类分布。
第 2 种方法 (如 MetaMorph,MetaQuery) 通过自回归模型生成视觉特征或 latent representation,然后以这些视觉特征的条件,通过 Diffusion Model 生成图像。
最近的 GPT-4o 图像生成被暗示采用具有自回归和扩散模型的混合架构,遵循第 2 种方法。
为此,本文系统研究了 Unified Model 中图像生成的 design choice。
本文研究的 3 个关键问题:
-
图像表征: 将图像编码为 low-level 像素特征 (比如基于 VAE 的编码器) 或 high-level 语义特征 (比如来自 CLIP 图像编码器)。
-
训练目标: MSE 还是 Flow Matching。以及它们对训练效率和生成质量的影响。
-
训练策略: 图像理解和生成的联合多任务训练 (如 Metamorph),还是像 LMFusion 和 MetaQuery 这样的顺序训练,其中模型首先被训练来理解,然后扩展到生成。
结论 (太长不看版):
-
图像表征: CLIP 特征比 VAE 特征提供更紧凑和信息量更大的表征,训练速度更快,图像生成质量更高。
-
训练目标: Flow Matching Loss 比 MSE Loss 更有效,实现更多样化的图像采样,产生更好的图像质量。
-
训练策略: 顺序训练策略,即首先在图像理解任务上训练自回归模型,然后冻结之后做图像生成训练,可以获得最好的整体性能。
基于这些发现,本文提出 BLIP3-o。
BLIP3-o 在 CLIP 特征上使用 DiT,Flow Matching,先在图像理解任务上训练,再在生成任务训练。
BLIP3-o 框架:
为了进一步提高美学和指令跟随能力,本文通过 prompting GPT-4o,curate 了 60k 高质量指令微调数据集 BLIP3o-60k。BLIP3o-60k 上的有监督指令微调可以显著提升 BLIP3-o 与人类偏好的对齐,以及提升美学质量。
1.2 为什么要构建理解生成统一模型
3 点原因:
-
继承 MLLM 的推理能力: 把图像生成能力集成到 MLLM 等自回归模型的一个重要原因是希望继承 MLLM 的预训练知识,推理能力,以及指令跟随的能力。
-
In-context Learning: 理解生成统一模型自然地支持 In-context Learning 能力。之前生成的多模态输出可以作为后续生成的 context,从而实现迭代图像编辑、视觉对话和逐步视觉推理。这就不需要再做另一个任务的时候去切换模式了。
-
AGI 的需求: 未来的系统需要去感知、解释和生成多模态内容。要实现这一点,就需要从纯文本架构转移到理解生成统一的多模态架构。
1.3 图像表征路线:VAE Autoencoder 还是 CLIP-Diffusion Autoencoder ?
BLIP3-o 采用了自回归+扩散框架。自回归模型产生连续的中间视觉特征,这就带来了两个关键问题。
其一,这个图像特征的 Ground-truth Embedding 是什么?我们应该使用 VAE 还是 CLIP 编码的特征?
其二,自回归模型生成视觉特征之后,我们应该如何有效将其与 GT 真实图像特征对齐?或者更一般地讲,我们如何对这些连续视觉特征的分布进行建模:通过 MSE Loss,还是 diffusion-based 方法?
图像生成通常首先使用 Encoder 将图像编码为连续的 latent embedding,然后使用 Decoder 从该 latent embedding 重建图像。这种 Encoder-Decoder Pipeline 可以有效地降低图像生成中输入空间的维数,促进高效训练。
图像表征相关的路线,有两种比较常见的 Encoder-Decoder 范式:
一类是 VAE Autoencoder 路线。 VAE 是一类生成模型,它学习将图像编码为结构化的连续 latent space。Encoder 估计给定图像的 latent 的后验分布,Decoder 根据从 latent distribution 中得到的采样,来重建原始图像。Latent Diffusion Model 就是建立在该框架的基础上,建模 latent 的分布,而不是原始图像的分布。通过在 VAE latent 空间中操作,可显著降低输出空间的维度,降低了计算成本,实现更高效训练。
一类是 CLIP-Diffusion Autoencoder 路线。 CLIP 模型因为在大规模图像-文本对上进行对比学习,因而具有很强的从图像中提取丰富、高级语义特征的能力。但是因为 CLIP 最初不是为重建任务设计的,所以利用 CLIP 特征进行图像生成仍不容易。
Emu2 的做法是:CLIP-based encoder + diffusion-based decoder。
使用 EVA-CLIP 将图像编码为连续的视觉 embedding,并通过 SDXL-base 初始化的扩散模型重建。在训练期间,diffusion decoder 被微调,将 EVA-CLIP 的视觉 embedding 作为 Condition,从高斯噪声重建原始图像。EVA-CLIP 冻结参数。
这个过程相当于是把 CLIP 和 Diffusion Model 结合为一个 image autoencoder:CLIP Encoder 把图像编码为语义丰富的 latent embedding,Diffusion-based Decoder 从这些 embedding 重建图像。
总结:
VAE Autoencoder,或者 CLIP-Diffusion Autoencoder,都属于是用于获得图像表征 Encoder-Decoder 路线。
VAE 将图像编码为 low-level 像素特征,提供更好的重建质量。且 VAE 可以直接集成到图像生成 training pipeline 中。
CLIP-Diffusion 需要额外的训练来使扩散模型适应各种 CLIP Encoder。但是,CLIP-Diffusion 架构在图像压缩比率方面更有优势。比如在 Emu2 和 BLIP3-o 中,无论分辨率如何都可编码为 64 个连续向量,提供紧凑且语义丰富的 latent embedding。相比之下,基于 VAE 的 Encoder 为更高分辨率的输入生成更长的 latent embedding 序列,增加了训练过程中的计算负担。
1.4 训练目标:MSE Loss 还是 Flow Matching?
在获得连续的 image embedding 后,继续使用自回归架构对它们进行建模。
假设 prompt 是 "A young woman with freckles wearing a straw hat."。
-
首先使用自回归模型的输入 Embedding 层将其编码为 embedding 向量 。
-
将一组 learnable query 向量 附加到向量 ,得到 。 随机初始化,且在训练期间更新参数。
-
把 输入自回归模型, 学习从向量 中提取语义信息。
-
最后输出的 代表自回归模型输出的中间视觉特征。希望通过训练,使其近似 GT 图像特征 (从 VAE 或 CLIP 得到)。
如何将 与 GT 图像特征 对齐?有 2 种方法:
MSE Loss
给定自回归模型输出的视觉特征 和 GT 图像特征 ,应用一个可学习的线性投影将 的维度与 的维度对齐。然后 MSE Loss 为:
其中, 是可学习的投影矩阵。
Flow Matching
一个扩散框架,可以通过从先验分布(如高斯)迭代传输样本从目标连续分布中采样。给定一个 GT 真实图像特征 和自回归模型编码的 Condition ,在每个训练步骤中,对时间步长 和 noise 进行采样。然后 DiT 学习在以 为条件的时间步 预测速度 ,朝着 的方向。通过在 和 之间进行简单的线性插值来计算 :
其中, 是 DiT 的参数, 表示基于实例 、时间步长 和噪声 预测的速度。
总结:
离散 token 支持基于采样的策略,可以探索不同的生成路径。连续表征缺少了这个性质。
在基于 MSE 的训练目标下,对于给定的 prompt,预测的视觉特征 Q 几乎是确定的。因此,无论视觉 Decoder 是基于 VAE 的还是 CLIP + Diffusion 的架构,输出图像在多个推理运行中几乎保持不变。这突出了 MSE 目标的一个关键的限制:约束模型为每个 prompt 生成固定的输出,限制了生成的多样性。
相比之下,Flow Matching 使模型能够继承 diffusion 的随机性。允许模型在相同 prompt 时,生成不同图像样本。然而,这种灵活性是以模型复杂性增加为代价的。与 MSE 相比,Flow Matching 引入了额外的可学习参数。本文使用 DiT,并发现缩放模型容量可以提高性能。
三种设计选择
前面列举了 2 种图像表征路线:
-
VAE 作为 Autoencoder
-
CLIP-Diffusion (简记为 CLIP) 作为 Autoencoder
也列举了 2 种训练目标 (即 Loss Function):
-
MSE Loss
-
Flow Matching
排列组合,得到 4 种图像生成模型的设计方案如下。不同的方案影响生成图像的质量和可控性。
-
CLIP + MSE
-
CLIP + Flow Matching
-
VAE + Flow Matching
-
VAE + MSE
1438

被折叠的 条评论
为什么被折叠?



