点击下方卡片,关注“自动驾驶之心”公众号
戳我-> 领取自动驾驶近15个方向学习路线
编辑 | 自动驾驶之心
xGen-MM (BLIP-3): A Family of Open Large Multimodal Models
https://arxiv.org/abs/2408.08872
大型多模态模型(Large Multimodal Models, LMM)通过结合视觉和语言信息,展现出在多种应用场景中的泛化能力。在这一领域,专有模型如以及开源LMM例如所取得的显著进展,但开源模型与专有模型之间在某些关键资源的获取上存在不小差距,特别是在开放权重、训练方法和精选数据集的访问方面。这种差异阻碍了开源社会群体在复制、理解以及对LMM进行进一步改进方面的努力。
对此,Salesforce AI Research团队和华盛顿大学合作开发了一个名为xGen-MM(也称为BLIP-3)的框架,它是用于开发大型多模态模型(LMMs)的一套系统。这个框架包括了精心策划的数据集、训练方法、模型架构以及一系列由此产生的LMMs。相比于BLIP-2,BLIP-3做了以下改进:
(1)在数据集的选取上,BLIP-3使用多模态交错数据集、策划的字幕数据集和其他公开数据集来扩展LMM训练;
(2)BLIP-3简化了模型架构,用更可扩展的视觉标记采样器(感知器重新采样器)替换了Q-Former层;
(3)将每个训练阶段的多个训练损失函数统一为单个损失来简化训练过程,仅关注多模态上下文中文本标记的自动回归损失。
此外,BLIP-3团队引入了两个大规模、高质量的数据集:MINT-1T,一个万亿标记规模的交错数据集;BLIP3-KALE,一个知识增强的高质量密集标题数据集。文章还介绍了两个额外的专用数据集:BLIP3-OCR-200M,一个具有密集OCR注释的大规模数据集;BLIP3 - ground - 50M,一个大规模的视觉定位数据集。
BLIP-3和BLIP-2的简要对比
BLIP-2(Bootstrapping Language-Image Pre-training 2)是Salesforce AI Research团队开发的一种大型多模态模型(LMM),旨在通过结合视觉和语言模型来提升对多模态数据的理解。
BLIP-2利用了合成数据来实现当时令人印象深刻的结果,主要使用了COCO-style image caption data数据集(包含图像及其相应的描述文本)。COCO数据集因其丰富的注释和多样性而被广泛用于图像描述和多模态任务。然而,BLIP-2使用的数据集在规模、质量和多样性方面存在局限性,这限制了它与更现代的LMMs相比的竞争力。为了克服这些限制,BLIP-3(xGen-MM)采用了更大规模、更高质量、更多样化的数据集。
BLIP-2用Q-Former连接视觉和语言模态,Q-Former通过复杂的注意力机制来整合视觉和语言信息,这使得模型能够深入理解多模态数据。BLIP-2采用了多种训练目标,包括图像-文本匹配(ITM)、图像-文本对比(ITC)和图像-文本生成(ITG)损失,这些目标共同优化了模型的性能。BLIP-2支持单图像输入,这限制了它处理交错多模态数据的能力。
在BLIP-3(xGen-MM)中,Q-Former被更可扩展的视觉标记采样器(如感知器重采样器)所取代,以简化训练过程并提高模型的可扩展性,具体如下:
任意分辨率视觉标记采样:模型采用了动态高分辨率图像编码策略,通过将图像分割成多个小块(patches),并分别对这些小块进行编码,以保留原始图像的尽可能多的分辨率信息。编码后的图像小块与缩小尺寸的原始图像(提供全局信息)拼接在一起,该原始图像提供了全局信息。在视觉-语言连接器中,使用感知器重采样器对视觉标记进行下采样。如此,可以将视觉标记的序列长度减少五倍或更多。
视觉-语言连接器:在视觉Transformer和语言模型之间,使用感知器重采样器作为连接器,它将视觉标记与文本标记结合起来,并将它们输入到语言模型中。
文本标记化器:输入的文本数据通过文本标记化器处理,将文本分割成标记,然后与视觉标记一起输入到预训练的LLM。
损失函数:在训练过程中,模型使用标准的自回归损失函数,仅针对文本标记进行优化。视觉Transformer在训练期间保持冻结,而其他参数(包括标记采样器和预训练的LLM)会被训练。
与之前的BLIP-2框架相比,xGen-MM (BLIP-3) 通过将训练目标统一为每个训练阶段的单一损失,简化了训练过程。通过使用更简单的架构和统一的训练目标,xGen-MM (BLIP-3) 可以更容易地扩展以处理更大规模的数据集和更复杂的任务。
训练流程
在展示结果之前,还要对训练流程和数据集先做简要说明。xGen-MM (BLIP-3) 的训练分为几个关键阶段:
预训练(Pre-training):预训练的目标是在预训练的数据集混合上预测下一个文本标记。预训练使用大规模、多样化的数据集进行训练,包括MINT-1T、OBELICS等。生成的基础模型(xGen-MM-Phi3-mini-base-r)在多模态token上预训练了约1000亿个token,展现出强大的上下文学习能力。
监督微调(Supervised Fine-tuning, SFT):在公开可用的指令遵循数据集上进行微调,采用任意分辨率视觉标记采样策略,进一步对指令遵循示例上的预训练模型进行微调,使它们更好地理解和遵循用户查询。
多图像监督微调(Interleaved Multi-Image Supervised Fine-tuning):在多图像和单图像指令遵循样本的混合数据集上进行第二阶段微调,目的是增强模型理解交错图像-文本输入的能力。
后训练(Post-training):执行直接偏好优化(DPO)和安全性微调,以改善模型的无害性和有用性。
数据集
预训练数据配方
如图3所示,在xGen-MM (BLIP-3)中,文章使用指定的采样比率在不同多模态数据集的集合上进行预训练。
多模态交错数据集:(1)MINT-1T数据集:是一个万亿标记规模的多模态交错数据集,包含来自HTML、PDF和ArXiv的数据源,以7:5:1的比例混合。(2)OBELICS数据集:完全由HTML文档构建的大规模多模态交错数据集。与MINT-1T在域覆盖上略有不同,通过特定的预处理步骤获得。
标题混合数据集:(1)BLIP3-KALE:一个大规模、高质量且经过策划的标题数据集。(2)BLIP3-OCR-200M:一个大规模OCR数据集,用于解决大型多模态模型在处理文本丰富图像(如文档和图表)时的局限性。使用PaddleOCR引擎对图像进行OCR注释,提取文本元素并标注其在图像中的位置。标题中的文本片段被修改为包含OCR信息,如边界框坐标。
(3)BLIP3-grounded-50M:一个大规模定位数据集,旨在增强视觉特征中语义概念的定位能力,支持物体检测、语义分割等任务。使用开放世界图像标记和目标检测模型识别物体及其位置信息,并在标题中标注。
监督微调数据配方:微调阶段使用的数据集来自不同领域的公共数据集,包含100万个样本。文章对不同领域的数据进行采样,包括多模态对话、图像字幕、视觉问答、图表/文档理解、科学和数学。除了多模态图像-文本数据外,文章还在视觉指令调优期间混合了纯文本指令跟随数据。多图像指令调优阶段从对单图像样本进行微调的模型开始,使用公共多图像/交错图像-文本指令数据的混合。
后训练数据配方:(1)VLFeedback 数据集:旨在通过直接偏好优化提高训练后数据配方的真实性。使用现成的视觉-语言模型(VLM)生成对多种多模态指令组合的响应。利用GPT4-V模型对生成的响应进行评分,评分沿着三个轴进行:帮助性、视觉忠实度和道德性。通过选择模型中平均得分最高(首选)和最低(不首选)的响应,并过滤掉得分较低的首选响应,构建出偏好数据。最终数据集包含80k个这样的指令及其响应评分。(2)VLGuard 数据集:旨在通过安全微调提高视觉-语言模型的安全性。数据集分为两种类型的不安全示例:(a)令人反感的图像与安全指令和理想弃权响应的配对(b)安全图像与两种类型指令响应的配对,一种是安全的,另一种是不安全的。数据集由多个子类别的不安全示例组成,如侵犯隐私、风险/敏感主题(政治、性和暴力)、欺骗和歧视等。
实验
预训练
在预训练阶段之后,文章在经典字幕和VQA任务上评估文章的预训练模型,并与之前支持少样本学习多模态评估的模型进行比较。文章给出了零样本和少样本(4样本和8样本)的结果,如表1所示。总体而言,文章的模型在同等大小的LMM上实现了具有竞争力的多模态上下文学习性能。对于OCR任务(TextCaps和TextVQA)和VQA-v2,它明显优于MM1-3B甚至更大的模型,如Idefics-9B和MM1-7B。在所有基准测试中,增加样本数可以提高性能,证明模型适应上下文分布的能力。
监督微调
单幅图片评估:在表2中,文章与同等规模(< 5B)的模型进行了比较,包括闭源模型和SoTA开源模型。文章报告单个基准分数和两个平均分数:“Avg.(all)”是所有基准的平均值,“Avg.(perc.)”是关注一般VQA和视觉感知的基准的平均值。xGen-MM-instruct在一般VQA和视觉感知基准上都优于以前的基准。此外,文章发现xGen-MM- instruction -interleave虽然在多图像数据上进行了进一步的微调,但在单图像基准测试中保持了良好的性能,并获得了最高的总分。
多图像评估:在表3中,文章在多图像基准测试中比较了xGen-MM-instruct和xGen-MM-instruction-interleave。虽然xGen-MM-instruct在xGen-MM-base基础上进行了微调,可以理解交错的图像-文本数据,但它在多图像基准测试中表现不佳。文章怀疑这是因为仅仅对单个图像数据进行微调就会损害这种能力。使用多图像SFT,文章看到分数显著提高。此外,文章还在单图像基准测试上对Xgen-MM-interleave进行了评估(见表2),发现它在所有基准测试中都保持了良好的性能,并获得了最高的总分。
后训练
表4总结了xGen-MM-instruct两种训练后策略的结果。文章通过VLGuard测试分裂的ASR%(攻击成功率)和使用HallusionBench(图像-上下文推理的准确性)和POPE(二元实体存在问题的平均F1分数)来衡量安全性能。为了确保训练后不会影响有用性,文章报告了一些理解基准的性能作为对照。DPO通过提高幻觉基准(第二行)来增强真实性,而安全微调显着降低ASR(第三行)。如对照基准所示,有用性也略有改善。最终xGen-MM-DPO实现了这两项改进。
消融研究
预训练消融研究
缩放预训练数据
通过将数据规模从2B个多模态标记改变为100B个多模态标记,文章进行了一项消融研究,以探索预训练数据量与预训练评估指标之间的关系。如图7所示,文章发现将多模态标记的数量从2B扩展到60B,可以为图像-文本(COCO-Caps)和OCR (Text-Caps, TextVQA)任务带来可观的增益,并且进一步将数据大小增加到100B,在少样本评估指标上仍能带来些许改进。
预训练数据配方
文章讨论了不同的数据配方对预训练的影响。具体来说,文章在基本数据配方的基础上进行消融研究:使用Obelics作为多模态交错数据源,同时保持标题数据集混合相同。文章还考虑了另外两种方法:(1)使用MINT-1T作为交错数据替换,以及(2)混合额外的纯文本指令调优数据作为预训练数据集。如表5所示,文章看到使用MINT-1T进行图像-文本对齐(COCO-Caps)和OCR (Text-Caps, TextVQA)的性能有所提高,而知识密集型任务OK-VQA的性能略有下降。文章还发现,添加文本数据有助于提高更多依赖LLM容量的OK-VQA的性能。
视觉backbone
文章还探讨了不同的视觉backbone是否对视觉语言任务的表现有影响。文章比较了两种类型的视觉编码器,DFN和SigLIP。根据经验,文章发现SigLIP提供了更好的视觉表示,提高了OCR任务的性能。
视觉标记的数量
另一种方法是研究不同数量的视觉标记的影响,即输入图像标记到语言模型中。文章发现将视觉标记的数量从128个减少到64个仍然可以获得类似的性能,如表7所示。这使得给定一个固定的上下文窗口,模型可以吸收更多的视觉图像。
指令微调(SFT)消融研究
SFT消融研究是在简化的SFT数据混合上进行的,因此本节的结果与监督微调部分的主要结果不能直接比较。
任意分辨率视觉标记采样
文章的任意分辨率策略与之前的工作不同之处在于,每组图像嵌入(相同图像patch)都使用感知器重采样器进行下采样,这确保了输入到LLM的视觉标记数量保持相对较小。在本节中,文章通过将任意分辨率策略与“固定分辨率”基线和其他降采样设计进行比较,来削弱其有效性。
“固定分辨率”基线将所有图像调整为视觉编码器的默认输入大小,同时保持原始宽高比。文章还使用感知器重采样器尝试了另一种降采样策略:文章考虑“固定采样”(在图8a中表示为anyres-fixed-sampling),而不是对每个patch独立进行降采样。在固定采样中,文章将所有图像补丁中的图像嵌入连接起来,然后将它们作为单个序列输入到感知器重采样器中,以获得整个图像的固定数量的视觉标记。
文章对该设计的评估侧重于文本丰富的任务(例如,文档理解),这些任务将受益于具有视觉细节的高分辨率编码。从图8a中,文章可以看到分辨率图像编码策略的显著改进,即使使用了下采样的视觉标记。固定采样策略虽然在基本分辨率基线上有所改进,但不如逐块采样好。文章怀疑这可能是由于两个原因:(a)在固定采样的情况下,一个可以有超过3000个嵌入标记的视觉标记序列将被压缩到128个标记,这可能太少而无法保留信息。(b)感知器重采样器可能不能很好地处理不同图像嵌入的串联。
指令感知视觉标记采样(Instruction-Aware Vision Token Sampling)
InstructBLIP提出了一种指令感知的Q-Former用于视觉标记采样,并在一些基准测试中表明它可以提高模型性能。使用感知器重采样器作为VL连接器,文章可以采用类似的修改来使该过程具有指令感知。为了使文章的感知重采样器具有“指令感知”能力,文章将文本指令标记附加到感知重采样器的查询标记上。与Q-Former不同,感知重采样器内部只有交叉注意力层,因此指令(文本标记)将通过交叉注意力与查询标记和图像嵌入进行交互。
从图8b的比较中,文章没有观察到文章的模型与其指令感知版本在各种基准测试中的显著差异。由于文章在消融研究中观察到的差异很小,为了简单起见,文章在模型中保留了原始的感知器-重采样器结构。
纯文本指令数据的质量
在这个实验中,文章研究了纯文本子集如何影响多模态基准测试的性能。在指令调优阶段,文章比较了纯文本数据的多样性是否会影响多模态性能。在文章的主要实验中,纯文本指令数据的默认集合涵盖了不同的领域,包括对话、数学和代码。在表8中,观察到添加数学和编码数据,虽然是纯文本格式,但可以帮助在MathVista等相关基准测试上改进模型,而对一般VQA基准测试的影响较小。
相关工作
模型架构的选择:大型多模态模型(LMM)的最新进展探索了两种主要的架构方法:交叉注意风格和仅解码器风格。交叉注意方法以Flamingo和Llama 3.1等模型为例,通过复杂的注意机制整合视觉和语言模式,实现深度多模态理解。另一种方法是文章在xGen-MM (BLIP-3)中采用的纯解码器架构,它提供了更精简的解决方案。这种方法使用轻量级连接器将预先训练好的语言模型连接到视觉输入,简化了集成过程,同时保持了健壮的多模态功能。这种架构的有效性在MM1、VILA、LLaVA、phi3-vision和Otter等模型中得到了明显体现。
LMM的训练方法:第一种方法使用轻量级的预训练过程,并严重依赖于视觉指令调优,如在LLaV a系列中所见。对于为各种任务创建有效的指令调优数据已经进行了广泛的研究。第二种策略包括在大规模、多样化的数据集上进行广泛的预训练,然后进行视觉指令微调。MM1和Idefics2等模型采用了这种方法,将广泛的知识注入模型,然后对模型进行微调,使其与类人交互和安全标准保持一致。虽然MM1对旨在改进LMM的数据配方进行了广泛的研究,但它为从业者提供了有限的资源来采用该模型(例如,MM1模型和数据集是封闭来源的)。Idefics2是一个较新的开源工作,它开放了一套模型以及详细的训练策略和数据配方,但Idefics2在实验中主要使用现有的数据集,而不提供新的数据集。
总结
在这项工作中,文章提出了xGen-MM (BLIP-3)。与之前的工作不同,xGen-MM (BLIP-3)是一个开源家族,包含一系列模型、数据配方、微调代码和两个大型基础多模态数据集,文章希望这将推动并推进该领域的未来研究。
投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!重磅,自动驾驶之心科研论文辅导来啦,申博、CCF系列、SCI、EI、毕业论文、比赛辅导等多个方向,欢迎联系我们!
① 全网独家视频课程
BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、大模型与自动驾驶、Nerf、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)
网页端官网:www.zdjszx.com② 国内首个自动驾驶学习社区
国内最大最专业,近3000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知(2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、大模型、端到端等,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频
③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
④【自动驾驶之心】全平台矩阵