本报告介绍了xGen-MM(也称为BLIP-3),这是一个用于开发大型多模态模型(LMMs)的框架。该框架包括精心策划的数据集、训练配方、模型架构以及一系列LMMs。xGen-MM,即xGen-多模态,扩展了Salesforce xGen在基础AI模型上的倡议。 作者对这些模型进行了广泛的任务评估,包括单图像和多图像基准测试。 作者预训练的基模型展现了强大的上下文学习能力,而指令调整的模型在类似模型大小的开源LMMs中展示了有竞争力的性能。 此外,作者还引入了一个带有DPO的安全调整模型,旨在减轻幻觉等有害行为并提高安全性。作者开源了模型、策划的大规模数据集以及微调代码库,以促进LMM研究的进一步发展。
1 Introduction
大型多模态模型(LMMs)因其潜在的应用和新兴能力而受到广泛关注。最近,专有模型[2-5]和开源LMMs[6, 1, 7-11]的进展突显了这一领域的快速进步和日益增长的兴趣。然而,尽管取得了这些进步,开源模型与专有模型之间在开放权重、训练配方和策划数据集的获取方面仍存在差距。这些限制阻碍了开源社区复制、理解和改进LMMs。
近期的工作表明,大规模和高质量的数据对于训练稳健的LMMs至关重要[8-12]。BLIP-2[1]是探索LMMs的先驱之一,它利用合成数据在当时取得了令人印象深刻的结果(图1(a))。然而,BLIP-2使用的数据在规模、质量和多样性方面不足以与现今更现代的LMMs相匹敌。此外,BLIP-2采用了复杂的Q-Former[1]架构来桥接视觉和语言模态,并附带一系列复杂的训练目标(ITM、ITC和ITG损失),这些都为更大规模的训练设置了障碍。而且,BLIP-2只支持单图像输入,而交错的多模态数据格式才是最自然的多模态数据形式[13]。
为了应对这些挑战,作者推出了xGen-MM(BLIP-3)(图1(b)),这是一个新的框架,旨在通过利用交错多模态数据集、策划的标题数据集以及其他公开可用的数据集[14-17]来扩大LMM训练。xGen-MM,即xGen-多模态,进一步扩展了作者之前的生成式AI倡议及其对应的文本xGen[18]、代码生成codeGen[19, 20]、函数调用APIGen[21]等基础模型。在xGen-MM(BLIP-3)中,如图2所示,作者通过用更可扩展的视觉令牌采样器(特别是感知器重采样器[22])替换Q-Former[1]并简化训练目标,专注于多模态上下文中文本令牌的自回归损失,从而简化了模型架构。作者的主要重点是数据集策划和扩大训练数据。最近,作者的BLIP-3团队推出了两个大规模、高质量的数据集:MINT-1T[12],一个万亿令牌规模的交错数据集;以及BLIP3-KALE,一个知识增强的高质量密集标题数据集。在本技术报告中,作者介绍了两个额外的专业数据集:BLIP3-OCR-200M,一个带有密集OCR注释的大规模数据集;以及BLIP3-GROUNDING-50M,一个大规模的视觉定位数据集。
除了这些数据集,作者还致力于开源在这项工作中开发的一系列模型,包括基础模型、指令调整模型和DPO模型。随着模型发布,作者还提供了易于在自定义数据集上微调基础模型的代码。通过公开这些资源,作者旨在使LMM的研究和开发更加易于社区接触,并鼓励研究人员和实践者使用作者的模型和数据集来理解和进一步探索LMMs的潜力和新兴能力。
2 Related Work
近年来,在大型多模态模型(LMMs)中进行了许多创新性研究,主要探讨了两种主要架构方法:交叉注意力(cross-attention)式和仅解码器(decoder-only)式。交叉注意力方法的代表模型有Flamingo [22, 23]和Llama 3.1 [5],它通过复杂关注机制将视觉和语言模态集成在一起,实现深度多模态理解。另一种方法是仅解码器架构(decoder-only architecture),例如作者采用的xGen-MM(BLIP-3),它使用轻量级的连接器将预训练语言模型与视觉输入连接起来,简单化整合过程,同时保持强大的多模态能力。这种架构的有效性在模型如MM1 [9],VILA [10],LLAVA [8],phi3-vision [37],和Otter [38]中得到体现。
LMMs的训练方法通常遵循两种策略之一。第一种策略采用轻量级预训练程序,并严重依赖视觉指导调优,如LLAVA系列 [8, 29]。已经在各种任务上进行了大量研究,以创建有效指导调优数据 。第二种策略涉及在大型规模、多样化的数据集上进行广泛预训练,然后进行视觉指导微调。这种方法由模型如MM1和Idefics2 [11]采用,将模型注入大量知识,然后微调以适应人类的交互和安全标准。尽管MM1 [9]提供了广泛裁剪和关于优化LMMs的研究所需,但对实践者采用模型和数据集的供应有限(例如,MM1模型和数据集是有限的源代码)。而Idefics2 [11] 是一项更近期的开源工作,它公开发布了一系列模型,以及详细的训练策略和数据食谱,但Idefics2 主要在实验中使用现有数据集,而没有贡献新的数据集。
在这项工作中,作者提出了xGen-MM(BLIP-3)。与先前的作品不同,xGen-MM(BLIP-3)是一个开放的模型系列,数据食谱,微调代码和两个大规模的基础多模态数据集,作者希望能促进和推动未来在这一领域的研究。
3 Model Architecture
如图2所示,xGen-MM(BLIP-3)框架采用了一种体系结构,包括一个基于自注意力机制的视觉标记[44, 45]和感知器重采样器[22]来降采样图像嵌入,以及一个预训练的大型语言模型(phi3-mini[37])。模型输入可以是来自作者多元化的多模态数据源的任意格式多模态文本和视觉标记。
任意分辨率视觉标记采样。如最近[46, 47, 48]在LMMs中证明有效的动态高分辨率图像(即, "任意分辨率")编码策略,作者在微调和后训练阶段采用图像分块编码的方式实现更高分辨率的图像理解。分块编码通过将单个图像拆分为多个块并分别编码来尽可能保留原始图像的分辨率。遵循惯例,作者将编码过的图像块与缩小后的原始图像(提供全局信息)连接在一起。
在VL连接器中,作者使用感知器重采样器降采样视觉标记。由于采用了任意分辨率的图像编码策略,作者可以独立地对每个图像块(包括缩小后的原始图像)进行降采样。降采样后的视觉标记被连接在一起,然后发送到LLM。通过作者在VL连接器中的降采样,作者可以将视觉标记的序列长度减少到感知器重采样器的倍数。
4 Training
预训练。在预训练过程中,作者的目标是预测在作者预训练的数据集混合上接下来的一对文本 Token 。总的来说,预训练得到的的基础模型xGen-MM-Phi3-mini-base-r是从组合数据集中预训练了大约100万亿个多模态 Token ,并且作者的预训练分辨率为384x384像素,与SigLIP [45]相匹配。
监督优化(SFT)。进一步在指令遵循的示例上 fine-tune作者的预训练模型,使它们更好地理解并遵循用户 Query 。在 fine-tuning 阶段,作者使用一组公开可用的指令遵循数据集 [11, 29, 49]。作者采用任意分辨率的视觉 token 采样策略,以允许更好地理解高分辨率的图像,如富含文本的文档数据。在下一阶段 fine-tuning 的部分将介绍 fine-tuning 阶段的详细技术细节。
多图像和单图像混合监督优化。在指令 fine-tuned 模型上进行第二阶段 fine-tuning,该模型是在多图像和单图像指令遵循样本文本的混合中得到的。这个第二阶段 fine-tuning 的目标是增强模型理解和处理交错图像-文本输入的能力,这对于多模态情境学习、多图像问答等许多实际应用非常有帮助。在进行多图像 fine-tuning 时,作者也采用与第一阶段 SFT 相同的任意分辨率的视觉 token 采样策略。
后训练。最后,作者进行两阶段后训练,分别在增强模型有益特征的同时减少有害特征,如歧义和毒性。作者首先执行直接偏好优化 (DPO [50]),以增强模型的有益性和视觉忠实度。然后执行安全性 fine-tuning,以增强模型的安全性。作者在作者的后训练之后定量性地展示了模型有害性和有益性的 Pareto 收益。
5 Data
第五部分数据的开端。
Pre-training Data Recipe
如图3所示,在xGen-MM(BLIP-3)中,作者预训练在一个包含指示采样比例的多种多模态数据集的集合上。
交错数据集混合。作者将MINT-1T(包括其HTML、PDF和ArXiv子集)与OBELICS(仅HTML)相结合,以创建一个更多样化和全面的数据集混合,覆盖更广泛的领域范围。
- MINT-1T[12]是一个万亿标记规模的多模态交错数据集,包括来自HTML、PDF和ArXiv的数据源。如MM1 [9]和Idefics2 [11]所示,此类多模态交错数据集对于扩展大型多模态模型训练,并实现诸如多模态情境学习等基本功能至关重要。值得注意的是,与OBELICS[11]不同,MINT-1T具有三个来自不同源的子集:HTML子集、PDF子集和ArXiv子集,这三个子集以7:5:1的比例混合在一起。
- OBELICS[11]是一个由仅HTML文档构建的大规模多模态交错数据集。由于采用的特定预处理步骤,其领域覆盖范围与MINT-1T略有不同。
标注数据集混合。作者整合了一系列不同类型的标注数据集,具体说明如下。
- BLIP3-KALE是一个大型高质量的标注数据集。具体细节将在另一篇论文中讨论,该数据集将会很快公开。
- BLIP3-OCR-200M是一个针对现有大型多模态模型在处理像文档和图表等文本丰富的图像的局限性的 curated 大型多模态标注数据集。为了增强文本理解能力,作者使用PaddleOCR[51]图像识别引擎对图像进行 OCR 特定的标注。总的来说,作者从一个名为Datacomp-1B[17]的范围内curated 200亿像素的高分辨率图像的数据集中构建了一个数据集。对于每个图像,作者用 OCR 数据创建标题,通过识别和提取文字元素来识别和提取文本。作者用例如_"... text... "这样的标题中的文本来替换文本段落,并将 OCR 信息添加到"... text( ocr_info)..."_中,其中ocr_info 包含提取到的文本的边界框坐标,以图像中特定位置的格式表示,如"bboxx_1<>,y_2/bbox"。作者提供了多种类型的 OCR 信息,包括带和无边界框数据的。在作者的工作中,作者仅使用了不带边界框数据的文本信息,这一点作者已经证明了其有效性。在 xGen-MM(BLIP-3)中,作者对标注进行预处理,以删除像“文本”这样的填充文本,作者认为这样可以提高 OCR 相关的基准测试性能。作者猜测这是因为像这样的填充文本相对容易被预测,可能会削弱与 OCR 相关的标记的损失。不过,将边界框信息引入其中可能会进一步提升表现,作者鼓励社区的 researchers 探索这个潜在的方向。
- BLIP3-GROUNDING-50M是一个针对增强在视觉特征中定位语义概念的能力的 curated 大型多模态标注数据集,这对于像目标检测、语义分割和理解指向表达式[52](例如“狗的左边的物体”)等任务至关重要。作者curate 了一个从Datacomp-1B[17]中curated的5亿像素图像的数据集。对于每个图像,作者用一种最先进的开放世界图像标记[53]和目标检测模型[54]来识别目标及其位置信息。例如在标题中提到的“... object...”,作者会将它们修改为包含定位信息如“... object(groundinginfo)..." 的格式,其中 groundinginfo 包含了文本的边界框信息,以图像的左上角、从左上角开始并延伸到右下角或图像左上角作为位置标识的不同粒度定位方式。
- 其他公开数据集混合: 此外,作者还包括像未curated Datacomp-1B[17]图像文本对,CC12M [14],CC3M [14],VG [15],SBU [16]等一些公开的数据集。
Supervised Fine-tuning Data Recipe
在微调阶段使用的数据集来自不同领域的公开数据集。作者包括涉及多个模态对话 [29]、图像描述 [55, 56]、视觉问答、图表/文档理解 、科学与数学 [65, 66]等各种模态图像文本数据。除多模态图像文本数据外,在视觉指令微调期间,作者还混合了纯净文本指令数据 。最终,作者收集了包含一百万个公开可用指令微调样本的混合,并在这些样本上对作者的模型进行一个epoch的微调。
多图像指令微调阶段开始于在单个图像样本上进行模型微调。作者使用一个由公共多图像/交错图像文本指令数据 [69, 70]组成的混合。为了避免模型在单图像能力上退化,作者重用了之前微调阶段中使用的单图像数据集的子集,并将它们混合到多图像训练数据中。
Post-training Data Recipe
改进真理性的直接偏好优化。作者使用VLFeedback [71],一个由可用的 vl-transformers [72]生成的合成的多模态偏好数据集,这些数据集的响应与多种多模态指令相关,然后通过GPT4-V [2]在三个轴上对其进行评分——有益性、视觉忠实度(视觉信仰)和伦理。该数据集包含80,000条这样的指令,其中作者通过标记首选(次选)的响应,并过滤出平均得分较低(较高)的已首选(已排除)响应的示例来构建偏好数据,从而生成了62,600个偏好示例。
作者进行一次周期(Epoch)的DPO并在使用LoRA [72]进行低秩归一化(LoRA [72])的同时更新部分LLM Backbone 权重(subset,2.5%)。同时,根据最近的研究[50],作者还生成了一套捕获模型内在(内在)假象(幻觉)的响应, 通过在每个迭代中针对该模型的输出,并到一个新的噪声输入图像和原始 Query 的“无害”版本进行DPO,作者将其视为另一个次选响应的额外不喜欢的响应。
图4:BLIP3-OCR-200M 的样本。 6个 Level 的OCR信息粒度,包括有和没有边界框数据。请注意,像xGen-MM (BLIP-3), OCR相关的标题经过预处理以删除填充词句(例如 ''文本'') ,从而提高了OCR基准测试性能。
通过安全微调改进无害性。接下来,作者在VLGuard [73]的训练拆分上进行3次安全微调,其中包含2,000个不安全图像和指令的例子。VLGuard包括两种类型的不安全例子:
(1)与安全指令配对的有害图像和可喜避行为(desirable abstention response),(2)与安全图像配对的安全和危险/敏感话题(例如政治、性、暴力)、欺骗和歧视等不同类别的不安全例子。遵循原来工作的方法,从指令精炼数据集中随机取样5k个额外示例以保留模型的有益性,同时不夸大其安全性行为。与前文一样,使用LoRA [72] 对LLM Backbone 权重执行子集更新(占2.5%)。
6 实验
Pre-training
少样本评估。在预训练阶段之后,作者在经典描述和VQA任务上将作者的预训练模型进行评估, compared with previous models that支持少样本学习多模态评价。作者提出了零样本和少样本(4-和8-shots)的结果,如表1所示。总的来说,作者的模型在可比较大小(1.0B)的LMMs下实现了具有竞争力的多模态上下文学习性能。对于OCR任务(TextCaps和TextVQA)和VQA-v2,它在MM1-3B和更大模型(如Identity-X、MM1-7B)之上实现了显著优势。在所有基准测试中,增加样本数量可以提高性能,从而演示了模型适应上下文分布的能力。
有监督微调
作者对作者的模型在多模态(图像文本)基准测试集上进行评估,从多个角度评估模型的性能。作者的评估包括以下视角的一般VQA基准测试,视觉感知[49],领域知识,OCR能力和幻想。对于在交错多图像数据集上进行微调的模型,作者也评估它们的性能在通用多图像基准测试上的表现。
图5:[来自于BLIP3-GROUNDING-50M。] 作者引入了一个大规模包含图像及其对应描述以及有关目标的局部化信息的图像和文字数据集。此外,作者还发布了相关的目标边界框数据以方便使用自定义模板创建描述。
单图评估。在表2中,作者与可比大小的模型(<5.0B)进行了比较,包括封闭源和最先进的开源模型[9,10,37]。作者报告了各基准测试的个别分数以及两种平均分数:"Avg.(all)"是所有基准的平均,"Avg.(perc.)"则是关注通用VQA和视觉感知的基准的平均分数。xGen-MM-instruct在通用VQA和视觉感知基准上都超过了之前的 Baseline 。此外,作者发现 xGen-MM-instruct-interleave虽进一步在多图像数据上进行微调但维持了良好的性能在单图像基准上,并且获得了最高的总体分数。
多图评估。在表3中,作者将xGen-MM-instruct与xGen-MM-instruct-interleave在多图像基准测试上进行了比较。尽管前者从xGen-MM-base这个可以理解交错图像文本数据的模型上进行微调,但在多图像基准上的表现较差。作者认为这可能是因为单独在单图像数据上进行微调伤害了这种能力。在多图像SFT,作者看到了显著的改进。此外,作者还对这些模型在单图基准测试(参见表2)上的表现进行了评估,并发现它们在所有基准上都保持了良好的表现,获得了最高的总体分数。
微调后训练
表4总结了xGen-MM-instruct的两种后训练策略的结果。作者使用VLGuard测试集上的ASR%(攻击成功率)来衡量安全性能,使用HallusionBench[82](图像-上下文推理的准确性)和POPE[83](二元实体存在的平均F1分数)来衡量幻觉性能。为确保后训练不会损害其有用的帮助性,作者报告了几个理解基准的成绩作为控制。
图6:[来自于xGen-MM-instruct-interleave的模型输出。] 该模型在理解交错图像文本输入和用户关于多个图像的 Query 的同时,保持了对单图像QA的性能。
DPO增强了真实性,通过提高幻觉基准(行2)来增强真相[2,3]。安全微调显著减少了ASR(行3)。友善性略有提高,这是由控制基准得出的。最终的模型xGen-MM-dpo包括所有改进。
7 Ablation Studies
Pre-training Ablation
扩展预训练数据.作者在2B到100B多模态标记的范围内进行数据缩放实验,以探索预训练数据量与预训练评估指标之间的关联。在本文中使用的数据配方是图像描述数据集和多模态交错数据的混合。如图7所示,作者发现将多模态标记数量从2B增加到60B时,图像文本(COCO-Caps)和OCR(Text-Caps,TextVQA)任务的性能有显著提高,而将数据量增加到100B,则对少样本评估指标具有中等程度的额外好处。
预训练数据配方.作者讨论了不同数据配方对预训练的影响,作者使用Obelics [13]作为多模态交错数据的来源,同时保持与描述数据集的混合物相同。作者还考虑了两种其他配方:(1)使用MINT-1T [12]作为交错数据的替代;(2)将纯文本只指令调优数据混合作为预训练数据集。如表5所示,作者发现使用MINT-1T对于图像文本对齐(COCO-Caps)和OCR(Text-Caps,TextVQA)任务性能改善,但在OK-VQA上略有性能下降,这是一个知识密集型任务。作者还发现,添加文本数据可以帮助实现依赖于LLM能力的表现。在表6中,给出了不同的视觉 Backbone (4-shot / 8-shot)下的少样本(4-shot / 8-shot)性能。
视觉 Backbone .作者还研究了不同的视觉 Backbone 对于视觉语言任务性能的影响。作者比较了两种类型的视觉编码器,DFN和SigLIP。实际上,作者发现SigLIP提供了更好的视觉表示,从而提升了OCR任务的表现。视觉标记数量。另一个分解实验则是研究不同的视觉标记数量,即输入图像标记进入语言模型。作者发现,将视觉标记数量从128减少到64仍然可以获得相似的性能,如表7所示。这样一来,模型可以在固定上下文窗口下获取更多的视觉图像。
SFT Ablation
在指令微调阶段,作者进行了消融试验,主要针对一些模型设计和数据配方进行了测试。简化的SFT消融试验是在一个简化的SFT数据混合上进行的,所以在这一部分得到的结果不能直接与第6.2节的主要结果相比。
任何分辨率视觉标记采样。作者的任意分辨率策略与先前的研究有所不同,因为同一行图像块(同一图像)的每个组嵌入都是通过感知重采样器下采样的,这确保了输入到 LLM 的视觉标记数量仍然相对较小。在本节中,作者通过与“固定分辨率” Baseline 和其它下采样设计进行比较,消融了作者任意分辨率策略的有效性。
“固定分辨率” Baseline 将所有图像重新缩放到视觉编码器的默认输入大小,同时保持原始纵横比。作者还尝试了另一种利用感知重采样器的下采样策略:取而代之的是对每个块独立进行下采样,作者采用了一个“固定采样”(图7(a) 中定义为 anyres-fixed-sampling)。在固定采样中,作者将所有图像块的嵌入拼接在一起,并将其作为一条序列输入到感知重采样器,从而获得整个图像的固定数量的视觉标记。
图8 演示了 SFT 消融试验。(a)不同视觉标记采样策略在 OCR 基准测试中的对比。(b)作者的模型与其“指令感知的”替代品的对比。对于图(b)中每个评估域,作者报告了在多个相关基准测试上的平均得分。
作者对这个设计的评估主要集中在具有大量文本的任务(例如文档理解),这些任务将从高分辨率编码中受益匪浅,并具有视觉细节。从图7(a) 中作者可以看到,即使使用下采样视觉标记,作者的分辨率图像编码策略也能显着改善。固定采样策略虽然显示出优于基本分辨率 Baseline 的改进,但 patch-wise 采样的效果更好。
作者认为这可能有两个原因:
(a) 在固定采样中,一个拥有超过 3000 个嵌入标记的可视标记序列可能被压缩到 128 个标记,这可能保留信息过少。
(b) 感知重采样器可能与不同图像嵌入的拼接效果不佳。
8 Conclusion
作者提出了xGen-MM (BLIP-3),这是一个全面框架,可在大规模多模态数据集的混合上训练一系列开源大型多模态模型。xGen-MM (BLIP-3) 展示了多模态在语境中的学习能力,并在多模态基准测试上取得了惊人的结果。通过开源xGen-MM (BLIP-3),作者的精选数据集,和作者的SFT微调代码库,作者希望为研究社区提供可访问的多模态基础模型和数据集,使实践者能够进一步探索并推进LMMs的潜力和新出现的特性。
xGen-MM (BLIP-3) 框架及其一系列大型多模态模型(LMMs) 有潜力通过为更广泛的社区提供可获取的、开源的资源,从而显著推进多模态AI研究。通过促进最新LMMs的开发和微调,xGen-MM (BLIP-3) 赋予各个领域的 Researcher 和 Practitioner 创新和应用这些模型的能力,并将其应用于各种实际的挑战。此外,xGen-MM (BLIP-3) 框架内的安全性调整协议的整合有助于减少偏见和错误信息的风险,从而促进 AI 技术负责任的部署。
参考
[1].xGen-MM (BLIP-3): A Family of Open Large Multimodal Models.