BLIP家族再添成员!模型架构、训练集多维升级!

大型多模态模型(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)是一个开源家族,包含一系列模型、数据配方、微调代码和两个大型基础多模态数据集,文章希望这将推动并推进该领域的未来研究。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值