描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302628538丛书名: 计算机技术开发与应用丛书
★内容全面 本书是一本对HuggingFace工具集进行综合性讲解的图书,既有基础知识,也有实战示例,还包括底层原理的讲解。
★语言简洁 本书尽量以简洁的语言书写,每个章节之间的内容尽量独立,使读者可以跳跃阅读而没有障碍。
★ 代码清晰 本书的代码也尽量以简洁的形式书写,使读者阅读不感吃力。每个代码块即是一个测试单元,读者可以对每个程序的每个代码块按从上到下的顺序进行测试,从一个个小知识点聚沙成塔,融会贯通。
本书综合性讲解HuggingFace社区提供的工具集datasets和transformers,书中包括基础的工具集的用例演示,也包括具体的项目实战,以及预训练模型的底层设计思路和实现原理的介绍。通过本书的学习,读者可以快速掌握HuggingFace工具集的使用方法,掌握自然语言处理项目的一般研发流程,并能研发自己的自然语言处理项目。 本书共14章,分为工具集基础用例演示篇(第1~6章),详细讲解HuggingFace工具集的基本使用方法。中文项目实战篇(第7~12章),通过几个实战项目演示使用HuggingFace工具集研发自然语言处理项目的一般流程。预训练模型底层原理篇(13~14章),详细阐述了预训练模型的设计思路和计算原理。 本书将使用简单浅显的语言,带领读者快速地了解HuggingFace工具集的使用方法。通过本书中实战项目的学习,读者可以掌握一般的自然语言处理项目的研发流程。通过本书中预训练模型底层原理的学习,能够让读者知其然也知其所以然,做到融会贯通。 本书适合有PyTorch编程基础的读者阅读,也适合作为对自然语言处理感兴趣的读者的参考图书。
工具集基础用例演示篇
第1章 HuggingFace简介 3
第2章 使用编码工具 6
2.1 编码工具简介 6
2.2 编码工具工作流示意 6
2.3 使用编码工具 8
2.4 小结 15
第3章 使用数据集工具 16
3.1 数据集工具介绍 16
3.2 使用数据集工具 17
3.2.1 数据集加载和保存 17
3.2.2 数据集基本操作 19
3.2.3 将数据集保存为其他格式 24
3.3 小结 25
第4章 使用评价指标工具 26
4.1 评价指标工具介绍 26
4.2 使用评价指标工具 26
4.3 小结 27
第5章 使用管道工具 28
5.1 管道工具介绍 28
5.2 使用管道工具 28
5.2.1 常见任务演示 28
5.2.2 替换模型执行任务 34
5.3 小结 35
第6章 使用训练工具 36
6.1 训练工具介绍 36
6.2 使用训练工具 36
6.2.1 准备数据集 36
6.2.2 定义模型和训练工具 39
6.2.3 训练和测试 43
6.3 小结 47
中文项目实战篇
第7章 实战任务1:中文情感分类 51
7.1 任务简介 51
7.2 数据集介绍 51
7.3 模型架构 52
7.4 实现代码 53
7.4.1 准备数据集 53
7.4.2 定义模型 58
7.4.3 训练和测试 60
7.5 小结 64
第8章 实战任务2:中文填空 65
8.1 任务简介 65
8.2 数据集介绍 65
8.3 模型架构 66
8.4 实现代码 67
8.4.1 准备数据集 67
8.4.2 定义模型 73
8.4.3 训练和测试 76
8.5 小结 79
第9章 实战任务3:中文句子关系推断 81
9.1 任务简介 81
9.2 数据集介绍 81
9.3 模型架构 82
9.4 实现代码 83
9.4.1 准备数据集 83
9.4.2 定义模型 88
9.4.3 训练和测试 90
9.5 小结 92
第10章 实战任务4:中文命名实体识别 93
10.1 任务简介 93
10.2 数据集介绍 93
10.3 模型架构 95
10.4 实现代码 96
10.4.1 准备数据集 96
10.4.2 定义模型 102
10.4.3 训练和测试 105
10.5 小结 115
第11章 使用TensorFlow训练 116
11.1 任务简介 116
11.2 数据集介绍 116
11.3 模型架构 116
11.4 实现代码 117
11.4.1 准备数据集 117
11.4.2 定义模型 121
11.4.3 训练和测试 123
11.5 小结 132
第12章 使用自动模型 133
12.1 任务简介 133
12.2 数据集介绍 134
12.3 模型架构 134
12.4 实现代码 135
12.4.1 准备数据集 135
12.4.2 加载自动模型 137
12.4.3 训练和测试 138
12.5 深入自动模型源代码 141
12.6 小结 147
预训练模型底层原理篇
第13章 手动实现Transformer 151
13.1 Transformer架构 151
13.2 注意力 152
13.2.1 为什么需要注意力 152
13.2.2 注意力的计算过程 153
13.2.3 注意力计算的矩阵形式 155
13.2.4 多头注意力 156
13.3 位置编码 157
13.3.1 为什么需要位置编码 157
13.3.2 位置编码计算过程 157
13.4 MASK 159
13.4.1 PAD MASK 159
13.4.2 上三角MASK 160
13.5 Transformer计算流程 161
13.5.1 编码器 161
13.5.2 整体计算流程 162
13.5.3 解码器解码过程详细讲解 163
13.5.4 总体架构 164
13.6 简单翻译任务 165
13.6.1 任务介绍 165
13.6.2 定义数据集 166
13.6.3 定义MASK函数 169
13.6.4 定义Transformer工具子层 171
13.6.5 定义Transformer模型 176
13.6.6 训练和测试 180
13.7 两数相加任务 184
13.7.1 任务介绍 184
13.7.2 实现代码 185
13.7.3 训练和测试 186
13.8 小结 189
第14章 手动实现BERT 190
14.1 BERT架构 190
14.2 数据集处理 191
14.2.1 数据处理过程概述 191
14.2.2 数据集介绍 193
14.2.3 数据处理实现代码 193
14.3 PyTorch提供的Transformer工具层介绍 201
14.4 手动实现BERT模型 211
14.4.1 准备数据集 211
14.4.2 定义辅助函数 215
14.4.3 定义BERT模型 217
14.4.4 训练和测试 219
14.5 小结 226
VI
VII
自然语言处理一直作为人工智能领域内的重要难题,历史上无数的科学家付出了巨大的心血对其进行研究。著名的图灵测试本质上也是一个自然语言处理任务。
在深度学习成为主流后,自然语言处理确立了主要的研究方向,尤其是在谷歌提出了Transformer和BERT模型以后,基于预训练模型的方法,已成为自然语言处理研究的主要方向。
随着自然语言处理研究的大跨步前进,问题也随之而来,首要的就是数据集格式缺乏统一规范,往往更换一个数据源,就要做复杂的数据适配工作,从工程角度来讲,这增加了项目的实施风险,作为工程人员有时会想,要是能有一个数据中心,它能把数据都管理起来,提供统一的数据接口就好了。
与数据集相应,预训练模型也缺乏统一的规范,它们往往由不同的实验室提供,每个实验室提供的下载方法都不同,下载之后的使用方法也各有区别,如果能把这些模型的下载方式和使用方式统一,就能极大地方便研究,也能降低项目实施的风险。
基于以上诉求,HuggingFace社区提供了两套工具集datasets和transformers,分别用于数据集管理和模型管理。基于HuggingFace工具集研发能极大地简化代码,把研发人员从细节的海洋中拯救出来,把更多的精力集中在业务本身上。
此外,由于数据集和模型都统一了接口,所以在更换时也非常方便,避免了项目和具体的数据集、模型的强耦合,从而降低了项目实施的风险。
综上所述,HuggingFace值得所有自然语言处理研发人员学习。本书将使用简单浅显的语言,快速地讲解HuggingFace工具集的使用方法,并通过几个实例来演示使用HuggingFace工具集研发自然语言处理项目的过程。
通过本书的学习,读者能够快速地掌握HuggingFace工具集的使用方法,并且能够使用HuggingFace研发自己的自然语言处理项目。
本书主要内容
第1章介绍HuggingFace提出的标准研发流程和提供的工具集。
第2章介绍编码工具,包括编码工具的工作过程的示意,以及编码工具的用例。
第3章介绍数据集工具,包括数据集仓库和数据集的基本操作。
第4章介绍评价指标,包括评价指标的加载和使用方法。
第5章介绍管道工具,并演示使用管道工具完成一些常见的自然语言处理任务。
第6章介绍训练工具,并演示使用训练工具完成一个情感分类任务。
第7章演示第1个实战任务,完成一个中文情感分类任务。
第8章演示第2个实战任务,完成一个中文填空任务。
第9章演示第3个实战任务,完成一个中文句子关系推断任务。
第10章演示第4个实战任务,完成一个中文命名实体识别任务。
第11章演示使用TensorFlow框架完成中文命名实体识别任务。
第12章演示使用自动模型完成一个情感分类任务,并阅读源代码深入了解自动模型的工作原理。
第13章演示手动实现Transformer模型,并完成两个实验性质的翻译任务。
第14章演示手动实现BERT模型,并演示BERT模型的训练过程。
阅读建议
本书是一本对HuggingFace工具集的综合性讲解图书,既有基础知识,也有实战示例,还包括底层原理的讲解。
本书尽量以简洁的语言书写,每个章节之间的内容尽量独立,读者可以跳跃阅读而没有障碍。
作为一本实战性书籍,读者要掌握本书的知识,务必结合代码调试,本书的代码也尽量以简洁的形式书写,使读者阅读不感吃力。每个代码块即是一个单元测试,读者可以对每个程序的每个代码块按从上到下的顺序测试,从一个个小知识点聚沙成塔,融会贯通。
HuggingFace支持使用PyTorch、TensorFlow等深度学习框架进行计算,本书会以PyTorch为主进行讲解。对于使用TensorFlow的读者也不用担心,会有单独的一章讲解如何使用TensorFlow实现一个具体的例子。项目之间有很多的共同点,只要学会了一个例子,其他的都可以触类旁通。
本书源代码
扫描下方二维码,可获取本书源代码。
本书源代码
本书源代码在以下环境中测试通过,为避免不必要的异常调试,请尽量选择一致的版本。
Python 3.6
transformers 4.18
datasets 2.3
PyTorch 1.10
致谢
感谢我的好友L,在我写作的过程中始终鼓励、鞭策我,使我有勇气和动力完成本书的 写作。
在本书的编写过程中,我虽已竭尽所能为读者呈现好的内容,但疏漏之处在所难免,敬请读者批评指正。
李福林???
2023年1月
II
III
评论
还没有评论。