本书通过丰富的实战案例,全面介绍多模态大模型的核心原理、数据处理方法与模型优化策略。全书共9章,结构层层递进。第1章和第2章介绍了多模态大模型的基础理论与数据处理技术,包括多模态数据的特征、预处理方法与增强策略。第3章和第4章详细阐述了多模态表示学习与嵌入方法,涵盖数据融合、模态对齐、联合学习等关键技术。第5章全面展示了多模态模型的训练与微调策略,如注意力机制、对比学习与混合精度训练等优化方法。第6章深入探讨了OpenAI的多模态模型CLIP,帮助读者掌握训练、增强和微调CLIP的知识。第7章介绍了基于CPM中英双语多模态大模型的文生图系统实现过程。第8章和第9章分别介绍了DeepSeek多模态大模型和基于Latent Diffusion Transformer的文生视频系统的构建过程。
本书适合人工智能工程师、深度学习研究者、AI产品开发人员、高校师生以及希望转型AI领域的技术人员阅读。无论是希望夯实多模态模型基础,还是寻找前沿实战案例,本书都将为您提供全面的参考与指导。
第1章 多模态大模型开发基础 001
1.1 大模型介绍 002
1.1.1 什么是大模型 002
1.1.2 大模型技术的发展 002
1.1.3 大模型的作用 003
1.2 多模态技术简介 004
1.2.1 什么是多模态 004
1.2.2 多模态技术的发展 004
1.2.3 多模态技术的应用场景 005
1.3 多模态数据类型 006
1.3.1 常见的多模态类型 007
1.3.2 图像数据 007
1.3.3 文本数据 008
1.3.4 音频数据 008
1.3.5 视频数据 009
1.4 多模态技术的基本原理 009
1.4.1 数据融合与对齐 009
1.4.2 多模态表示学习 010
1.4.3 多模态推理 011
第2章 多模态数据处理 012
2.1 文本预处理 013
2.1.1 数据清洗和处理 013
2.1.2 数据转换与整合 020
2.1.3 数据标准化与归一化 023
2.2 图像预处理 029
2.2.1 归一化 029
2.2.2 去噪 031
2.2.3 图像裁剪和缩放 036
2.3 音频预处理 037
2.3.1 采样率调整 037
2.3.2 音频分帧 039
2.3.3 加窗 040
2.3.4 傅里叶变换 042
2.3.5 声谱图 044
2.4 视频预处理 045
2.4.1 视频预处理技术 045
2.4.2 对指定视频实现预处理 046
2.5 数据增强 047
2.5.1 文本数据增强 047
2.5.2 图像数据增强 049
2.5.3 音频数据增强 051
第3章 多模态表示学习 054
3.1 多模态表示学习方法介绍 055
3.2 表示融合 056
3.2.1 表示融合方法介绍 056
3.2.2 实战演练:实现一个多模态情感识别模型 057
3.3 联合学习 061
3.3.1 实现联合学习的流程 062
3.3.2 实战演练:实现多模态模型的联合学习 062
3.4 表示对齐 065
3.4.1 表示对齐方法 066
3.4.2 实战演练:实现多模态模型之间的表示对齐 066
3.5 模态间的关系建模 070
3.5.1 实现模态间关系建模的方法 070
3.5.2 实战演练:在多模态场景中实现模态间关系建模 071
第4章 多模态嵌入表示 074
4.1 多模态嵌入介绍 075
4.2 图像嵌入 076
4.2.1 图像嵌入基础 076
4.2.2 图像特征提取 077
4.2.3 模态对齐 081
4.2.4 CLIP 088
4.2.5 DALL-E 090
4.3 文本嵌入 092
4.3.1 文本嵌入方法 092
4.3.2 实战演练:使用BERT实现文本嵌入 093
4.3.3 实战演练:基于CLIP的文本嵌入 096
4.4 音频嵌入 099
4.4.1 音频特征提取 099
4.4.2 常用的音频嵌入模型 101
第5章 训练多模态模型 102
5.1 多模态模型的训练过程 103
5.2 常用训练策略实战演练 104
5.2.1 预训练与微调 104
5.2.2 多任务学习 107
5.2.3 自注意力机制 110
5.2.4 对比学习 111
5.2.5 数据增强 113
5.2.6 迁移学习 114
5.2.7 正则化技术 116
5.2.8 动态学习率调整 118
5.2.9 混合精度训练 119
第6章 OpenAI的多模态模型:CLIP 122
6.1 CLIP介绍 123
6.1.1 CLIP的架构 123
6.1.2 CLIP的优点和缺点 123
6.2 CLIP的增强训练的准备工作 123
6.2.1 功能模块介绍 123
6.2.2 定义数据集 123
6.3 模型的构建、训练与评估 123
6.3.1 创建模型 123
6.3.2 分词器 123
6.3.3 损失函数 123
6.3.4 训练模型 123
6.3.5 评估模型 123
6.3.6 文本重写 123
第7章 基于CPM中英双语多模态大模型的文生图系统 124
7.1 项目介绍 125
7.2 项目架构 125
7.3 图像处理和增强 126
7.4 文本处理 140
7.5 实现模型 144
7.5.1 模型组件 145
7.5.2 图像和张量处理工具 161
7.5.3 定义和配置BEiT3模型 162
7.5.4 CPMBeeTorch模型 164
7.5.5 基于Stable Diffusion的图像生成模型 169
7.5.6 多模态模型 173
7.6 文本生成 176
7.6.1 辅助函数 176
7.6.2 生成文本响应 178
7.7 图文交互 190
7.8 绘画模型 192
7.9 模型微调 196
7.9.1 工具类 196
7.9.2 处理和构建数据集 201
7.9.3 训练初始化 209
7.9.4 模型配置和训练 211
7.9.5 保存配置文件 217
7.10 调试运行 217
7.10.1 文生图程序 218
7.10.2 聊天程序 219
第8章 DeepSeek多模态大模型 221
8.1 DeepSeek多模态大模型简介 222
8.2 整体架构设计 222
8.2.1 模型定位与技术目标 222
8.2.2 核心模块组成 222
8.2.3 设计哲学与核心考量 222
8.3 Janus项目源码分析 222
8.3.1 对话管理 222
8.3.2 数据加载 222
8.3.3 构建多模态模型 222
8.3.4 JanusFlow模型架构 222
8.3.5 模型推理 222
8.3.6 准备DeepSeek多模态大模型API 222
8.3.7 在线测试DeepSeek多模态大模型 222
第9章 基于Latent Diffusion Transformer的文生视频系统 223
9.1 项目介绍 224
9.1.1 背景介绍 224
9.1.2 主要贡献 224
9.2 项目架构 225
9.3 系统配置 226
9.3.1 FaceForensics数据集配置 226
9.3.2 配置Sky Timelapse数据集 228
9.3.3 配置其他数据集 229
9.4 数据集处理 230
9.4.1 处理FaceForensics数据集中的视频数据 230
9.4.2 加载并处理SkyImages数据集 233
9.4.3 加载并处理Taichi数据集 235
9.4.4 加载并处理UCF101数据集 237
9.4.5 视频数据的预处理和增强 242
9.5 扩散模型 253
9.5.1 扩散模型的辅助工具 253
9.5.2 高层扩散模型的核心逻辑 254
9.6 实现模型 259
9.6.1 文本嵌入模型 259
9.6.2 多模态视频处理模型 261
9.6.3 图像生成模型 272
9.6.4 二维Transformer模型 273
9.7 训练模型 276
9.7.1 基本训练 277
9.7.2 视频图像联合训练 281
9.7.3 PyTorch Lightning训练脚本 282
9.8 模型性能评估 282
9.8.1 评估工具 283
9.8.2 FVD评估 287
9.8.3 评估生成视频的质量 288
9.8.4 性能评估 289
9.9 采样 292
9.9.1 基于Latte模型的采样 292
9.9.2 基于分布式数据并行生成视频 294
9.9.3 文本生成视频 297