图书目录

目    录

第 1 章  Transformer与PyTorch的集成应用概述 1

1.1  大模型与Transformer的技术背景 1

1.1.1  自注意力机制的原理与实现细节 2

1.1.2  多层堆叠与残差连接:Transformer的高效信息流 4

1.2  PyTorch的应用场景与技术特点 7

1.2.1  动态图计算与自动微分机制 7

1.2.2  GPU加速与多设备支持 8

1.3  快速上手:使用PyTorch实现一个简单的Transformer模型 12

1.3.1  Transformer编码器的基础实现与训练流程 13

1.3.2  解码器与完整Transformer模型的拼接与测试 16

1.4  本章小结 21

1.5  思考题 21

第 2 章  Transformer编码器与解码器的原理与实现 22

2.1  Transformer编码器与解码器结构分析 22

2.1.1  位置编码的设计与实现 23

2.1.2  多头注意力与前馈层的层次关系 28

2.2  基于PyTorch实现编码器-解码器架构 31

2.2.1  多头注意力模块的独立实现与测试 32

2.2.2  残差连接与层归一化的模块化实现 34

2.3  Transformer的编码解码过程 36

2.3.1  编码器多层堆叠与信息流动的实现 36

2.3.2  解码器自回归生成过程的实现与可视化 39

2.3.3  基于文本的Transformer实例:逐步打印编码解码过程 42

2.4  编码器和解码器的双向训练流程 45

2.4.1  编码器与解码器的联合训练策略 45

2.4.2  掩码机制在双向训练中的应用 49

2.5  本章小结 52

2.6  思考题 53

第 3 章  注意力机制与多头注意力的实现 54

3.1  注意力机制的基础与实现原理 54

3.1.1  点积注意力与缩放机制 55

3.1.2  注意力权重的归一化与Softmax函数应用 57

3.2  多头注意力的设计与实现细节 60

3.2.1  多头分组与并行计算策略 60

3.2.2  多头注意力的拼接与线性变换 62

3.3  使用PyTorch实现多头注意力并进行可视化 64

3.3.1  注意力矩阵的生成与可视化 64

3.3.2  不同头注意力分布的可视化分析 67

3.4  多头注意力权重的提取与应用 70

3.4.1  多头注意力权重提取与解读:理解模型的关注点 70

3.4.2  多头注意力权重的优化与调控 72

3.5  本章小结 75

3.6  思考题 76

第 4 章  Hugging Face Transformers库的应用 77

4.1  Transformer模型的加载与配置 77

4.1.1  预训练模型的加载与管理 78

4.1.2  模型配置自定义与参数调整 79

4.2  使用Hugging Face库进行模型训练与推理 83

4.2.1  模型训练数据的预处理与标注 83

4.2.2  训练过程中的参数优化与监控 86

4.3  Hugging Face生态系统的其他工具介绍 88

4.3.1  Tokenizer的自定义与高效分词方法 88

4.3.2  Dataset和Pipeline工具的集成应用 91

4.4  自定义Hugging Face的模型训练流程 93

4.4.1  自定义训练循环与评估指标 93

4.4.2  迁移学习与微调:从预训练到特定任务 96

4.5  本章小结 99

4.6  思考题 100

第 5 章  数据预处理与文本分词技术 101

5.1  文本数据的清洗与标准化 101

5.1.1  特殊字符和标点的处理 102

5.1.2  停用词去除与大小写规范化 105

5.2  分词方法及其在不同模型中的应用 106

5.2.1  词级分词与子词分词 107

5.2.2  BPE与WordPiece分词算法的实现原理 109

5.3  使用PyTorch和Hugging Face进行分词与词嵌入 112

5.3.1  基于Hugging Face Tokenizer的高效分词 112

5.3.2  Embedding层的定义与词嵌入矩阵的初始化 115

5.4  动态分词与序列截断技术 117

5.4.1  处理变长文本输入 117

5.4.2  长序列的截断与填充 119

5.4.3  综合案例:文本清洗、分词、词嵌入与动态填充 122

5.5  本章小结 125

5.6  思考题 125

第 6 章  模型微调与迁移学习 127

6.1  微调与迁移学习的基本概念与方法 127

6.1.1  迁移学习的体系结构:模型的选择与适配 128

6.1.2  全参数微调与部分参数微调的优缺点 131

6.2  使用预训练模型进行领域微调 133

6.2.1  领域特定数据的预处理与加载 133

6.2.2  调节学习率与损失函数 135

6.3  微调策略与优化技巧:冻结层、增量训练等 137

6.3.1  冻结模型层的选择与解冻 137

6.3.2  增量训练中的数据选择与样本权重分配 139

6.4  增量学习:如何在新数据上继续微调 142

6.4.1  基于新数据的微调策略:避免灾难性遗忘 143

6.4.2  使用正则化与约束技术保持原模型性能 146

