书籍详情
Python预训练视觉和大语言模型

作者:[美] 艾米丽·韦伯(Emily Webber)著 郭涛 译
出版社:清华大学出版社
出版时间:2025-01-01
ISBN:9787302678311
定价:¥59.80
购买这本书可以去
内容简介
●为预训练和微调寻找合适的用例和数据集●使用定制的加速器和GPU,为大规模训练做好准备●配置AWS和SageMaker环境,最大限度地提高性能●根据模型和约束条件选择超参数●使用多种并行方式分发模型和数据集●利用作业重启、间歇性健康检查等方式避开陷阱●定性和定量地评估模型●部署模型,在运行时进行改进和监控
作者简介
Emily Webber是AWS的首席ML专家解决方案架构师,专门从事大型语言和视觉模型的分布式训练。Emily在AWS社区广为人知,在YouTube上发布了由16个视频组成的SageMaker系列,视频播放量高达21.1万次。Emily曾在2019年伦敦人工智能大会上发表过主题演讲。
目录
第Ⅰ部分 预训练前
第1章 预训练基础模型简介 3
1.1 预训练和微调艺术 4
1.2 Transformer模型架构和自注意力 6
1.3 最先进的视觉模型和语言模型 8
1.3.1 截至2023年4月的顶级视觉模型 9
1.3.2 对比预训练与自然语言监督 11
1.3.3 截至2023年4月的顶级语言模型 12
1.3.4 语言技术重点——因果建模和缩放法则 14
1.4 编码器和解码器 15
1.5 本章小结 17
第2章 数据集准备:第1部分 19
2.1 为基础建模寻找数据集和用例 19
2.2 你的数据集有多大区别 23
2.2.1 使用缩放法则调整数据集的大小 25
2.2.2 基础——神经语言模型的缩放法则 26
2.3 偏差检测和减少 28
2.4 增强数据集——多语言、多模态和增强 30
2.5 本章小结 32
第3章 模型准备 35
3.1 寻找最优基础模型 35
3.1.1 从最小的基础模型开始 37
3.1.2 权衡——简单与复杂 37
3.1.3 权衡——应用于许多用例,而非局限于一个用例 38
3.1.4 找到最优基础模型的技术方法 39
3.2 寻找预训练损失函数 39
3.2.1 视觉的预训练损失函数——ViT和CoCa 41
3.2.2 语言中的预训练损失函数——Alexa教师模型 44
3.2.3 更改预训练损失函数 46
3.3 设定模型大小 46
3.3.1 解决模型大小问题的实用方法 49
3.3.2 并非所有缩放法则的效果都相同 49
3.3.3 规划未来的实验 50
3.4 本章小结 51
第Ⅱ部分 配置环境
第4章 云容器和云加速器 55
4.1 什么是加速器,为什么它们很重要 55
4.2 准备使用加速器 58
4.3 优化加速器性能 63
4.3.1 超参数 63
4.3.2 AWS上加速器的基础设施优化 64
4.4 加速器性能故障排除 65
4.5 本章小结 67
第5章 分布式基础知识 69
5.1 理解关键概念——数据和模型并行性 69
5.1.1 什么是数据并行 70
5.1.2 什么是模型并行 71
5.2 将模型与数据并行相结合 73
5.3 Amazon SageMaker分布式训练 74
5.3.1 分布式训练软件 75
5.3.2 SM DDP 76
5.3.3 SMP库 77
5.4 减少GPU内存的高级技术 79
5.4.1 张量并行性 80
5.4.2 优化器状态分片 81
5.4.3 激活检查点 81
5.4.4 分片数据并行性 81
5.5 当今模型的示例 82
5.5.1 Stable Diffusion——大规模数据并行 82
5.5.2 GPT-3——大规模的模型和数据并行性 83
5.6 本章小结 84
第6章 数据集准备:第2部分 85
6.1 Python中的数据加载器 86
6.2 构建和测试自己的数据加载器——来自Stable Diffusion的案例研究 88
6.3 创建嵌入——词元分析器和智能功能的其他关键步骤 91
6.4 在Amazon SageMaker上优化数据管道 95
6.5 在AWS上大规模转换深度学习数据集 98
6.6 本章小结 100
第Ⅲ部分 训练模型
第7章 寻找合适的超参数 103
7.1 超参数——批量大小、学习率等 103
7.2 微调策略 105
7.3 基础模型的超参数微调 108
7.4 使用SageMaker根据world size放大 109
7.5 本章小结 113
第8章 SageMaker的大规模训练 115
8.1 优化SageMaker训练的脚本 115
8.1.1 导入程序包 116
8.1.2 参数解析 116
8.1.3 函数定义和用法 118
8.2 SageMaker训练的顶级可用性功能 121
8.2.1 用于快速实验的暖池 121
8.2.2 SSM和SSH进入训练实例 122
8.2.3 跟踪作业和实验以复制结果 123
8.3 本章小结 127
第9章 高级训练概念 129
9.1 评估和提高吞吐量 129
9.2 使用Flash注意力加速训练运行 132
9.3 通过编译加快作业速度 133
9.4 Amazon SageMaker训练编译器和Neo 135
9.5 在亚马逊的Trainium和Inferentia自定义硬件上运行编译后的模型 137
9.6 求解最优训练时间 138
9.7 本章小结 140
第Ⅳ部分 评估模型
第10章 微调和评估 143
10.1 对语言、文本和其间的一切进行微调 143
10.1.1 微调纯语言模型 145
10.1.2 微调纯视觉模型 147
10.1.3 微调视觉语言模型 149
10.2 评估基础模型 150
10.2.1 视觉模型评估指标 150
10.2.2 语言模型评估指标 152
10.2.3 联合视觉-语言任务中的模型评估指标 154
10.2.4 通过SageMaker Ground Truth将人类视角与标签相结合 156
10.3 从人类反馈中强化学习 157
10.4 本章小结 158
第11章 检测、减少和监控偏差 161
11.1 检测机器学习模型中的偏差 161
11.2 减少视觉和语言模型中的偏差 165
11.2.1 语言模型中的偏差减少——反事实数据增强和公平损失函数 166
11.2.2 视觉模型中的偏差减少——减少相关性并解决采样问题 169
11.3 监控机器学习模型中的偏差 170
11.4 使用SageMaker Clarify检测、减轻和监控偏差 172
11.5 本章小结 173
第Ⅴ部分 部署模型
第12章 如何部署模型 177
12.1 模型部署的定义 177
12.2 托管模型的最优方式 179
12.3 为什么缩小模型,以及如何缩小 182
12.3.1 模型编译 183
12.3.2 知识蒸馏 183
12.3.3 量化 184
12.4 在SageMaker上托管分布式模型 184
12.5 模型服务器和端到端托管优化 186
12.6 本章小结 188
第13章 提示工程 189
13.1 提示工程——以少搏多的艺术 189
13.2 从少样本学习到零样本学习 190
13.3 文本到图像提示工程的注意之处 193
13.4 图像到图像提示工程的注意之处 196
13.4.1 放大 196
13.4.2 掩膜 196
13.4.3 使用DreamBooth提示目标到图像 197
13.5 提示大型语言模型 198
13.5.1 指令微调 198
13.5.2 思维链提示 199
13.5.3 摘要 200
13.5.4 防止提示注入和越狱 200
13.6 高级技术——前缀和提示微调 201
13.6.1 前缀微调 201
13.6.2 提示微调 203
13.7 本章小结 204
第14章 视觉和语言MLOps 205
14.1 什么是MLOps? 205
14.2 持续集成和持续部署 208
14.3 模型监控和人机回环 210
14.4 基础模型的MLOps 212
14.5 视觉MLOps 213
14.6 AWS为MLOps提供的服务 215
14.7 本章小结 218
第15章 预训练基础模型的未来趋势 219
15.1 构建LLM应用程序的技术 219
15.1.1 使用开源堆栈构建交互式对话应用程序 220
15.1.2 使用RAG确保LLM应用程序的高准确性 222
15.1.3 生成是新的分类吗? 223
15.1.4 用LLM构建应用的人性化设计 224
15.2 其他生成式模式 225
15.3 基础模型中的AWS产品 226
15.4 基础模型的未来 228
15.5 预训练的未来 229
15.6 本章小结 232
——?以下内容可扫描封底二维码下载?——
参考文献 233
第1章 预训练基础模型简介 3
1.1 预训练和微调艺术 4
1.2 Transformer模型架构和自注意力 6
1.3 最先进的视觉模型和语言模型 8
1.3.1 截至2023年4月的顶级视觉模型 9
1.3.2 对比预训练与自然语言监督 11
1.3.3 截至2023年4月的顶级语言模型 12
1.3.4 语言技术重点——因果建模和缩放法则 14
1.4 编码器和解码器 15
1.5 本章小结 17
第2章 数据集准备:第1部分 19
2.1 为基础建模寻找数据集和用例 19
2.2 你的数据集有多大区别 23
2.2.1 使用缩放法则调整数据集的大小 25
2.2.2 基础——神经语言模型的缩放法则 26
2.3 偏差检测和减少 28
2.4 增强数据集——多语言、多模态和增强 30
2.5 本章小结 32
第3章 模型准备 35
3.1 寻找最优基础模型 35
3.1.1 从最小的基础模型开始 37
3.1.2 权衡——简单与复杂 37
3.1.3 权衡——应用于许多用例,而非局限于一个用例 38
3.1.4 找到最优基础模型的技术方法 39
3.2 寻找预训练损失函数 39
3.2.1 视觉的预训练损失函数——ViT和CoCa 41
3.2.2 语言中的预训练损失函数——Alexa教师模型 44
3.2.3 更改预训练损失函数 46
3.3 设定模型大小 46
3.3.1 解决模型大小问题的实用方法 49
3.3.2 并非所有缩放法则的效果都相同 49
3.3.3 规划未来的实验 50
3.4 本章小结 51
第Ⅱ部分 配置环境
第4章 云容器和云加速器 55
4.1 什么是加速器,为什么它们很重要 55
4.2 准备使用加速器 58
4.3 优化加速器性能 63
4.3.1 超参数 63
4.3.2 AWS上加速器的基础设施优化 64
4.4 加速器性能故障排除 65
4.5 本章小结 67
第5章 分布式基础知识 69
5.1 理解关键概念——数据和模型并行性 69
5.1.1 什么是数据并行 70
5.1.2 什么是模型并行 71
5.2 将模型与数据并行相结合 73
5.3 Amazon SageMaker分布式训练 74
5.3.1 分布式训练软件 75
5.3.2 SM DDP 76
5.3.3 SMP库 77
5.4 减少GPU内存的高级技术 79
5.4.1 张量并行性 80
5.4.2 优化器状态分片 81
5.4.3 激活检查点 81
5.4.4 分片数据并行性 81
5.5 当今模型的示例 82
5.5.1 Stable Diffusion——大规模数据并行 82
5.5.2 GPT-3——大规模的模型和数据并行性 83
5.6 本章小结 84
第6章 数据集准备:第2部分 85
6.1 Python中的数据加载器 86
6.2 构建和测试自己的数据加载器——来自Stable Diffusion的案例研究 88
6.3 创建嵌入——词元分析器和智能功能的其他关键步骤 91
6.4 在Amazon SageMaker上优化数据管道 95
6.5 在AWS上大规模转换深度学习数据集 98
6.6 本章小结 100
第Ⅲ部分 训练模型
第7章 寻找合适的超参数 103
7.1 超参数——批量大小、学习率等 103
7.2 微调策略 105
7.3 基础模型的超参数微调 108
7.4 使用SageMaker根据world size放大 109
7.5 本章小结 113
第8章 SageMaker的大规模训练 115
8.1 优化SageMaker训练的脚本 115
8.1.1 导入程序包 116
8.1.2 参数解析 116
8.1.3 函数定义和用法 118
8.2 SageMaker训练的顶级可用性功能 121
8.2.1 用于快速实验的暖池 121
8.2.2 SSM和SSH进入训练实例 122
8.2.3 跟踪作业和实验以复制结果 123
8.3 本章小结 127
第9章 高级训练概念 129
9.1 评估和提高吞吐量 129
9.2 使用Flash注意力加速训练运行 132
9.3 通过编译加快作业速度 133
9.4 Amazon SageMaker训练编译器和Neo 135
9.5 在亚马逊的Trainium和Inferentia自定义硬件上运行编译后的模型 137
9.6 求解最优训练时间 138
9.7 本章小结 140
第Ⅳ部分 评估模型
第10章 微调和评估 143
10.1 对语言、文本和其间的一切进行微调 143
10.1.1 微调纯语言模型 145
10.1.2 微调纯视觉模型 147
10.1.3 微调视觉语言模型 149
10.2 评估基础模型 150
10.2.1 视觉模型评估指标 150
10.2.2 语言模型评估指标 152
10.2.3 联合视觉-语言任务中的模型评估指标 154
10.2.4 通过SageMaker Ground Truth将人类视角与标签相结合 156
10.3 从人类反馈中强化学习 157
10.4 本章小结 158
第11章 检测、减少和监控偏差 161
11.1 检测机器学习模型中的偏差 161
11.2 减少视觉和语言模型中的偏差 165
11.2.1 语言模型中的偏差减少——反事实数据增强和公平损失函数 166
11.2.2 视觉模型中的偏差减少——减少相关性并解决采样问题 169
11.3 监控机器学习模型中的偏差 170
11.4 使用SageMaker Clarify检测、减轻和监控偏差 172
11.5 本章小结 173
第Ⅴ部分 部署模型
第12章 如何部署模型 177
12.1 模型部署的定义 177
12.2 托管模型的最优方式 179
12.3 为什么缩小模型,以及如何缩小 182
12.3.1 模型编译 183
12.3.2 知识蒸馏 183
12.3.3 量化 184
12.4 在SageMaker上托管分布式模型 184
12.5 模型服务器和端到端托管优化 186
12.6 本章小结 188
第13章 提示工程 189
13.1 提示工程——以少搏多的艺术 189
13.2 从少样本学习到零样本学习 190
13.3 文本到图像提示工程的注意之处 193
13.4 图像到图像提示工程的注意之处 196
13.4.1 放大 196
13.4.2 掩膜 196
13.4.3 使用DreamBooth提示目标到图像 197
13.5 提示大型语言模型 198
13.5.1 指令微调 198
13.5.2 思维链提示 199
13.5.3 摘要 200
13.5.4 防止提示注入和越狱 200
13.6 高级技术——前缀和提示微调 201
13.6.1 前缀微调 201
13.6.2 提示微调 203
13.7 本章小结 204
第14章 视觉和语言MLOps 205
14.1 什么是MLOps? 205
14.2 持续集成和持续部署 208
14.3 模型监控和人机回环 210
14.4 基础模型的MLOps 212
14.5 视觉MLOps 213
14.6 AWS为MLOps提供的服务 215
14.7 本章小结 218
第15章 预训练基础模型的未来趋势 219
15.1 构建LLM应用程序的技术 219
15.1.1 使用开源堆栈构建交互式对话应用程序 220
15.1.2 使用RAG确保LLM应用程序的高准确性 222
15.1.3 生成是新的分类吗? 223
15.1.4 用LLM构建应用的人性化设计 224
15.2 其他生成式模式 225
15.3 基础模型中的AWS产品 226
15.4 基础模型的未来 228
15.5 预训练的未来 229
15.6 本章小结 232
——?以下内容可扫描封底二维码下载?——
参考文献 233
猜您喜欢



