反转基因福娃 发表于 3 天前

BLIP3-o:一系列完全开源的同一多模态模型——架构、训练与数据集

择要

在近期关于多模态模型的研究中,将图像理解与生成同一起来受到了越来越多的关注。尽管图像理解的设计选择已经得到了广泛研究,但对于具有图像生成功能的同一框架而言,其最优模型架构和训练方案仍有待进一步探索。鉴于自回归和扩散模型在高质量生成和可扩展性方面具有强大潜力,我们对它们在同一多模态环境中的使用进行了全面研究,重点关注图像表示、建模目标和训练计谋。基于这些研究,我们提出了一种新方法,该方法接纳扩散Transformer生成语义丰富的CLIP图像特性,这与传统的基于VAE的表示方法不同。这种设计既进步了训练效率,又提拔了生成质量。此外,我们证实了同一模型的次序预训练计谋——先辈行图像理解训练,再进行图像生成训练——具有实际上风,可以或许在发展强大的图像生本钱领的同时,保持图像理解本领。最后,我们通过使用涵盖各种场景、物体、人体姿态等的多样化字幕提示GPT-4o,精心筹谋了一个高质量的指令调优数据集BLIP3o-60k,用于图像生成。基于我们创新的模型设计、训练方案和数据集,我们开辟了BLIP3-o,这是一套开始辈的同一多模态模型。BLIP3-o在大多数涵盖图像理解和生成使命的盛行基准测试中均取得了优异体现。为促进未来的研究,我们完全开源了我们的模型,包括代码、模型权重、训练脚本以及预训练和指令调优数据集。
代码:https://github.com/JiuhaiChen/BLIP3o
模型:https://huggingface.co/BLIP3o/BLIP3o-Model
预训练数据:https://huggingface.co/datasets/BLIP3o/BLIP3o-Pretrain
指令调优数据:https://huggingface.co/datasets/BLIP3o/BLIP3o-60k
https://i-blog.csdnimg.cn/direct/e1b929a25de24118a456f34da1fa3241.png
1 弁言

近期的研究进展表明,支持图像理解和图像生成的同一多模态表示学习在单个模型中具有潜力]。尽管在图像理解方面已经进行了大量研究,但图像生成的最优架构和训练计谋仍有待探索。以往的争论主要集中在两种方法上:第一种方法将连续的视觉特性量化为离散标志,并将其建模为分类分布;第二种方法通过自回归模型生成中心视觉特性或埋伏表示,然后基于这些视觉特性通过扩散模型生成图像。近期发布的GPT-4o图像生成功能据称接纳了混合架构,结合了自回归和扩散模型,遵照第二种方法。因此,我们受到启发,以类似的方式对设计选择进行系统研究。具体而言,我们的研究聚焦于三个关键设计维度:(1)图像表示——是将图像编码为低层像素特性(比方,来自基于VAE的编码器)还是高层语义特性(比方,来自CLIP图像编码器);(2)训练目标——均方误差(MSE)与流匹配,以及它们对训练效率和生成质量的影响;(3)训练计谋——像Metamorph 那样对图像理解和生成进行联合多使命训练,还是像LMFusion 和MetaQuery 那样进行次序训练,即先对模型进行理解训练,然后扩展用于生成。
我们的研究发现,CLIP图像特性比VAE特性提供了更紧凑、信息量更大的表示,从而加快了训练速度并进步了图像生成质量。流匹配损失被证实比均方误差(MSE)损失更有用,可以或许实现更多样化的图像采样并产生更好的图像质量。此外,我们发现次序训练计谋——先在图像理解使命上训练自回归模型,然后在图像生成训练期间将其冻结——能取得最佳的整体性能。基于这些发现,我们开辟了BLIP3-o,这是一系列开始辈的同一多模态模型。BLIP3-o在CLIP特性上利用扩散Transformer和流匹配(如图1所示),并按照次序在图像理解和图像生成使命上进行训练。为了进一步进步视觉美感和指令跟随本领,我们通过用涵盖各种场景、物体、人类手势等的多样化提示词提示GPT-4o,精心筹谋了一个包罗60k高质量指令调优数据集BLIP3o-60k用于图像生成。我们观察到,在BLIP3o-60k上进行监视指令调优明显加强了BLIP3-o与人类偏好的对齐水平,并进步了美学质量。
https://i-blog.csdnimg.cn/direct/ae53cd86d85147db9cba47ea75da8e28.png
在我们的实验中,BLIP3-o在大多数盛行的图像理解和生成基准测试中均取得了优异体现,此中8B模型在MME-P上得分为1682.6,在MMMU上得分为50.6,在GenEval上得分为0.84。为了支持进一步的研究并秉承像BLIP-3 这样的开源基础模型研究的使命,我们完全开源了我们的模型,包括模型权重、代码、预训练和指令调优数据集以及评估流程。我们渴望我们的工作可以或许支持研究社区,并推动同一多模态领域的持续进步。
2 图像生成与理解的同一多模态模型

2.1 动机

近期研究表明,开辟可以或许同时支持图像理解和生成的同一多模态架构是一个有前景的研究方向。Janus 、Show-o 、MetaMorph 、Janus-Pro 和LMFusion 等模型是早期在单一框架内实现图像理解和生成融合的实验。近期OpenAI的GPT-4o 进一步展示了这种架构在高质量图像生成和多模态理解方面的强大本领。然而,实现这种同一本领的底层设计原则和训练计谋仍有待深入研究。本研究旨在系统探究并推动同一模型的发展,并明确了构建同一多模态模型的关键动机。
推理与指令遵照  将图像生本钱领集成到自回归模型(如多模态大语言模型(MLLMs))中,有望继承这些模型的预训练知识、推理本领和指令遵照本领。比方,我们的模型可以或许直接解读诸如“一种长鼻子的动物”这样的提示,而无需对提示进行重写。这展示了传统图像生成模型难以企及的推理本领和世界知识水平。除了推理本领之外,当MLLMs的指令遵照本领被整合到同一架构中时,预计这种本领也会延续到图像生成过程中。
上下文学习  同时支持图像理解和生成的同一模型天然促进了上下文学习本领。在这样的模型中,之宿世成的多模态输出可以作为后续生成的上下文,从而为迭代图像编辑、视觉对话以及渐渐视觉推理提供无缝支持。这消除了模式切换或依靠外部处理流程的需要,使模型可以或许保持一致性和使命连续性。
迈向多模态通用人工智能  随着人工智能向通用人工智能(AGI)迈进,未来的系统需要超越基于文本的本领,以无缝地感知、解释和生成多模态内容。实现这一目标需要从仅支持文本的架构转向可以或许跨不同模态进行推理和生成的同一多模态架构。这样的模型对于构建可以或许以全面、类人的方式与世界交互的通用智能至关重要。
在这些动机的驱动下,我们在接下来的章节中探索开辟一种同一模型,该模型可以或许同时支持图像理解和生成使命。
2.2 结合自回归与扩散模型

近期,OpenAI的GPT-4o 在图像理解、生成和编辑使命中展现了开始辈的性能。关于其架构的新兴假设 提出了一种混合流程,结构如下:
标志(Tokens)                                    ⟶                              \longrightarrow                  ⟶ [自回归模型(Autoregressive Model)]                                    ⟶                              \longrightarrow                  ⟶ [扩散模型(Diffusion Model)]                                    ⟶                              \longrightarrow                  ⟶ 图像像素(Image Pixels)
这表明,自回归模型和扩散模型可以联合使用,以结合这两个模块的上风。受这种混合设计的启发,我们在研究中接纳了自回归 + 扩散的框架。然而,该框架下的最优架构仍不明确。自回归模型生成连续的中心视觉特性,旨在近似真实图像表示,这引发了两个关键标题。首先,什么应作为真实嵌入(ground-truth embeddings):我们应该使用变分自编码器(VAE)还是对比语言-图像预训练模型(CLIP)将图像编码为连续特性?其次,一旦自回归模型生成了视觉特性,我们如何最优地将它们与真实图像特性对齐,大概更一般地,我们应该如何建模这些连续视觉特性的分布:是通过简单的均方误差(MSE)损失,还是接纳基于扩散的方法?因此,我们在下一节中对各种设计选择进行了全面探索。
3 同一多模态框架中的图像生成

在本节中,我们将讨论在同一多模态框架内构建图像生成模型时所涉及的设计选择。我们首先探究如何通过编码器 - 解码器架构将图像表示为连续嵌入,这种架构在学习效率和生成质量方面发挥着基础性作用。
3.1 图像编码与重修

图像生成通常始于使用编码器将图像编码为连续的埋伏嵌入,随后由解码器从该埋伏嵌入重修图像。这种编码 - 解码流程可以有用低落图像生成中输入空间的维度,从而促进高效训练。接下来,我们将讨论两种广泛使用的编码器 - 解码器范式。
变分自编码器 变分自编码器(Variational Autoencoders,VAEs) 是一类生成模型,它们学习将图像编码到一个结构化的连续埋伏空间中。编码器在给定输入图像的情况下近似埋伏变量的后验分布,而解码器则从该埋伏分布中抽取的样本重修图像。埋伏扩散模型在此框架的基础上进行构建,通过学习对压缩后的埋伏表示的分布进行建模,而非直接对原始图像像素进行建模。这些模型通过在 VAE 的埋伏空间中运行,明显低落了输出空间的维度,从而低落了盘算本钱,并实现了更高效的训练。在去噪步调之后,VAE 解码器将生成的埋伏嵌入映射到原始图像像素。
带扩散解码器的 CLIP 编码器 由于 CLIP 模型通过在大规模图像 - 文本对上进行对比训练,具备从图像中提取丰富高层语义特性的强大本领,因此已成为图像理解使命 的基础编码器。然而,将这些特性用于图像生成仍旧是一个非平凡的挑战,因为 CLIP 最初并非为重修使命而设计。Emu2 提出了一种实用的解决方案,即将基于 CLIP 的编码器与基于扩散的解码器配对使用。具体而言,它使用 EVA-CLIP 将图像编码为连续的视觉嵌入,并通过从 SDXL-base 初始化的扩散模型重修图像。在训练过程中,扩散解码器经过微调,以使用来自 EVA-CLIP 的视觉嵌入作为条件,从高斯噪声中规复原始图像,而 EVA-CLIP 保持冻结状态。这一过程有用地将 CLIP 和扩散模型结合为一个图像自编码器:CLIP 编码器将图像压缩为语义丰富的埋伏嵌入,而基于扩散的解码器则从这些嵌入重修图像。值得注意的是,尽管解码器基于扩散架构,但它是使用重修损失而非概率采样目标进行训练的。因此,在推理过程中,该模型执行确定性重修。
讨论  这两种编码器 - 解码器架构,即变分自编码器(VAEs)和 CLIP-扩散(CLIP-Diffusion),代表了图像编码与重修的不同范式,各自具有特定的上风和衡量。VAEs 将图像编码为低层级的像素特性,并提供更好的重修质量。此外,VAEs 作为现成模型广泛可用,可直接集成到图像生成训练流程中。相比之下,CLIP-扩散需要额外的训练来使扩散模型顺应各种 CLIP 编码器。然而,CLIP-扩散架构在图像压缩比方面提供了明显上风。比方,在 Emu2 和我们的实验中,无论图像分辨率如何,每张图像都可以编码为固定长度为 64 的连续向量,从而提供紧凑且语义丰富的埋伏嵌入。相比之下,基于 VAE 的编码器往往对更高分辨率的输入产生更长的埋伏嵌入序列,这增加了训练过程中的盘算负担。
3.2 埋伏图像表示建模

在得到连续图像嵌入后,我们继续使用自回归架构对它们进行建模。给定一个用户提示(比方,“一位戴着草帽、有雀斑的年轻女子”),我们首先使用自回归模型的输入嵌入层将提示编码为一组嵌入向量                                    C                              \mathbf{C}                  C,并向                                    C                              \mathbf{C}                  C 追加一个可学习的查询向量                                    Q                              \mathbf{Q}                  Q,此中                                    Q                              \mathbf{Q}                  Q 随机初始化并在训练过程中进行优化。当组合序列                                    [                         C                         ;                         Q                         ]                              [\mathbf{C} ; \mathbf{Q}]                   通过自回归变换器处理时,                                 Q                              \mathbf{Q}                  Q 学会关注并从提示                                    C                              \mathbf{C}                  C 中提取相关语义信息。由此得到的                                    Q                              \mathbf{Q}                  Q 被解释为自回归模型生成的中心视觉特性或埋伏表示,并被训练以逼近真实图像特性                                    X                              \mathbf{X}                  X(从 VAE 或 CLIP 得到)。接下来,我们介绍两种训练目标:均方误差(Mean Squared Error,MSE)和流匹配(Flow Matching),用于学习使                                    Q                              \mathbf{Q}                  Q 与真实图像嵌入                                    X                              \mathbf{X}                  X 对齐。
https://i-blog.csdnimg.cn/direct/9da555bbf1e1419ab2919d920b816f0b.png
MSE 损失  均方误差(MSE)损失是一种简单且广泛用于学习连续图像嵌入的目标函数 。给定自回归模型预测的视觉特性                                    Q                              \mathbf{Q}                  Q 和真实图像特性                                    X                              \mathbf{X}                  X,我们首先应用一个可学习的线性投影来对齐                                    Q                              \mathbf{Q}                  Q 和                                    X                              \mathbf{X}                  X 的维度。然后,MSE 损失表示为:
                                                    L                                           M                                  S                                  E                                                 =                            ∥                            X                            −                                       W                               Q                                                 ∥                               2                               2                                          \mathcal{L}_{\mathrm{MSE}}=\|\mathbf{X}-\mathbf{W Q}\|_{2}^{2}                     LMSE​=∥X−WQ∥22​
此中,                                 W                              \mathbf{W}                  W 表示可学习的投影矩阵。
流匹配  需要注意的是,仅使用 MSE 损失只能使预测的图像特性                                    Q                              \mathbf{Q}                  Q 与目标分布的均值对齐。抱负的训练目标应该对连续图像表示的概率分布进行建模。我们提出使用流匹配(Flow Matching),这是一种扩散框架,可以通过从先验分布(比方,高斯分布)迭代传输样原来从目标连续分布中采样。给定一个真实图像特性                                              X                            1                                       \mathbf{X}_{1}                  X1​ 和由自回归模型编码的条件                                    Q                              \mathbf{Q}                  Q,在每个训练步调中,我们采样一个时间步                                    t                         ∼                         U                         (                         0                         ,                         1                         )                              t \sim \mathcal{U}(0,1)                  t∼U(0,1) 和噪声                                              X                            0                                  ∼                         N                         (                         0                         ,                         1                         )                              \mathbf{X}_{0} \sim \mathcal{N}(0,1)                  X0​∼N(0,1)。然后,扩散变换器学会在                                    Q                              \mathbf{Q}                  Q 的条件下,预测在时间步                                    t                              t                  t 沿着                                              X                            1                                       \mathbf{X}_{1}                  X1​ 方向的“速度”                                              V                            t                                  =                                              d                                           X                                  t                                                            d                               t                                                 \mathbf{V}_{t}=\frac{d \mathbf{X}_{t}}{d t}                  Vt​=dtdXt​​。根据之前的工作 ,我们通过                                              X                            0                                       \mathbf{X}_{0}                  X0​ 和                                              X                            1                                       \mathbf{X}_{1}                  X1​ 之间的简单线性插值来盘算                                              X                            t                                       \mathbf{X}_{t}                  Xt​:
                                              X                            t                                  =                         t                                 X                            1                                  +                         (                         1                         −                         t                         )                                 X                            0                                       \mathbf{X}_{t}=t \mathbf{X}_{1}+(1-t) \mathbf{X}_{0}                  Xt​=tX1​+(1−t)X0​
而                                              V                            t                                       \mathbf{V}_{t}                  Vt​ 的解析解可表示为:
                                              V                            t                                  =                                              d                                           X                                  t                                                            d                               t                                          =                                 X                            1                                  −                                 X                            0                                       \mathbf{V}_{t}=\frac{d \mathbf{X}_{t}}{d t}=\mathbf{X}_{1}-\mathbf{X}_{0}                  Vt​=dtdXt​​=X1​−X0​
最后,训练目标定义为:
                                                    L                               Flow                                     (                            θ                            )                            =                                       E                                                      (                                                   X                                        1                                                ,                                     Q                                     )                                              ∼                                  D                                  ,                                  t                                  ∼                                  U                                  (                                  0                                  ,                                  1                                  )                                  ,                                             X                                     0                                              ∼                                  N                                  (                                  0                                  ,                                  1                                  )                                                            [                                                      ∥                                                   V                                        θ                                                                (                                                       X                                           t                                                      ,                                        Q                                        ,                                        t                                        )                                                −                                                   V                                        t                                                ∥                                              2                                          ]                                          \mathcal{L}_{\text {Flow }}(\theta)=\mathbb{E}_{\left(\mathbf{X}_{1}, \mathbf{Q}\right) \sim \mathcal{D}, t \sim \mathcal{U}(0,1), \mathbf{X}_{0} \sim \mathcal{N}(0,1)}\left[\left\|\mathbf{V}_{\theta}\left(\mathbf{X}_{t}, \mathbf{Q}, t\right)-\mathbf{V}_{t}\right\|^{2}\right]                     LFlow ​(θ)=E(X1​,Q)∼D,t∼U(0,1),X0​∼N(0,1)​[∥Vθ​(Xt​,Q,t)−Vt​∥2]
