新书速览|大模型核心技术与开发实践:基于Transformer、PyTorch及Hugging Face
《大模型核心技术与开发实践:基于Transformer、PyTorch及Hugging Face》
本书内容
《大模型核心技术与开发实践:基于Transformer、PyTorch及Hugging Face》系统地介绍大语言模型(LLM)的理论基础、实现方法及在多种场景中的应用实践。共分为12章,第1~3章介绍Transformer模型的基本架构与核心概念,包括编解码器的结构、自注意力机制、多头注意力的设计和工作原理;第4~6章结合实际案例,讲解如何利用PyTorch和Hugging Face库构建、训练和微调LLM;第7~9章介绍生成模型的推理和优化技术,包括量化、剪枝、多GPU并行处理、混合精度训练等,以提高模型在大规模数据集上的训练和推理效率;第10、11章通过实例讲解Transformer在实际NLP任务中的应用以及模型可解释性技术;第12章通过一个企业级文本分析平台项目的搭建,介绍从数据预处理、文本生成、高级分析到容器化与云端部署的完整流程,并提供了代码示例、模块化测试和性能评估方法,帮助读者实际构建满足企业需求的智能应用系统。
本书作者
凌峰,博士,目前就职于某985高校,长期从事机器学习、人工智能、计算机视觉与大模型领域的研发与教学,在模型优化、训练加速、数据驱动算法开发等方面有深刻见解,参与并主导多项相关科研项目。
本书读者
《大模型核心技术与开发实践:基于Transformer、PyTorch及Hugging Face》覆盖了当前广泛关注的LLM技术热点,并提供了丰富的实例代码,适合大模型开发人员、大模型应用工程师、算法工程师以及计算机专业的学生,亦可作为高校人工智能课程的相关教学用书。
本书目录
向上滑动阅览
目 录
第 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-Reduce223
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
本书特色
本文摘自《大模型核心技术与开发实践:基于Transformer、PyTorch及Hugging Face》,获出版社和作者授权发布。
大模型核心技术与开发实践:基于Transformer、PyTorch及Hugging Face——jdhttps://item.jd.com/15060350.html