本书循序渐进、详细讲解了大模型开发技术的核心知识,并通过具体实例的实现过程演练了使用TensorFlow和PyTorch开发大模型程序的方法和流程。
全书共12章,分别讲解了大模型基础,数据集的加载、基本处理和制作,数据集的预处理,卷积神经网络模型,循环神经网络模型,特征提取,注意力机制,模型训练与调优,模型推理和评估,大模型优化算法和技术,AI智能问答系统和AI人脸识别系统。全书简洁而不失其技术深度,内容丰富全面。本书易于阅读,以极简的文字介绍了复杂的案例,是学习大模型开发的实用教程。
本书适用于已经了解Python基础开发的读者,以及想进一步学习大模型开发、模型优化、模型应用和模型架构的读者,还可以作为大专院校相关专业的师生用书和培训学校的专业性教材。
王振丽
----------------------------
王振丽,华中科技大学计算机硕士,精通C、C#、C++、Java、Python等多门编程语言。现任腾讯AI产品架构师,主要从事移动端底层系统架构、驱动程序、AI应用的研究和开发工作,对人工智能的架构设计和实现原理有非常深刻的认识和理解。精通各种多模态预训练算法,熟悉Prompt Engineering和模型Tuning方法,在协同大模型垂直领域的训练和调优方面经验丰富,在提升大模型业务的产品落地领域有着丰富的见解。
第1章 大模型基础
1.1人工智能
1.1.1 人工智能的发展历程
1.1.2 人工智能的研究领域
1.1.3 人工智能对人们生活的影响
1.2机器学习和深度学习
1.2.1 机器学习
1.2.2 深度学习
1.2.3 机器学习和深度学习的区别
1.3大模型简介
1.3.1 大模型的作用
1.3.2 数据
1.3.3 数据和大模型的关系
1.4大模型开发与应用的技术栈
第2章 数据集的加载、基本处理和制作
2.1数据集的加载
2.1.1 PyTorch加载数据集
2.1.2 TensorFlow加载数据集
2.2数据集的基本处理
2.2.1 转换为Tensor格式
2.2.2 标准化处理
2.2.3 调整大小和裁剪
2.2.4 随机翻转和旋转
2.3数据集的制作
2.3.1 自定义数据集
2.3.2 制作简易图片数据集
2.3.3 制作有标签的数据集
第3章 数据集的预处理
3.1数据清洗和处理
3.1.1 缺失值处理
3.1.2 异常值检测与处理
3.1.3 重复数据处理
3.2数据转换与整合
3.2.1 特征选择与抽取
3.2.2 特征变换与降维
3.2.3 数据集成与关联
3.3数据标准化与归一化
3.3.1 标准化及其重要性
3.3.2 特征缩放和归一化
3.3.3 数据转换和规范化
3.3.4 “最小-最大 ”缩放
3.4数据增强技术
3.4.1 数据增强的意义
3.4.2 图像数据增强
3.4.3 自然语言数据增强
第4章 卷积神经网络模型
4.1卷积神经网络简介
4.1.1 卷积神经网络的发展背景
4.1.2 卷积神经网络的结构
4.2卷积神经网络模型开发实战
4.2.1 使用TensorFlow创建一个卷积神经网络模型并评估
4.2.2 使用PyTorch创建手写数字模型
第5章 循环神经网络模型
5.1文本处理与循环神经网络简介
5.1.1 循环神经网络基础
5.1.2 文本分类
5.2循环神经网络模型开发实战
5.2.1 使用PyTorch开发歌词生成器模型
5.2.2 使用TensorFlow制作情感分析模型
第6章 特征提取
6.1特征提取简介
6.1.1 特征在大模型中的关键作用
6.1.2 特征提取与数据预处理的关系
6.2特征的类型和重要性
6.2.1 数值特征和类别特征
6.2.2 高维数据的挑战
6.3特征选择
6.3.1 特征选择的必要性
6.3.2 特征选择的方法
6.4特征抽取
6.4.1 特征抽取的概念
6.4.2 主成分分析
6.4.3 独立成分分析
6.4.4 自动编码器
6.5文本数据的特征提取
6.5.1 嵌入
6.5.2 词袋模型
6.5.3 TF-IDF特征
6.6 图像数据的特征提取
6.6.1 预训练的图像特征提取模型
6.6.2 基本图像特征:边缘检测、颜色直方图等
第7章 注意力机制
7.1注意力机制基础
7.1.1 注意力机制简介
7.1.2 注意力机制的变体
7.1.3 注意力机制解决的问题
7.2TensorFlow 机器翻译系统
7.2.1 项目简介
7.2.2 下载并准备数据集
7.2.3 文本预处理
7.2.4 编码器模型
7.2.5 绘制可视化注意力图
7.2.6 解码器
7.2.7 训练
7.2.8 翻译
7.3 PyTorch 机器翻译系统
7.3.1 准备数据集
7.3.2 数据预处理
7.3.3 实现Seq2Seq 模型
7.3.4 训练模型
7.3.5 模型评估
7.3.6 训练和评估
7.3.7 注意力的可视化
第8章 模型训练与调优
8.1模型训练优化
8.1.1 底层优化
8.1.2 样本权重和分类权重
8.2损失函数和优化算法
8.2.1 损失函数和优化算法的概念
8.2.2 TensorFlow损失函数和优化算法
8.2.3 PyTorch损失函数和优化算法
8.3批量训练和随机训练
8.3.1 批量训练和随机训练的概念
8.3.2 小批量随机梯度下降
8.3.3 批量归一化
8.3.4 丢弃
8.4模型验证和调优
8.4.1 训练集、验证集和测试集
8.4.2 交叉验证优化
8.4.3 超参数调优
第9章 模型推理和评估
9.1模型推理
9.1.1 模型推理的步骤
9.1.2 前向传播和输出计算的过程
9.1.3 模型推理的优化和加速
9.2模型评估
9.2.1 模型评估的方法和指标
9.2.2 交叉验证和统计显著性测试的应用
第10章 大模型优化算法和技术
10.1常见的大模型优化算法和技术
10.2梯度下降法
10.2.1 梯度下降法简介
10.2.2 TensorFlow梯度下降法优化实践
10.2.3 PyTorch梯度下降法优化实践
10.3模型并行和数据并行
10.3.1 模型并行和数据并行的基本概念
10.3.2 TensorFlow模型并行和数据并行实践
10.3.3 PyTorch模型并行和数据并行实践
10.4学习率调度
10.4.1 学习率调度的方法
10.4.2 TensorFlow学习率调度优化实践
10.4.3 PyTorch学习率调度优化实践
10.5权重初始化策略
10.6迁移学习
10.6.1 迁移学习的基本概念
10.6.2 TensorFlow迁移学习优化实践
10.6.3 PyTorch迁移学习优化实践
10.7其他大模型优化算法和技术
10.7.1 分布式训练
10.7.2 正则化
10.7.3 梯度裁剪
10.7.4 混合精度训练优化
10.7.5 量化优化技术
10.7.6 剪枝优化技术
第11章 AI智能问答系统(TensorFlow+TensorFlow. js+SQuAD 2.0+Mobile-BERT)
11.1背景简介
11.1.1 互联网的影响
11.1.2 问答系统的发展
11.2问答系统的发展趋势:AI 问答系统
11.3技术架构
11.3.1 TensorFlow.js
11.3.2 SQuAD 2.0
11.3.3 BERT
11.3.4 知识蒸馏
11.4具体实现
11.4.1 编写HTML文件
11.4.2 脚本处理
11.4.3 加载训练模型
11.4.4 查询处理
11.4.5 文章处理
11.4.6 加载处理
11.4.7 寻找答案
11.4.8 提取最佳答案
11.4.9 将答案转换回原始文本
11.5调试运行
第12章 AI人脸识别系统(PyTorch+OpenCV+Scikit-Image+MobileNet+ArcFace)
12.1 系统简介
12.1.1 背景简介
12.1.2 人脸识别的发展历史和现状
12.2系统需求分析
12.2.1 系统功能分析
12.2.2 技术分析
12.2.3 实现流程分析
12.3数据集
12.3.1 准备数据集
12.3.2 提取人脸
12.4训练模型
12.4.1 ArcFace算法
12.4.2 MobileNet算法
12.4.3 开始训练
12.5评估模型
12.5.1 评估的重要性
12.5.2 评估程序
12.6人脸识别
12.6.1 图像预处理
12.6.2 人脸识别模型
12.6.3 开始识别