此中,                                 θ                              \theta                  θ 是扩散变换器的参数,                                             V                            θ                                          (                                       X                               t                                    ,                            Q                            ,                            t                            )                                       \mathbf{V}_{\theta}\left(\mathbf{X}_{t}, \mathbf{Q}, t\right)                  Vθ​(Xt​,Q,t) 表示基于实例(                                             X                            1                                  ,                         Q                              \mathbf{X}_{1}, \mathbf{Q}                  X1​,Q)、时间步                                    t                              t                  t 和噪声                                              X                            0                                       \mathbf{X}_{0}                  X0​ 预测的速度。
讨论  与离散标志(token)不同,离散标志本质上支持基于采样的计谋来探索多样化的生成路径,而连续表示则不具备这一特性。具体而言,在基于均方误差(MSE)的训练目标下,对于给定的提示(prompt),预测的视觉特性                                    Q                              \mathbf{Q}                  Q 险些变为确定性的。因此,无论视觉解码器是基于变分自编码器(VAEs)还是 CLIP + 扩散(CLIP + Diffusion)架构,在多次推理运行中,输出的图像险些完全相同。这种确定性凸显了 MSE 目标的一个关键局限性:它限定了模型为每个提示生成单一、固定的输出,从而限定了生成的多样性。
相比之下,流匹配(Flow Matching)框架使模型可以或许继承扩散过程的随机性。这使得模型可以或许在相同提示的条件下生成多样化的图像样本,从而促进对输出空间的更广泛探索。然而,这种灵活性是以增加模型复杂度为代价的。与 MSE 相比,流匹配引入了额外的可学习参数。在我们的实现中,我们使用了扩散变换器(Diffusion Transformer,DiT),并从经验上发现,扩大其容量可以或许带来明显的性能提拔。
3.3 设计选择

不同图像编码器 - 解码器架构与训练目标的组合为图像生成模型带来了一系列设计选择。这些设计选择如图3所示,对生成图像的质量和可控性有着明显影响。在本节中,我们将总结并分析不同编码器类型(比方,变分自编码器(VAEs)与CLIP编码器)和损失函数(比方,均方误差(MSE)与流匹配(Flow Matching))所带来的衡量。
CLIP + MSE  遵照Emu2 、Seed-X 和Metamorph 的方法,我们使用CLIP将图像编码为64个固定长度且语义丰富的视觉嵌入。自回归模型被训练以最小化预测视觉特性                                 Q                              \mathbf{Q}                  Q与真实CLIP嵌入                                 X                              X                  X之间的均方误差(MSE)损失,如图3(a)所示。在推理过程中,给定文本提示                                 C                              \mathbf{C}                  C,自回归模型预测埋伏视觉特性                                 Q                              \mathbf{Q}                  Q,随后将其传递给基于扩散的视觉解码器以重修真实图像。
CLIP + Flow Matching  作为MSE损失的替换方案,我们接纳流匹配损失来训练模型以预测真实CLIP嵌入,如图3(b)所示。给定提示                                 C                              C                  C,自回归模型生成一系列视觉特性                                 Q                              Q                  Q。这些特性用作条件来引导扩散过程,从而产生预测的CLIP嵌入以逼近真实CLIP特性。本质上,推理流程包罗两个扩散阶段:第一阶段使用条件视觉特性                                 Q                              \mathbf{Q}                  Q迭代去噪为CLIP嵌入;第二阶段则通过基于扩散的视觉解码器将这些CLIP嵌入转换为真实图像。这种方法在第一阶段实现了随机采样,从而允许图像生成具有更大的多样性。
VAE + Flow Matching  我们还可以使用流匹配损失来预测图3©中所示的真实VAE特性,这与MetaQuery 类似。在推理时,给定提示                                 C                              C                  C,自回归模型生成视觉特性                                 Q                              \mathbf{Q}                  Q。然后,在                                 Q                              \mathbf{Q}                  Q的条件下,并在每一步迭代去噪,真实图像由VAE解码器生成。
VAE + MSE  由于我们的重点是自回归 + 扩散框架,因此我们排除了VAE + MSE方法,因为它们没有包罗任何扩散模块。
实现细节  为了比力各种设计选择,我们使用Llama-3.2-1B-Instruct作为自回归模型。我们的训练数据包括CC12M 、SA-1B 和JourneyDB ,总计约2500万个样本。对于CC12M和SA-1B,我们利用LLaVA生成的详细标题;而对于JourneyDB,我们使用原始标题。使用流匹配损失的图像生成架构的详细描述在5.1节中给出。
https://i-blog.csdnimg.cn/direct/01f0afdf225b4c609346953a781ed1af.png
结果  我们在MJHQ-30k 数据集上陈诉了用于评估视觉美学质量的FID分数,以及用于评估提示对齐度的GenEval 和DPG-Bench 指标。我们约莫每3200个训练步调绘制一次每种设计选择的结果。图4显示,CLIP + Flow Matching在GenEval和DPG-Bench上均取得了最佳的提示对齐度分数,而VAE + Flow Matching则产生了最低(最佳)的FID分数,表明其美学质量更高。然而,FID存在固有局限性:它量化了与目标图像分布的风格偏差,并常常忽视真实的生成质量和提示对齐度。究竟上,我们在MJHQ-30k数据集上对GPT-4o的FID评估产生了约30.0的分数,这凸显了FID在图像生成评估中大概具有误导性。总体而言,我们的实验表明CLIP + Flow Matching是最有用的设计选择。
讨论  在本节中,我们对同一多模态框架内图像生成的各种设计选择进行了全面评估。我们的结果清晰地表明,与VAE特性相比,CLIP的特性产生了更紧凑且语义更丰富的表示,从而进步了训练效率。与像素级特性相比,自回归模型能更有用地学习这些语义级特性。此外,流匹配被证实是建模图像分布的更有用训练目标,从而产生了更大的样本多样性和更高的视觉质量。
https://i-blog.csdnimg.cn/direct/63e277c4b6074b1389bef7d77c4eda62.png
4 同一多模态模型的训练计谋

基于我们的图像生成研究,下一步是开辟一个可以或许同时执行图像理解和图像生成的同一模型。对于图像生成模块,我们接纳CLIP + 流匹配(Flow Matching)方法。由于图像理解也在CLIP的嵌入空间中运作,我们将这两个使命对齐到同一个语义空间中,从而实现它们的同一。在此背景下,我们讨论两种实现这种集成的训练计谋。
4.1 联合训练与次序训练

联合训练  图像理解和图像生成的联合训练在最近的一些工作中已成为常见做法,比方Metamorph 、Janus-Pro 和Show-o 。尽管这些方法在图像生成方面接纳了不同的架构,但它们都通过混合图像生成和理解的数据来进行多使命学习。
https://i-blog.csdnimg.cn/direct/f25e151cef224d5ebf5c17f246dca0eb.png
次序训练  与同时训练图像理解和生成不同,我们接纳两阶段的方法。在第一阶段,我们仅训练图像理解模块。在第二阶段,我们冻结多模态大型语言模型(MLLM)的主干网络,并仅训练图像生成模块,类似于LMFusion 和MetaQuery 的做法。
4.2 讨论

在联合训练设置中,尽管如Metamorph 所示,图像理解和生成使命大概相互受益,但有两个关键因素会影响它们的协同效应:(i)总数据量,以及(ii)图像理解数据与生成数据之间的数据比例。相比之下,次序训练提供了更大的灵活性:它允许我们冻结自回归主干网络,并保持图像理解本领。我们可以将全部训练本领专门用于图像生成,避免联合训练中大概存在的使命间影响。此外,受LMFusion 和MetaQuery 的启发,我们将选择次序训练来构建我们的同一多模态模型,并将联合训练留待未来工作。
5 BLIP3-o:我们开始辈的同一多模态模型

基于我们的研究发现,我们接纳CLIP + 流匹配(Flow Matching)和次序训练计谋,开辟了我们本身开始辈的同一多模态模型BLIP3-o。
5.1 模型架构

我们开辟了两种不同规模的模型:一种是在专有数据上训练的80亿参数模型,另一种是仅使用开源数据训练的40亿参数模型。思量到存在强大的开源图像理解模型,如Qwen 2.5 VL ,我们跳过了图像理解训练阶段,并直接在Qwen 2.5 VL上构建了我们的图像生成模块。在80亿参数模型中,我们冻结了Qwen2.5-VL-7B-Instruct主干网络,并训练了扩散变换器(Diffusion Transformers,DiT),总共有14亿可训练参数。40亿参数模型接纳了相同的图像生成架构,但使用Qwen2.5-VL-3B-Instruct作为主干网络。
扩散变换器(Diffusion Transformer, DiT)架构  我们接纳了Lumina-Next模型的架构作为我们的DiT。Lumina-Next模型基于改进的Next-DiT架构构建,这是一种可扩展且高效的扩散变换器,专为文本到图像和通用多模态生成而设计。它引入了三维旋转位置嵌入(3D Rotary Position Embedding),以在不依靠可学习位置标志的情况下,对时间、高度和宽度上的时空结构进行编码。每个变换器块都接纳了夹层归一化(注意力/多层感知机前后均使用RMSNorm)和分组查询注意力(Grouped-Query Attention)来加强稳定性和减少盘算量。基于经验结果,这种架构可以或许实现快速、高质量的生成。
5.2 训练方案

阶段1:图像生成的预训练  对于80亿参数模型,我们将约2500万开源数据(CC12M 、SA-1B 和JourneyDB )与额外的3000万张专有图像相结合。全部图像标题均由Qwen2.5-VL-7B-Instruct生成,提供详细的描述,平均长度为120个标志。为了进步对不同提示长度的泛化本领,我们还从CC12M 中包罗了约10%(600万)的较短标题(约20个标志)。对于完全开源的40亿参数模型,我们使用了来自CC12M 、SA-1B 和JourneyDB 的2500万公开图像,每张图像都配有相同的详细标题。我们还混合了来自CC12M 的约10%(300万)的短标题。为了支持研究社区,我们发布了2500万条详细标题和300万条短标题。
阶段2:图像生成的指令微调  在图像生成预训练阶段之后,我们观察到模型存在以下一些弱点:


[*]生成复杂的人类手势,比方“一个人正在拉弓射箭”。
[*]生成常见物体,如各种水果和蔬菜。
[*]生成地标,比方“金门大桥”。
[*]生成简单文本,比方“在街道外貌上写有‘Salesforce’这个词”。
尽管这些类别本应在预训练期间被涵盖,但由于我们预训练语料库的规模有限,它们并未得到充分处理。为了解决这一标题,我们针对这些特定领域进行了指令微调。对于每个类别,我们提示GPT-4o生成约莫10,000个提示-图像对,从而创建一个有针对性的数据集,以进步模型处理这些情况的本领。为了进步视觉美学质量,我们还从JourneyDB 和DALL-E 3中提取提示来扩展数据。这一过程产生了约莫60,000个高质量提示-图像对的精选集合。我们还发布了这60,000个指令微调数据集。
5.3 结果

为了进行基线比力,我们包括了以下同一模型:EMU2 Chat 、Chameleon 、Seed-X 、VILA-U 、LMfusion 、Show-o 、EMU3 、MetaMorph 、TokenFlow 、Janus 和Janus-Pro 。
图像理解 :在图像理解使命中,我们在VQAv2 、MMBench 、SeedBench 、MM-Vet 、MME-Perception和MME-Cognition 、MMMU 、TextVQA 和RealWorldQA 等基准上评估了模型性能。如表1所示,我们的BLIP3-o 8B在大多数基准测试中取得了最佳性能。
https://i-blog.csdnimg.cn/direct/3497071631fe44eab35636167a50ef44.png
https://i-blog.csdnimg.cn/direct/89feeceedea740199e87fe9ff58ae2ca.png
图像生成 :在图像生成基准测试中,我们陈诉了GenEval 和DPG-Bench 来衡量提示对齐度,以及WISE 来评估世界知识推理本领。如表2所示,BLIP3-o 8B在GenEval上取得了0.84的分数,在WISE上取得了0.62的分数,但在DPG-Bench上的分数较低。由于基于模型的DPG-Bench评估大概不可靠,我们在下一节中通过人工研究补充了全部DPG-Bench提示的结果。此外,我们还发现指令微调数据集BLIP3o-60k能立即带来提拔:仅使用60k提示-图像对,提示对齐度和视觉美学均明显进步,许多生成瑕疵也迅速减少。尽管该指令微调数据集无法完全解决一些复杂情况(如复杂人类手势生成),但它明显提拔了整体图像质量。
5.4 人工研究

在本节中,我们进行了一项人工评估,比力了BLIP3-o 8B和Janus Pro 7B在约1000个来自DPG-Bench的提示上的体现。对于每个提示,标注员根据两个指标对图像对进行并排比力:


[*]视觉质量 :指示为“全部图像均使用不同方法从同一文本输入生成。请根据视觉吸引力(如布局、清晰度、物体外形和整体整洁度)选择您最喜欢的图像。”
[*]提示对齐度 :指示为“全部图像均使用不同方法从同一文本输入生成。请选择图像与文本内容对齐度最高的图像。”
https://i-blog.csdnimg.cn/direct/eafa250779f6444d914f1108e3bc2f5a.png
每个指标分别在两轮中进行评估,每个尺度产生约3000个判断。如图6所示,尽管Janus Pro在表2中取得了更高的DPG分数,但BLIP3-o在视觉质量和提示对齐度方面均优于Janus Pro。视觉质量和提示对齐度的p值分别为5.05e-06和1.16e-05,表明我们的模型在统计上明显优于Janus Pro。
6 未来工作

现在,我们正在将我们的同一多模态模型扩展到下游使命,如图像编辑、多轮视觉对话以及交织生成等。作为第一步,我们将重点关注图像重修:
将图像输入到图像理解视觉编码器中,然后通过图像生成模型进行重修,以无缝衔接图像理解和生成。基于这一本领,我们将收集指令微调数据集,以使模型顺应各种下游应用。
7 相关工作

近期的研究强调了同一多模态模型(既能进行图像理解又能进行图像生成)作为一种有前景的研究方向。比方,SEED-X 、Emu-2 和MetaMorph 通过回归损失来训练图像特性,而Chameleon 、Show-o 、EMU3 和Janus 则接纳了自回归离散标志预测范式。与此同时,DreamLLM 和Transfusion 利用扩散目标进行视觉生成。据我们所知,我们对自回归和扩散框架中的设计选择进行了首次系统性研究。
关于同一模型训练计谋,LMFusion 基于冻结的多模态大语言模型(MLLM)主干网络,同时结合了使用Transfusion 进行图像生成的变换器模块。我们的方法与LMFusion的一个关键相似之处在于,两种方法都冻结了MLLM主干网络,并仅训练图像特定的组件。然而,LMFusion结合了并行的变换器模块用于图像扩散,明显扩大了模型规模。相比之下,我们的方法引入了一个相对轻量级的扩散头以实现图像生成,从而保持了更易于管理的整体模型规模。同时期的工作MetaQuery 也使用可学习的查询来桥接冻结的预训练MLLM和预训练的扩散模型,但扩散模型接纳的是变分自编码器(VAE)+流匹配(Flow Matching)计谋,而不是我们BLIP3-o中更高效的CLIP+流匹配计谋。
8 结论

总之,我们对混合自回归和扩散架构在同一多模态建模中的设计选择进行了首次系统性探索,评估了三个关键方面:图像表示(CLIP特性与VAE特性)、训练目标(流匹配与均方误差)以及训练计谋(联合训练与次序训练)。我们的实验表明,CLIP嵌入与流匹配损失的结合既进步了训练效率,又提拔了输出质量。基于这些看法,我们引入了BLIP3-o,这是一系列开始辈的同一模型,并辅以一个包罗60k指令微调数据集BLIP3o-60k,明显进步了提示对齐度和视觉美学效果。我们正在积极研究同一模型在迭代图像编辑、视觉对话以及渐渐视觉推理等应用中的潜力。
附录A 图2中使用的提示词



[*]一辆蓝色宝马汽车停在一堵黄色砖墙前。
[*]一名女子在阳光妖冶的小巷中旋转,小巷两旁是色彩斑斓的墙壁,她的夏日连衣裙在旋转中闪耀着光芒。
[*]一群朋友正在野餐。
[*]一片茂密的热带瀑布,在反光的金属路标上写着“深度学习”。
[*]一只蓝松鸦站在一大篮彩虹色马卡龙上。
[*]一只海龟在珊瑚礁上方游动。
[*]一名年轻的红发女子戴着草帽,站在金色的麦田里。
[*]三个人。
[*]一名男子在电话中兴奋地交谈,嘴巴快速动着。
[*]日出时的野花卉地,“BLIP3o”投影在雾蒙蒙的外貌上。
[*]一个彩虹色的冰洞,在潮湿的沙滩上画着“Salesforce”。
[*]一个巨大的玻璃瓶,里面装着一片微型的夏日丛林。
[*]漫步在纽约市曼哈顿冰冻的街道上——冰冻的树木和冰冻的帝国大厦。
[*]一座灯塔孤独地矗立在狂风雨的海面上。
[*]一只孤独的狼在闪烁的北极光下。
[*]一只发光的鹿在霓虹灯照亮的未来丛林中行走。
[*]一对情侣手牵手漫步在充满活力的秋日公园中,落叶轻轻地在他们周围飘落。
[*]一艘好奇的船,外形像一只巨大的绿色西兰花,在豁亮的阳光下漂泊在波光粼粼的海面上。
[*]路上写着“Transformer”。
[*]蓝色T恤上写着“Diffusion”。
[*]一只金毛寻回犬平静地躺在木制门廊上,周围散落着秋天的落叶。
[*]一只浣熊戴着侦探帽,用放大镜解谜。
[*]一位赛博朋克风格的女子,身上散发着发光的纹身,机械手臂在全息天空下。
[*]雪山山顶在清澈的高山湖泊中的倒影,形成了一个完美的镜像。
[*]一名男子在阳光妖冶的阳台上喝咖啡,阳台上摆满了盆栽植物,他穿着亚麻衣服和太阳镜,沐浴在晨光中。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: BLIP3-o:一系列完全开源的同一多模态模型——架构、训练与数据集