欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/142063880
免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。
完备(Full-Fledged) 的 多模态大语言模型(MLLM) 经历 3 个阶段的训练,即 预训练(Pre-training)、指令微调(Instruction-Tuning) 和 对齐调优(Alignment Tuning)。每个训练阶段都需要不同类型的数据,并且实现不同的目标。本篇介绍,预训练(Pre-training) 部分。
1. 预训练(Pre-training)
预训练 (Pre-training) 的目的是对齐不同的模态,学习多模态的知识,核心是训练 连接器(Connector),模态编码器与 LLM 都是已训练的。预训练的数据,是大量的图像文本对数据,预训练的 损失(Loss) 是 交叉熵(Cross-Entropy)。图像文本对的示例,文本描述计算 Loss,即:
Input: <image>
Response: {caption}
在 MLLM 中 连接器(Connector) 类型主要包括 3 类,即 基于映射(Projection-Based)、基于查询特征(Query- Based),基于融合特征(Fusion-Based),即:
在 MLLM 的训练过程中,一般而言,冻结 模态编码器 与 LLM,因为这些大模型已经进行大量数据的预训练,因此,只训练连接器的 可学习接口(Learnable Interface) 即可。注意 Qwen-VL 的训练方式有所不同,不同阶段,模态编码器与 LLM 也会参与训练。训练策略是与训练数据相关的,当数据质量较低时,使用低分辨率(224x224)训练,而数据质量较高,使用高分辨率(448x448)训练。
在预训练阶段,数据集的作用主要是 (1)对齐不同模态,和 (2)提供更充分的世界知识。常用的数据集,包括 粗粒度(Coarse-grained) 数据和 细粒度(Fine-grained) 数据 两类,即:
- 粗粒度数据集:数据量大,样本通常来源于互联网,由于是从网络上抓取的,标题通常较短,且带有噪声,因为描述文本来源于网页图片的 替代文本(alt-text, alternative text),再使用预训练的图像模型 CLIP 进行清洗。
- 细粒度数据集:通常包含更长、更准确的图像描述,从而,实现图像与文本模态之间,更细粒度的对齐。
主要的数据集,包括:
通过 提示能力强大的多模态语言模型(例如GPT-4V) 可以生成高质量的细粒度数据,与粗粒度数据相比,这些数据通常包含更长、更准确的图像描述,从而,实现图像与文本模态之间,更细粒度的对齐。然而,由于这种方法,通常需要调用商业用途的机器学习语言模型,成本较高,数据量相对较小。解决方式是,先标注小批量的数据集,训练 Caption 模型,再进行更大规模的标注。
参考论文:
- Qwen-VL: A Versatile Vision-Language Model for Understanding, Localization, Text Reading, and Beyond,2023.8
- ShareGPT4V: Improving Large Multi-Modal Models with Better Captions,2023.11
- LLaVA-1.5 - Improved Baselines with Visual Instruction Tuning,2023.10
- CC-3M - Conceptual Captions: A Cleaned, Hypernymed, Image Alt-text Dataset For Automatic Image Captioning,2020
- CC-12M - Conceptual 12M: Pushing Web-Scale Image-Text Pre-Training To Recognize Long-Tail Visual Concepts,2021,CVPR,Google AI
- SBU Captions 1M - Im2text: Describing images using 1 million captioned photographs,2011,NIPS
- Laion-5b: An open large-scale dataset for training next generation image-text models,2022,NIPS
- Laion coco: 600m synthetic captions from laion2b-en,Web,2022
- Coyo-700m: Image-text pair dataset,Web,2022
2. Qwen-VL 的全训练
Qwen-VL:训练主要包括 3 个阶段:预训练(Pretraining)、多任务预训练(Multi-Task Pretraining)、有监督微调(Supervised Finetuning),即:
- 预训练(Pretraining) 阶段:冻结大语言模型,只优化视觉编码器和视觉语言适配器。输入图像调整至 224×224,训练目标是最小化文本标记的交叉熵。
- 多任务预训练(Multi-Task Pretraining) 阶段:将视觉编码器的输入,分辨率从 224×224 提高至 448×448,减少图像下采样造成的信息损失,同时,解锁大语言模型,这样就是对于整个模型进行训练,训练目标与预训练阶段相同。
- 监督微调(Supervised Finetuning) 阶段:通过 指令微调(Instruction Fine-tuning) 来对 Qwen-VL 预训练模型进行微调,以增强其遵循指令和对话能力,从而产生交互式的 Qwen-VL-Chat 模型。在训练期间,混合多模态和纯文本的对话数据,确保模型在对话能力上的通用性。在这个阶段,冻结视觉编码器,优化大语言模型和适配器模块。
也就是说,每一阶段都训练适 配器(Adapter) 模块,第一阶段额外增加训练视觉编码器,第二阶段是全部训练,第三阶段额外增加训练大语言模型。
如图:
Qwen2-VL (2024.8.29) 的动态分辨率,与之前不同,Qwen2-VL 能够处理任意图像分辨率,映射到动态数量的视觉 Token 中,不同尺寸的图像,使用不同数量的 Token,提供更加类似人类的视觉效果体验,框架如下:
Qwen2-VL 的多模态旋转位置编码(M-RoPE):将位置嵌入分解成多块,用于捕捉一维文本、二维视觉和三维视频的位置信息,增强其多模态处理能力,参考:
3. ShareGPT4V - 细粒度(Fine-grained) 数据集
ShareGPT4V:构建高质量的 ShareGPT4V 数据集,包括世界知识(World Knowledge)、目标属性(Object Properties)、空间关系(Spatial Relationships)、美学评估(Aesthetic Evaluations)等,图像描述来源于 GPT-4V。在 监督微调(Supervised Finetuning) 阶段中,使用高质量数据,可以有效的提升模型性能。模型架构与 LLaVA 1.5 类似,模态编码器是 CLIP-Large、映射器(Projector) 是两层的 MLP、LLM 是 Vicuna-v1.5,多模态训练只训练映射器 MLP。
效果如图:
LLaVA-1.5 的架构,视觉编码器使用 CLIP ViT-L/336px,视觉-语言连接器使用简单的 MLP,大语言模型使用 Vicuna v1.5 13B。如下:
LLaVA-1.5-HD 的架构,将 LLaVA-1.5 扩展至更高分辨率,将图像分割成网格,独立编码。这使得模型能够扩展到任何分辨率,而无需为 ViTs 执行位置嵌入插值,同时,还会额外连接一个降采样图像的特征,以提供给 大语言模型(LLM) 全局上下文。如图:
4. 粗粒度(Coarse-grained) 数据集
CC-3M 数据集:Conceptual Captions,概念描述,数据处理流程:
- 对于图像,过滤掉含有不适当内容或长宽比不当的图像。
- 对于文本,使用 自然语言处理(NLP) 工具获取文本注释,根据设计的启发式规则过滤样本。
- 对于图像-文本对,通过分类器为图像分配标签。如果文本注释与图像标签不重叠,相应的样本将被丢弃。
数据样例如下:
CC-12M 数据集:即使 替换文字(alt-texts) 不完全精确地描述网络图像,这些数据仍然增加,例如相扑、山竹和水母,这样的长尾视觉概念,提供丰富的资源。通过放宽概念描述 (Conceptual Captions) 中过于严格的过滤器,将视觉和语言预训练数据,扩展至 12M (1200万)。通过,CC-12M 包括长尾数据进行微调,显著降低模型的幻觉,即:
SBU Captions 1M 数据集:SBU,Stony Brook University (美国纽约州立大学石溪分校),来源于 Flickr 网站,带标题照片集合的、带有用户相关标题的照片,并且通过筛选,制作一个包含超过 1M(100万) 张良好标题图片的数据集。具体来说,通过使用大量查询词在 Flickr 网站上查询,初步获取一组图像,这些图像附带的描述作为标题,然后,为确保描述与图像相关,保留的图像满足以下要求:
- 图像的描述,长度,令人满意,这是通过观察决定的。
- 图像的描述,至少包含两个预定义词汇表中的词汇和一个表征性词汇 (例如on、under等),通常表示空间关系。
具体的系统流程:
- 输入查询图像;
- 使用全局图像表示,从带标题集合中检索候选匹配图像;
- 提取关于图像内容的高级信息,包括目标、属性、动作、人物、物品、场景以及 TF-IDF 加权;
- 通过结合所有内容估计重新对于图像进行排名;
- 得出前 4 个结果标题。
即:
LIAON-5B:这个数据集是 多语言(Multilingual) 版本,英文数据集是 2B,大型的 网络规模 (Web-Scale) 数据集,包含从互联网上抓取的图像,以及与之相关的 替代文本(alt-text) 作为标题。为了筛选图像-文本对,执行了以下步骤:
- 丢弃 文本长度过短或图像尺寸过小或过大 的图像-文本对。
- 基于 URL 进行图像去重。
- 提取 CLIP 嵌入向量用于图像和文本,并且使用这些嵌入向量,来丢弃可能的非法内容,以及嵌入向量之间,余弦相似度低的图像-文本对。
如图:
样本示例: