本书系统阐述了大模型基础与架构的相关知识,全面覆盖大模型开发、训练、优化和部署的核心技术要点。全书共分为12章,从大模型的基本概念与发展背景、深度学习技术栈到模型的预训练与微调,再到DeepSeek的混合专家模型系统和多模态大模型开发,深入讲解了大模型的理论与实践。内容涵盖从数据预处理、网络模型构建到高性能计算和模型优化的完整开发流程,为读者提供了关于大模型的全景式指导。
本书详细讲解了深度学习框架的选择与应用、分布式训练技术、数据管理与存储优化以及硬件加速方案,帮助读者在复杂的大模型开发环境中快速入门并掌握核心技术。此外,针对模型的输入输出解析、性能评估与解释、模型优化策略等关键环节,书中提供了丰富的理论讲解与实际案例,帮助读者全面理解大模型的开发过程与优化路径。
无论您是人工智能领域的技术开发者、科研人员,还是对大模型技术感兴趣的初学者,抑或是相关专业的在校学生,本书都将为您提供从基础到前沿的全方位指导,助您掌握大模型开发的核心技能与实践方法。
第1章 大模型基础 001
1.1 人工智能 002
1.1.1 人工智能的发展历程 002
1.1.2 人工智能的研究领域 003
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 大模型的作用 006
1.3.2 数据 006
1.3.3 数据和大模型的关系 007
第2章 大模型开发技术栈 008
2.1 深度学习框架 009
2.2 分布式计算与并行训练 010
2.2.1 数据并行与模型并行的原理 010
2.2.2 分布式训练框架 010
2.2.3 混合精度训练与内存优化 011
2.2.4 分布式训练的网络架构与通信优化 012
2.3 数据处理与存储技术 014
2.3.1 大规模数据的清洗与管理 014
2.3.2 数据库与数据湖 015
2.3.3 分布式文件系统与云存储 016
2.3.4 数据加载与预处理加速技术 017
2.4 硬件加速与高性能计算 018
2.4.1 GPU与TPU的架构与应用 018
2.4.2 AI专用芯片 019
2.4.3 FPGA与ASIC在大模型中的应用 020
2.4.4 硬件资源的高效利用与部署策略 020
2.5 模型开发的工具与平台 021
2.5.1 自动化机器学习平台 021
2.5.2 实验管理与追踪工具 022
2.5.3 代码与版本管理 023
2.5.4 开源大模型平台与工具 023
第3章 数据集的预处理 025
3.1 加载数据集 026
3.1.1 PyTorch加载数据集 026
3.1.2 TensorFlow加载数据集 027
3.2 制作数据集 028
3.2.1 自定义数据集 028
3.2.2 制作简易图片数据集 030
3.2.3 制作有标签的数据集 032
3.3 数据清洗和处理 034
3.3.1 处理缺失值 034
3.3.2 异常值检测与处理 035
3.3.3 处理重复数据 037
3.4 数据转换与整合 038
3.4.1 特征选择与抽取 038
3.4.2 特征变换与降维 039
3.4.3 数据集成与关联 040
3.5 数据标准化与归一化 041
3.5.1 标准化与其重要性 041
3.5.2 特征缩放和归一化 042
3.5.3 数据转换和规范化 043
3.5.4 “最小-最大”缩放 045
3.6 数据增强技术 046
3.6.1 数据增强的意义 046
3.6.2 图像数据增强 046
第4章 机器学习网络模型 050
4.1 机器学习简介 051
4.1.1 数据在机器学习中的角色 051
4.1.2 机器学习的目标 051
4.2 监督学习、无监督学习与强化学习 052
4.2.1 监督学习 052
4.2.2 无监督学习 052
4.2.3 强化学习 052
4.3 网络模型 053
4.3.1 机器学习中的网络模型 053
4.3.2 线性回归模型 054
4.3.3 构建逻辑回归模型 055
4.3.4 支持向量机 057
4.3.5 决策树 060
4.3.6 随机森林 061
4.3.7 K近邻算法模型 064
第5章 深度学习网络模型 067
5.1 深度学习的起源与发展 068
5.1.1 早期的人工神经网络与感知机 068
5.1.2 深度学习的突破 068
5.1.3 深度学习的黄金时代 069
5.2 神经网络 070
5.2.1 神经网络的前向传播与反向传播 070
5.2.2 神经网络的训练过程 070
5.3 激活函数与损失函数 072
5.3.1 激活函数的种类与选择 072
5.3.2 损失函数的作用与类型 073
5.3.3 激活函数与损失函数的结合 074
5.4 深度学习模型 074
5.4.1 深度学习中的网络模型 075
5.4.2 前馈神经网络 076
5.4.3 卷积神经网络 077
5.4.4 循环神经网络 081
5.4.5 长短期记忆网络 083
5.4.6 生成对抗网络 084
第6章 大模型的输入与输出解析 089
6.1 大模型输入输出设计 090
6.1.1 输入数据类型与格式 090
6.1.2 输入的预处理与标准化 091
6.1.3 输出结构的设计 093
6.1.4 输入输出接口设计 095
6.2 数据流和数据结构 097
6.2.1 数据流的设计与管理 097
6.2.2 数据结构的选择与优化 100
6.2.3 数据批处理与缓存 102
6.3 输出解析与后处理 104
6.3.1 分类与标注结果的处理 105
6.3.2 序列化与反序列化 107
6.3.3 输出后处理中的可视化 110
第7章 模型评估与解释 113
7.1 模型评估的基本概念 114
7.1.1 评估指标的定义与选择 114
7.1.2 评估指标的数学基础 115
7.2 性能度量与损失函数 118
7.2.1 损失函数与性能度量的关系 118
7.2.2 评估分类任务 119
7.3 模型解释性 121
7.3.1 模型解释性的基本概念 122
7.3.2 模型解释性实践 122
7.4 灵敏度分析与梯度检查 125
7.4.1 概率与统计在灵敏度分析中的作用 125
7.4.2 梯度检查 127
7.5 误差分析与模型诊断 132
7.5.1 误差分析介绍 132
7.5.2 模型诊断 134
第8章 模型优化与加速 139
8.1 模型优化和加速简介 140
8.2 梯度下降算法 140
8.2.1 梯度下降算法的实现步骤 140
8.2.2 使用梯度计算优化模型 141
8.2.3 随机梯度下降 143
8.2.4 动量法 145
8.2.5 自适应学习率算法 147
8.3 模型优化算法 150
8.3.1 牛顿法与拟牛顿法 150
8.3.2 自适应优化算法 152
8.3.3 二阶优化 155
8.4 正则化技术 156
8.4.1 L1正则化 156
8.4.2 L2正则化 158
8.4.3 Dropout 161
8.4.4 弹性网 164
8.5 超参数优化 166
8.5.1 超参数基础 166
8.5.2 贝叶斯优化 167
8.6 模型并行和数据并行 168
8.6.1 模型并行和数据并行的基本概念 168
8.6.2 TensorFlow模型并行和数据并行实践 169
8.6.3 PyTorch模型并行和数据并行实践 171
第9章 大模型的预训练与微调 172
9.1 预训练简介 173
9.1.1 预训练的目的与意义 173
9.1.2 预训练模型的通用架构 173
9.1.3 常见的预训练任务类型 174
9.2 预训练数据的构建 175
9.2.1 数据收集与清洗 175
9.2.2 数据增强与标注 175
9.2.3 数据分布对模型性能的影响 176
9.3 预训练模型的实现 176
9.3.1 编码器模型:BERT 177
9.3.2 解码器模型:GPT 179
9.4 大模型微调 182
9.4.1 微调的定义与应用场景 182
9.4.2 微调与预训练的差异 182
9.4.3 常用的微调方法 183
9.5 CLIP模型预训练与微调 184
9.5.1 项目介绍 184
9.5.2 创建文本和图像配对数据集 185
9.5.3 配置CLIP代码文件 188
9.5.4 训练模型 205
9.5.5 模型微调 206
9.5.6 调试运行 207
第10章 大模型的部署与维护 208
10.1 大模型部署 209
10.1.1 部署前的准备工作 209
10.1.2 部署环境搭建与优化 210
10.1.3 部署中的挑战与解决方案 211
10.2 大模型维护 212
10.2.1 模型监控与反馈机制 212
10.2.2 模型更新与迭代 213
10.2.3 模型安全性与合规性 214
10.3 大模型部署实战 216
10.3.1 在阿里云上部署ChatGLM3 216
10.3.2 腾讯部署Cloud Studio 221
10.3.3 本地部署DeepSeek
与Chatbox可视化 221
第11章 DeepSeek的MoE(混合专家模型)系统 227
11.1 项目介绍 228
11.1.1 基本特点 228
11.1.2 开源内容 229
11.2 功能模块 229
11.3 ZeRO配置 230
11.3.1 ZeRO优化器介绍 230
11.3.2 第2阶段优化配置 230
11.3.3 第3阶段优化配置 231
11.3.4 优化总结 232
11.4 模型微调 233
11.4.1 微调原理 233
11.4.2 生成提示文本 234
11.4.3 配置模型微调参数 234
11.4.4 设置训练数据 235
11.4.5 配置超参数 235
11.4.6 保存模型 236
11.4.7 获取最新检查点 236
11.4.8 安全保存模型 237
11.4.9 分词处理 237
11.4.10 文本预处理 238
11.4.11 数据收集器 238
11.4.12 训练数据的分词和预处理 239
11.4.13 构建和配置模型 239
11.4.14 训练模型 240
11.4.15 微调模型 243
11.5 下载和调用模型 244
11.5.1 下载模型 244
11.5.2 调用模型 244
第12章 基于多模态大模型的文生图系统 247
12.1 背景介绍 248
12.2 系统分析 248
12.2.1 需求分析 248
12.2.2 功能分析 248
12.3 系统配置 249
12.3.1 配置模型参数 249
12.3.2 辅助函数 250
12.3.3 数据集处理 251
12.4 多模态生成对抗网络(GAN)模型 255
12.4.1 准备CLIP 255
12.4.2 训练、评估和保存GAN模型 255
12.4.3 InceptionV3模型的预训练 265
12.4.4 实现多模态GAN模型 265
12.4.5 训练模型 280
12.5 Gradio模型部署和展示 283
12.5.1 加载模型 283
12.5.2 深度生成对抗网络(GAN)模型 284
12.5.3 文本生成图像 285
12.5.4 Gradio主界面 287
12.6 调试运行 288