6.4.3  综合案例:增量学习中的微调策略与优化 149

6.5  本章小结 152

6.6  思考题 153

第 7 章  文本生成与推理技术 154

7.1  文本生成方法概述:Beam Search、Top-K与Top-P采样 154

7.1.1  Beam Search的多路径生成与评估 155

7.1.2  Top-K采样的限制与稀疏性控制 156

7.1.3  Top-P采样的自适应概率截断机制 158

7.2  文本生成模型的应用实例 160

7.2.1  使用预训练语言模型生成长篇文本 160

7.2.2  生成多轮对话的上下文保持与管理 163

7.2.3  引导生成特定情绪的文本 166

7.3  生成模型的实现与优化 168

7.3.1  使用PyTorch和Transformers库实现生成模型 168

7.3.2  生成模型的批量处理与并行加速 171

7.3.3  生成结果的后处理与数据清洗 173

7.4  控制生成式模型输出的技术手段 176

7.4.1  温度调控参数的设置与生成调节 176

7.4.2  限制生成输出的内容 179

7.4.3  生成限制:控制模型输出的重复与一致性 181

7.5  句子长度与风格调控 184

7.5.1  强制生成短句或长句 184

7.5.2  生成特定语法与风格的文本 187

7.5.3  语言风格迁移与自定义风格调控 189

7.6  本章小结 192

7.7  思考题 192

第 8 章  模型优化与量化技术 194

8.1  模型优化策略概述:剪枝与蒸馏 194

8.1.1  剪枝策略的类型与应用场景 194

8.1.2  蒸馏模型的设计与小模型训练技巧 197

8.2  模型量化方法在推理中的加速效果 200

8.2.1  静态量化与动态量化 200

8.2.2  量化感知训练 203

8.3  基于PyTorch的模型优化与性能测试 206

8.3.1  TorchScript在优化模型中的应用 207

8.3.2  使用PyTorch Profiler进行性能分析 209

8.4  混合精度训练与内存优化 212

8.4.1  使用AMP进行混合精度训练 212

8.4.2  Gradient Checkpointing的内存管理 214

8.5  本章小结 218

8.6  思考题 218

第 9 章  分布式训练与多GPU并行处理 220

9.1  分布式训练的基本原理与架构 220

9.1.1  数据并行与模型并行的架构 221

9.1.2  分布式训练:参数服务器与All-Reduce 223

9.2  多GPU并行处理的实现与代码示例 225

9.2.1  单机多卡的实现与管理 226

9.2.2  跨机器多GPU的分布式训练配置 229

9.3  梯度累积与分布式同步优化 231

9.3.1  梯度累积应用场景与实现 231

9.3.2  分布式训练中的梯度同步与参数更新 234

9.4  本章小结 237

9.5  思考题 237

第 10 章  NLP任务实例:分类、问答与命名实体识别 239

10.1  文本分类任务实现与优化技巧 239

10.1.1  数据预处理与标签平衡技术 240

10.1.2  超参数调优与模型性能提升 242

10.2  问答系统的实现流程与代码演示 243

10.2.1  预训练语言模型在问答任务中的应用 244

10.2.2  答案抽取与评分机制 247

10.2.3  多轮问答中的上下文跟踪与信息保持 249

10.2.4  知识图谱增强 251

10.3  基于Transformer的序列标注任务实现 254

10.3.1  命名实体识别的标注 254

10.3.2  序列标注模型 260

10.3.3  综合案例:基于BERT的命名实体识别与上下文追踪的多轮对话系统 263

10.4  本章小结 268

10.5  思考题 269

第 11 章  深度学习模型的可解释性 270

11.1  使用SHAP和LIME进行特征重要性分析 270

11.1.1  SHAP在深度模型中的应用与特征影响力排序 271

11.1.2  LIME在不同输入类型下的局部解释 273

11.2  注意力权重提取与层次分析 274

11.2.1  逐层提取多头注意力权重 275

11.2.2  跨层注意力权重变化 276

11.2.3  综合案例:基于Transformer的文本分类模型的多层次可解释性分析 278

11.3  本章小结 281

11.4  思考题 281

第 12 章  构建智能文本分析平台 283

12.1  项目概述与模块划分 283

12.1.1  项目概述 283

12.1.2  模块划分 284

12.2  模块化开发与测试 285

12.2.1  数据收集与预处理 285

12.2.2  文本生成与内容生成 288

12.2.3  高级文本分析 292

12.2.4  模型优化与推理性能提升 296

12.2.5  多GPU与分布式训练 299

12.2.6  可解释性分析与模型可控性 303

12.2.7  单元测试 305

12.2.8  集成测试 310

12.3  平台容器化部署与云端部署 313

12.3.1  使用Docker进行容器化部署 313

12.3.2  使用Kubernetes实现云端可扩展性和高可用性 315

12.4  本章小结 319

12.5  思考题 319