LLM - 理解 多模态大语言模型 (MLLM) 的架构与相关技术 (二)

欢迎关注我的CSDN:https://spike.blog.csdn.net/

本文地址:https://spike.blog.csdn.net/article/details/142063880

免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。


多模态大语言模型 (Multimodal Large Language Models, MLLM) 框架包括 3 个部分:预训练的模态编码器、预训练的 大语言模型(LLM)、连接模态的 接口(Interface),也可以添加可选的 生成器(Generator) 到 LLM,用于生成除了文本之外的其他模态。

  • 编码器接收图像、音频或视频,并且,输出特征,这些特征由连接器处理,以便LLM 能更好地理解。
  • 连接器大致有三种类型:基于投影(Projection-Based)、基于查询(Query-Based) 和 基于融合(Fusion-Based) 的连接器。前两种类型使用 Token 级别的融合,将特征处理成 Token,与文本 Token 一起发送,而最后一种类型,在 LLM 内部实现特征级别的融合。

即:

MLLM 的 Foundation Model 是 LLM,Connector 将多模态的 Embedding 转换成 Text Like 的 Embedding。Q-Former,即 Query Former。

1. 多模态编码器 (Modality Encoder)

使用 预训练(Pretrained) 的编码器,例如 CLIP,常用的模型比较,OpenCLIP、CLIP、EVA-CLIP,即

相关论文:

提示视觉图像的分辨率,可以提升视觉编码器的效果,例如 CogAgent 使用 双编码器(Dual-Encoder) 机制,其中两个编码器分别处理高分辨率和低分辨率的图像。同时,分块(Patch-Division) 方法,将高分辨率图像切割成分块,并且,重用低分辨率编码器,也提升视觉编码器的效果,参考 Monkey。

CLIP:使用标准的图像模型,联合训练图像特征提取器,和线性分类器,来预测特定的标签,而且 CLIP 联合训练图像编码器和文本编码器,预测一批 (Batch) 图像和文本训练样本的正确配对。在测试时,学习到的文本编码器,通过嵌入目标数据集类别的名称或描述,合成零样本 (Zero-Shot) 线性分类器。对比 (Contrastive) 预训练,N 个样本一起训练,使用对角线标签进行训练。CLIP 的实验也表明,ViT 的效果要优于 ResNet。

即:

HuggingFace 的 CLIP 地址:https://huggingface.co/docs/transformers/en/model_doc/clip

CLIP 评估最优的视觉预训练模型是 ViT,即:

OpenCLIP:验证 Scaling Laws,研究使用完全开源的训练代码和数据的大型 CLIP 模型的扩展行为,研究中的所有模型都将提供,包括最大的公共 CLIP 模型。这个表格显示在224像素分辨率下的 零样本(Zero-Shot) 性能,展示在 ImageNet 上的准确度,35个 VTAB+ 数据集上的平均准确度,以及在 MS-COCO 图像检索上的 5 个召回率。数据集由 WIT-400M 扩大至 LAION-2B,数据量提升 5 倍,即:

EVA CLIP:也是验证 Scaling Laws,名称 Explore the limits of Visual representation at scAle using only publicly accessible data,使用仅可公开访问的数据,探索视觉表示在大规模的极限。

CogAgent 架构,即包括 2 个图像编码器,高分辨率(High-Resolution) 图像编码器是轻量化,低分辨率(Low-Resolution) 图像编码器,两个编码器进行 交叉注意力(Cross Attention) 实现信息交互,即:

CogVLM 使用 视觉特征和文本特征 拼接(Concat) 的方式,在多模态模型中,将视觉理解放在更优先的位置,即:

Monkey: 通过从原始图像捕获全局特征,和从分割的小块中捕获局部特征,来实现高分辨率。所有小块都通过共享的静态 ViT 编码器进行处理,例如,具有 20 亿参数的 ViT-BigG,即:

2. 预训练的大语言模型 (Pre-trained LLM)

通过在网络语料库上的大量预训练,LLM 已经嵌入丰富的 世界知识 (World Knowledge),并且,展现出强大的泛化和推理能力。

常用的大语言模型,例如 T5、LLaMA、Vicuna、LLaMA-2、Qwen,目前还包括 LLaMA-3,Casual Decoder 生成能力比较强,Encoder-Decoder 总结能力比较强,即:

中文大模型,推荐 Qwen 系列,较好的支持中文。

相关论文:

BLIP-2 : 通过两阶段策略,预训练轻量级的 查询转换器(Querying Transformer, Q-Former),以弥补模态之间的差距。

  • 第一阶段,从冻结的图像编码器中,引导视觉-语言表示学习。
  • 第二阶段,从冻结的 大语言模型(LLM) 中,引导视觉到语言的生成学习,这使得可以实现零样本指导的图像到文本生成。

即:

BLIP-2 中的 Q-Former 模态桥接方式: Q-Former 和 BLIP-2 的第一阶段,视觉-语言表示学习目标的模型架构。共同优化 3 个目标,这些目标,强制 查询特征 (即可学习的嵌入),提取与文本最相关的视觉表示。每个目标的自注意力 Mask 策略,以控制查询-文本交互。

  • Image-Text Matching (ITM),图像文本匹配,双向自注意力 Mask (Bi-directional Self-Attention Mask)
  • Image-Text Contrastive Learning (ITC),图像文本对比学习,Uni-model Self-Attention Mask (单模态自注意 Mask)
  • Image-grounded Text Generation (ITG),图像定位文本生成,Multi-model Causal Self-Attention Mask (多模态因果自注意 Mask)

即:

BLIP-2第二阶段,视觉到语言的生成预训练,该阶段从冻结的 大语言模型(LLM) 中引导启动。 全连接层从 Q-Former 的输出维度,适应到所选 LLM 的输入维度。

  • 引导启动基于解码器的 LLM,例如 GPT 系列。
  • 引导启动基于编码器-解码器的 LLM,例如 FlanT5。

即:

Scaling Law for Instruct-Tuned: 多模态任务微调,对于一些语言任务也有提升,参考 LLaMA-2-70B 与 LLaVA-70B,即:

3. 模态接口 (Modality Interface)

模态接口主要包括 Token 层面的融合 (Token-Level Fusion ) 和 特征层面的融合 (Feature-Level Fusion):

  • Token 层面的融合,参考 LLaVA 的 MLP 层连接,
  • Feature 层面的融合,参考 BLIP2 的 Q-Former,可学习的参数。

以 Qwen-VL 的参数量为例,Interface 是 1% (0.08B),模态 Encoder 是 19.8% (1.9B),LLM 是 80.2% (7.7B),合计 9.7 B。

以 CogVLM2 的参数量 (19B) 为例,模态 Encoder 是 EVA-CLIP-E 5B,LLM 是 LLaMA3 8B,Interface (MLP Adapter) 是 6B。

再就是 专家模型 (Expert Model),例如 通过 Image Caption 模型,提取图像信息,再直接传给 LLM,好处是不需要任何训练,效果比多模态训练的效果要差一些。如果模型处理视频而不是图像,还需要考虑 时空(Spatial-Temporal) 信息。

参考 Paper:

CogVLM2: 模型接收高分辨率图像,或从给定视频中提取的帧,使用预训练的 ViT 编码器,和适配器嵌入视觉信息,嵌入的视觉特征,被发送到视觉语言解码器,CogVLM2-Video 能够回答与图像和视频相关的查询。即:

不同参数量的 CogVLM2 模型,如下:

Img2LLM: 使 大语言模型(LLM) 能够执行,视觉问答(VQA) 任务的方法,说明性比较,其中蓝色块表示内部参数被冻结,而粉色块表示内部参数是可训练的。

  • Multi-modal Pretraining,多模态预训练
  • In-context Few-shot Learning,上下文少样本学习
  • Img2LLM: 输出 Caption Prompt 与 Exemplar Prompt (范例提示),再由 LLM 做出回答。

即:

Img2LLM 网络架构:Img2LLM 属于 即插即用(plug-and-play) 模块,使得现成的 大语言模型(LLM) 能够执行 零样本视觉问答(Zero-Shot VQA),可以利用 视觉-语言模型(例如 BLIP) 和 问题生成模型,将图像内容转换成 合成问题-答案(QA) 对,这些 QA 对作为提示的一部分输入给 LLM。这些示例 QA对通过口头描述图像内容,解决 模态断连(Modality Disconnect) 问题。即:

VideoChat:VideoChat-Text 将视频流中的内容 文本化(Textualizes),VideoChat-Embed 将视频编码为嵌入向量。这两种视频内容都可以作为输入,提供给 大语言模型(LLM),以实现多模态理解。即:

VideoChat-Embed 架构和训练范式,建立在 BLIP-2 和 StableVicuna 之上,训练包括两阶段对齐和指令调整。即:

相关推荐
IT古董36 分钟前
【机器学习】机器学习的基本分类-强化学习-策略梯度(Policy Gradient,PG)
人工智能·机器学习·分类
centurysee38 分钟前
【最佳实践】Anthropic:Agentic系统实践案例
人工智能
mahuifa38 分钟前
混合开发环境---使用编程AI辅助开发Qt
人工智能·vscode·qt·qtcreator·编程ai
四口鲸鱼爱吃盐39 分钟前
Pytorch | 从零构建GoogleNet对CIFAR10进行分类
人工智能·pytorch·分类
蓝天星空1 小时前
Python调用open ai接口
人工智能·python
睡觉狂魔er1 小时前
自动驾驶控制与规划——Project 3: LQR车辆横向控制
人工智能·机器学习·自动驾驶
scan7241 小时前
LILAC采样算法
人工智能·算法·机器学习
leaf_leaves_leaf1 小时前
win11用一条命令给anaconda环境安装GPU版本pytorch,并检查是否为GPU版本
人工智能·pytorch·python
夜雨飘零11 小时前
基于Pytorch实现的说话人日志(说话人分离)
人工智能·pytorch·python·声纹识别·说话人分离·说话人日志
爱喝热水的呀哈喽2 小时前
《机器学习》支持向量机
人工智能·决策树·机器学习