淄博市网站建设_网站建设公司_留言板_seo优化
2026/1/8 14:30:44 网站建设 项目流程

BLIP 基本上可以看做是吸收了 VLMo思想的 ALBEF,它的训练目标和技巧基本都与 ALBEF一致。

1. 概述

BLIP既可以做内容理解,还可以做文本生成,是一个大一统的多模态预训练框架,并且提出了通过引导 caption 来去除噪声的方法。(理解+生成)

BLIP在各个下游任务上展现出了强大的性能,并且具有 zero-shot 的能力

2. 模型结构

  1. 图中相同颜色的部分是参数共享的,可以減少很多计算量。
  2. 每个 image-text 对在输入时,image 部分只需要过1个图像模型,text部分需要过3次文本模型(前两个是encoder,后面是1个decoder)。 即在每一次训练迭代时,图像端只需要做一次forward,但文本端在要做三次forward,要分别通过这三个模型去得到对应的特征,然后去算对应的目标函数,所以非常耗时。
  3. Image-grounded text decoder 生成的文本描述不同于输入的image-text对中的文本,image-text对中的文本是web上找到的图片的上下文,拥有大量的噪音;而 Image-grounded text decoder 生成的文本描述是针对图像特征和文本特征的特定描述,更加精炼。这里其实就已经是 Captioner 的雏形了,下面的 Captioner 也是基于训练完成的 Image-grounded text decoder 再进行的优化和微调

BLIP 提出了**多模态混合 (multimodal mixture of encoder-decoder,MED)**的模型架构,其实就是在 ALBEF 的基础上引入了 decoder 专门去做生成式语言的任务。 它总共分为3个板块,两个encoder和一个decoder:Unimodal encoder (image encoder + text encoder)、 Image-grounded text encoder, Image-grounded text decoder:

2.1. Unimodal encoder :

  • image encoder
  • 目的:提取图像特征,相当于 CLIP 中的 Image Encoder
  • ViT架构:将输入图像切分成patches并编码成image embeddings,使用[cls]token来表示全局图像特征。
  • text encoder
  • 目的:提取文本特征,相当于 CLIP 中的 Text Encoder
  • BERT架构(双向自注意力机制 Bi Self-Att + FFN):输入是[cls]+文本,[cls]token表示整个句子。
  • 然后再将图像 embedding 和 文本 embedding 做图文的对比学习ITC。

2.2. Image-grounded text encoder 基于图像的文本编码器:

  • 目的:用来提取文本特征并将其和图像特征对齐,相当于CLIP 中更精细化的 image-text 对齐
  • 输入是[Encode]+文本。然后分别经过双向 Self-Attention(使得text全部可见)->Cross Attention(图像的 embedding 会注入到 Cross Attention中进行多模态的学习)->FFN 后得到输出,得到的 Embedding 和图像的 embedding 做图文匹配任务ITM。
  • 相比于单模态的文本编码器只多了Cross Attention,他们的双向attention和FFN 是共享参数的。
  • 输入时增加了特定的[Encode]token,在输出中[Encode]代表图像文本的联合表征

2.3. Image-grounded text decoder 基于图像的文本解码器:

  • 目的:用来生成符合图像和文本特征的文本描述,这是 CLIP 中所没有的
  • 输入是[Decode]+文本。使用cross attention,将图像embedding和prefix text(前部分文本)做文本生成的任务,预测下一个token。特定[Decode]token表示序列解码的开始符号,还有一个[EOS] token用于表示序列的结束。
  • 它和基于图像的编码器不同的是:使用的是 Causal Attention,而不是双向的。 因为对于 Decoder 而言,它不能看到完整的句子,它要做的事是给定前半句生成后半句,所以要用 CausalAttention,即将后半句给 mask 掉,使得text只能见到当前和历史的文本。(类似于GPT系列)
  • 除了第一层 Causal Attention 外,其它两层和 Image-grounded text encoder 的参数是共享的,所以虽然Decoder新添加了一个 Decoder,但实际上参数量并没有增加很多。
  • 最后的目标函数就是用的 GPT 系列的 Language Modeling (LM),也就是给定一些词,去预测剩下的那些词

3. 预训练

BLIP在预训练期间联合优化了3个目标,两个是理解式任务的loss,一个是生成式任务的loss。分别是Image-Text Contrastive Loss (ITC).Image-Text Matching Loss (ITM).Language Modeling Loss (LM). BLIP中将ALBEF中的MLM替换成了语言模型(LM)任务,其他与ALBEF保持一致。

3.1. ITC

  • 作用于image encoder和text encoder。
  • 针对图像编码器和文本编码器,通过正负图文对的对比学习,来对齐图像和文本的潜在特征空间。

3.2. ITM

  • 作用于image encoder和image-grounded text encoder。
  • 针对以图像为基础的文本编码器,通过对图文匹配性进行二分类,建模图文多模态信息的相关性。

在ALBEF中,作者的思路是将BERT截成两段,前半段用来做encoder,后半段用来做模态融合。在BLIP这篇工作中,作者分别使用了两个完整的BERT结构分别做encoder和模态交互,同时,这两个BERT结构的self attention和FFN 层的参数是共享的。ITC任务的训练也帮助了ITM任务的训练。

3.3. Language Modeling Loss (LM)

  • 作用于image encoder和image-grounded text Decoder。
  • LM对给定图像生成文本描述。针对以图像为基础的文本解码器,通过交叉熵损失进行优化,训练模型以自回归的方式生成目标caption。在计算损失时,应用了0.1的标签平滑。
  • 与广泛应用于VLP的MLM损失相比,LM使模型具有将视觉信息转化为连贯字幕的泛化能力。其实MLM-

LM,就是从BERT->GPT形式(BERT系语言模型几乎都是在MLM任务上做预训练的,GPT系语言模型都是在LM任务上做预训练的)。

  • LM任务会比MLM任务更难,LM任务也更适合生成式的下游任务。

BLIP是ALBEF的原班人马做的,所以用到了很多ALBEF的技巧:

  1. ITC的时候也用了Momentum Encoder去做更好的Knowledge Distillation和更好的数据级清理。
  2. ITM的时候,也像ALBEF一样利用ITC算的Similarity Score做Hard Negative Mining,从而每次都用最难的负样本去算ITM,增加Loss的有效性。

以上就是MED的混合形式,它的任务几乎是没变的,ITC、ITM,无非就是把 BERT 的MLM 任务换成LM任务。这就解决了无法做生成任务和理解任务的问题,这样BLIP 就能把生成和理解统一到一个框架中。

4. CapFilt

CapFilt提出的动机:

  • CLIP还有ALBEF等等虽然爬了4亿的数据进行模型训练,但是从网上搜集到的图文对

    ()

    含有噪音,噪音文本无法精确的描述图像的视觉内容,未经清洗和修正可能导致模型训练准确性不高。

  • 高质量的人工注释图像-文本对(,比如COCO数据集,因为成本高昂所以数量不多。

所以,BLIP提出一种高效率利用噪声网络数据的方法Captioning and Filtering (CapFilt),提升图文对的质量。 CapFilt包含两个模块:

  1. 一个用于给web图像生成字幕(caption)的captioner,增加新的好的文本信息;
  2. 一个用于去除嗓声图文对的filter,清理、删除不好的、不匹配的文本信息。

captioner和filter都是从相同的预训练 MED 模型初始化的,并在COCO数据集上分别进行微调。调优是一个轻量级的过程.

采样生成器captioner:Image-grounded Text Decoder基于图像的文本解码器(生成),用LM loss进行微调噪声过滤器filter:Image-grounded Text Encoder基于图像的文本编码器(判别),用ITC+ITM loss进行微调,判断图文是否匹配,过滤掉噪声图文对。 ```![](http://cdn.zhipoai.cn/7763ec88.jpg) 详细过程解释: * 左侧的 Model Pretraining 就是 MED,训练数据包含了从网上爬的图文对(和人工标注的图文对()(人工标注的数据的质量比较好) 图中红色的()可以认为包含噪音,绿色的 ()可以认为是质量比较好的数据 * 数据会输入到 MED 当中进行预训练,以ITC 和 ITM为目标微调Image-grounded Text Encoder,以LM 为目标微调 Image-grounded Text Decoder * 微调之后,对于网上的任意一个图片 输入进来,都可以经过(在COCO数据集上经过LM微调的)Image-grounded Text Decoder 来生成字幕 caption,即红色的 : * 同时对于 filter 来说,在COCO数据集上使用ITC 和ITM 微调的 Image-grounded Text Encoder,所以它对图文对的匹配程度的判断是精准的,用它判断生成的 captain 和图片是否匹配,即判断 ()是否匹配。同时还可以判断网上爬取的文本对是否匹配,即 ()。 如果匹配则保留下来: ()() ,如果不匹配则直接丢掉。 所以filter是删除原始web文本 和经过caption生成的合成文本 中的噪音文本。 > 说明一点,Captioner模块生成的新的文本不一定是比原来网上爬的文本更匹配,只是多了一种文本选择的机会,有时候可能网上爬的更准有时候可能Captioner更准 * 最后的数据就是:网络上去噪后的图文对+生成的图文对+人工标注的图文对: ()()() * 然后将D(一个高质量的新数据集D)再次输入到MED中进行预训练,以此实现 Bootstrapping 训练为 为什么用数据集D训l练模型效果会更好: 理论上,数据量是变多了,因为会生成很多 captain。但是它的质量变好了,因为 fiter 了很多噪音。所以理论上模型的性能会得到增长 ```plaintext BLIP 的多模态交互与融合机制可以概括为:以交叉注意力为核心,在统一的 MED 架构下,根据任务需求灵活启用不同的融合模式:- 图文匹配(ITM) → 双向交叉注意力,实现细粒度对齐- 图像描述(LM) → 自回归 + 交叉注意力,实现视觉引导生成- 图文对比(ITC) → 全局嵌入对齐,支持高效检索

如何学习大模型 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%免费

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询