欢迎关注我的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。
多模态编码器 (Modality Encoder)
使用 预训练(Pretrained) 的编码器,例如 CLIP,常用的模型比较,OpenCLIP、CLIP、EVA-CLIP,即
相关论文:
- CLIP - Learning Transferable Visual Models From Natural Language Supervision
- OpenCLIP - Reproducible scaling laws for contrastive language-image learning
- EVA-CLIP: Improved Training Techniques for CLIP at Scale
- EVA: Exploring the Limits of Masked Visual Representation Learning at Scale
- CogAgent: A Visual Language Model for GUI Agents
- CogVLM: Visual Expert for Pretrained Language Models
- Monkey: Image Resolution and Text Label Are Important Things for Large Multi-modal Models
提示视觉图像的分辨率,可以提升视觉编码器的效果,例如 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,即:
预训练的大语言模型 (Pre-trained LLM)
通过在网络语料库上的大量预训练,LLM 已经嵌入丰富的 世界知识 (World Knowledge),并且,展现出强大的泛化和推理能力。
常用的大语言模型,例如 T5、LLaMA、Vicuna、LLaMA-2、Qwen,目前还包括 LLaMA-3,Casual Decoder 生成能力比较强,Encoder-Decoder 总结能力比较强,即: