资源详情

从零开始大模型开发与微调:基于PyTorch与ChatGLM(人工智能技术丛书)

从零开始大模型开发与微调:基于PyTorch与ChatGLM(人工智能技术丛书)-电子书下载


作者: 王晓华
出版社: 清华大学出版社
出版年: 2023-11
页数: 376
定价: 89.00
装帧: 平装
ISBN: 9787302647072

下载次数:5


本站推荐

书籍资料

  • 内容简介
  • 作者介绍
  • 书籍目录

大模型是深度学习自然语言处理皇冠上的一颗明珠,也是当前AI和NLP研究与产业中最重要的方向之一。本书使用PyTorch 2.0作为学习大模型的基本框架,以ChatGLM为例详细讲解大模型的基本理论、算法、程序实现、应用实战以及微调技术,为读者揭示大模型开发技术。本书配套示例源代码、PPT课件。
《从零开始大模型开发与微调:基于PyTorch与ChatGLM》共18章,内容包括人工智能与大模型、PyTorch 2.0深度学习环境搭建、从零开始学习PyTorch 2.0、深度学习基础算法详解、基于PyTorch卷积层的MNIST分类实战、PyTorch数据处理与模型展示、ResNet实战、有趣的词嵌入、基于PyTorch循环神经网络的中文情感分类实战、自然语言处理的编码器、预训练模型BERT、自然语言处理的解码器、强化学习实战、只具有解码器的GPT-2模型、实战训练自己的ChatGPT、开源大模型ChatGLM使用详解、ChatGLM高级定制化应用实战、对ChatGLM进行高级微调。
《从零开始大模型开发与微调:基于PyTorch与ChatGLM》适合PyTorch深度学习初学者、大模型开发初学者、大模型开发人员学习,也适合高等院校人工智能、智能科学与技术、数据科学与大数据技术、计算机科学与技术等专业的师生作为教学参考书。

王晓华,高校计算机专业讲师,研究方向为云计算、大数据与人工智能。著有《PyTorch 2.0深度学习从零开始学》《Python机器学习与可视化分析实战》《谷歌JAX深度学习从零开始学》《Spark 3.0大数据分析与挖掘:基于机器学习》《TensorFlow深度学习应用实践》《OpenCV+TensorFlow深度学习与计算机视觉实战》《TensorFlow知识图谱实战》《TensorFlow人脸识别实战》《TensorFlow语音识别实战》《TensorFlow+Keras自然语言处理实战》《TensorFlow 2.0卷积神经网络实战》《Keras实战:基于TensorFlow2.2的深度学习实践》《TensorFlow 2.0深度学习从零开始学》《深度学习的数学原理与实现》。

目录
第1章新时代的曙光—人工智能与大模型 1
1.1人工智能:思维与实践的融合 1
1.1.1人工智能的历史与未来 2
1.1.2深度学习与人工智能 2
1.1.3选择PyTorch2.0实战框架 3
1.2大模型开启人工智能的新时代 4
1.2.1大模型带来的变革 4
1.2.2最强的中文大模型—清华大学ChatGLM介绍 5
1.2.3近在咫尺的未来—大模型的应用前景 6
1.3本章小结 7
第2章PyTorch2.0深度学习环境搭建 8
2.1环境搭建1:安装Python 8
2.1.1Miniconda的下载与安装 8
2.1.2PyCharm的下载与安装 11
2.1.3Python代码小练习:计算Softmax函数 14
2.2环境搭建2:安装PyTorch2.0 15
2.2.1Nvidia10/20/30/40系列显卡选择的GPU版本 15
2.2.2PyTorch2.

GPUNvidia运行库的安装 15
2.2.3PyTorch2.0小练习:HelloPyTorch 18
2.3生成式模型实战:古诗词的生成 18
2.4图像降噪:手把手实战第一个深度学习模型 19
2.4.1MNIST数据集的准备 19
2.4.2MNIST数据集的特征和标签介绍 21
2.4.3模型的准备和介绍 22
2.4.4对目标的逼近—模型的损失函数与优化函数 24
2.4.5基于深度学习的模型训练 24
2.5本章小结 26
第3章从零开始学习PyTorch2.0 27
3.1实战MNIST手写体识别 27
3.1.1数据图像的获取与标签的说明 27
3.1.2实战基于PyTorch2.0的手写体识别模型 29
3.1.3基于Netron库的PyTorch2.0模型可视化 32
3.2自定义神经网络框架的基本设计 34
3.2.1神经网络框架的抽象实现 34
3.2.2自定义神经网络框架的具体实现 35
3.3本章小结 43
第4章一学就会的深度学习基础算法详解 44
4.1反向传播神经网络的前身历史 44
4.2反向传播神经网络两个基础算法详解 47
4.2.1最小二乘法详解 48
4.2.2梯度下降算法 50
4.2.3最小二乘法的梯度下降算法及其Python实现 52
4.3反馈神经网络反向传播算法介绍 58
4.3.1深度学习基础 58
4.3.2链式求导法则 59
4.3.3反馈神经网络的原理与公式推导 60
4.3.4反馈神经网络原理的激活函数 64
4.3.5反馈神经网络原理的Python实现 66
4.4本章小结 70
第5章基于PyTorch卷积层的MNIST分类实战 71
5.1卷积运算的基本概念 71
5.1.1基本卷积运算示例 72
5.1.2PyTorch中的卷积函数实现详解 73
5.1.3池化运算 75
5.1.4Softmax激活函数 77
5.1.5卷积神经网络的原理 78
5.2实战:基于卷积的MNIST手写体分类 80
5.2.1数据的准备 80
5.2.2模型的设计 81
5.2.3基于卷积的MNIST分类模型 82
5.3PyTorch的深度可分离膨胀卷积详解 84
5.3.1深度可分离卷积的定义 84
5.3.2深度的定义以及不同计算层待训练参数的比较 86
5.3.3膨胀卷积详解 87
5.3.4实战:基于深度可分离膨胀卷积的MNIST手写体识别 87
5.4本章小结 90
第6章可视化的PyTorch数据处理与模型展示 91
6.1用于自定义数据集的torch.utils.data工具箱使用详解 92
6.1.1使用torch.utils.data.Dataset封装自定义数据集 92
6.1.2改变数据类型的Dataset类中的transform的使用 93
6.1.3批量输出数据的DataLoader类详解 98
6.2实战:基于tensorboardX的训练可视化展示 100
6.2.1可视化组件tensorboardX的简介与安装 100
6.2.2tensorboardX可视化组件的使用 100
6.2.3tensorboardX对模型训练过程的展示 103
6.3本章小结 105
第7章ResNet实战 106
7.1ResNet基础原理与程序设计基础 106
7.1.1ResNet诞生的背景 107
7.1.2PyTorch2.0中的模块工具 109
7.1.3ResNet残差模块的实现 110
7.1.4ResNet网络的实现 112
7.2ResNet实战:CIFAR-10数据集分类 114
7.2.1CIFAR-10数据集简介 114
7.2.2基于ResNet的CIFAR-10数据集分类 117
7.3本章小结 118
第8章有趣的词嵌入 120
8.1文本数据处理 120
8.1.1Ag_news数据集介绍和数据清洗 120
8.1.2停用词的使用 123
8.1.3词向量训练模型Word2Vec使用介绍 125
8.1.4文本主题的提取:基于TF-IDF 128
8.1.5文本主题的提取:基于TextRank 132
8.2更多的词嵌入方法—FastText和预训练词向量 134
8.2.1FastText的原理与基础算法 135
8.2.2FastText训练及其与PyTorch2.0的协同使用 136
8.2.3使用其他预训练参数来生成PyTorch2.0词嵌入矩阵(中文) 140
8.3针对文本的卷积神经网络模型简介—字符卷积 141
8.3.1字符(非单词)文本的处理 141
8.3.2卷积神经网络文本分类模型的实现—Conv1d(一维卷积) 148
8.4针对文本的卷积神经网络模型简介—词卷积 151
8.4.1单词的文本处理 151
8.4.2卷积神经网络文本分类模型的实现—Conv2d(二维卷积) 153
8.5使用卷积对文本分类的补充内容 155
8.5.1汉字的文本处理 155
8.5.2其他细节 157
8.6本章小结 158
第9章基于循环神经网络的中文情感分类实战 160
9.1实战:循环神经网络与情感分类 160
9.2循环神经网络理论讲解 165
9.2.1什么是GRU 165
9.2.2单向不行,那就双向 167
9.3本章小结 168
第10章从零开始学习自然语言处理的编码器 169
10.1编码器的核心—注意力模型 170
10.1.1输入层—初始词向量层和位置编码器层 170
10.1.2自注意力层 172
10.1.3ticks和LayerNormalization 177
10.1.4多头注意力 178
10.2编码器的实现 180
10.2.1前馈层的实现 181
10.2.2编码器的实现 182
10.3实战编码器:拼音汉字转化模型 184
10.3.1汉字拼音数据集处理 185
10.3.2汉字拼音转化模型的确定 187
10.3.3模型训练部分的编写 190
10.4本章小结 191
第11章站在巨人肩膀上的预训练模型BERT 193
11.1预训练模型BERT 193
11.1.1BERT的基本架构与应用 194
11.1.2BERT预训练任务与微调 195
11.2实战BERT:中文文本分类 198
11.2.1使用HuggingFace获取BERT预训练模型 198
11.2.2BERT实战文本分类 200
11.3更多的预训练模型 203
11.4本章小结 205
第12章从1开始自然语言处理的解码器 206
12.1解码器的核心—注意力模型 206
12.1.1解码器的输入和交互注意力层的掩码 207
12.1.2为什么通过掩码操作能够减少干扰 212
12.1.3解码器的输出(移位训练方法) 213
12.1.4解码器的实现 214
12.2解码器实战—拼音汉字翻译模型 215
12.2.1数据集的获取与处理 216
12.2.2翻译模型 218
12.2.3拼音汉字模型的训练 229
12.2.4拼音汉字模型的使用 230
12.3本章小结 231
第13章基于PyTorch2.0的强化学习实战 232
13.1基于强化学习的火箭回收实战 232
13.1.1火箭回收基本运行环境介绍 233
13.1.2火箭回收参数介绍 234
13.1.3基于强化学习的火箭回收实战 234
13.1.4强化学习的基本内容 239
13.2强化学习的基本算法—PPO算法 243
13.2.1PPO算法简介 243
13.2.2函数使用说明 244
13.2.3一学就会的TD-error理论介绍 245
13.2.4基于TD-error的结果修正 247
13.2.5对于奖励的倒序构成的说明 248
13.3本章小结 249
第14章ChatGPT前身—只具有解码器的GPT-2模型 250
14.1GPT-2模型简介 250
14.1.1GPT-2模型的输入和输出结构—自回归性 251
14.1.2GPT-2模型的PyTorch实现 252
14.1.3GPT-2模型输入输出格式的实现 257
14.2HuggingFaceGPT-2模型源码模型详解 259
14.2.1GPT2LMHeadModel类和GPT2Model类详解 259
14.2.2Block类详解 270
14.2.3Attention类详解 274
14.2.4MLP类详解 281
14.3HuggingFaceGPT-2模型的使用与自定义微调 282
14.3.1模型的使用与自定义数据集的微调 282
14.3.2基于预训练模型的评论描述微调 285
14.4自定义模型的输出 286
14.4.1GPT输出的结构 286
14.4.2创造性参数temperature与采样个数topK 288
14.5本章小结 290
第15章实战训练自己的ChatGPT 291
15.1什么是ChatGPT 291
15.2RLHF模型简介 293
15.2.1RLHF技术分解 293
15.2.2RLHF中的具体实现—PPO算法 296
15.3基于RLHF实战的ChatGPT正向评论的生成 297
15.3.1RLHF模型进化的总体讲解 297
15.3.2ChatGPT评分模块简介 298
15.3.3带有评分函数的ChatGPT模型的构建 300
15.3.4RLHF中的PPO算法—KL散度 301
15.3.5RLHF中的PPO算法—损失函数 303
15.4本章小结 304
第16章开源大模型ChatGLM使用详解 305
16.1为什么要使用大模型 305
16.1.1大模型与普通模型的区别 306
16.1.2一个神奇的现象—大模型的涌现能力 307
16.2ChatGLM使用详解 307
16.2.1ChatGLM简介及应用前景 308
16.2.2下载ChatGLM 309
16.2.3ChatGLM的使用与Prompt介绍 310
16.3本章小结 311
第17章开源大模型ChatGLM高级定制化应用实战 312
17.1医疗问答GLMQABot搭建实战—基于ChatGLM搭建专业客服问答机器人 312
17.1.1基于ChatGLM搭建专业领域问答机器人的思路 313
17.1.2基于真实医疗问答的数据准备 314
17.1.3文本相关性(相似度)的比较算法 315
17.1.4提示语句Prompt的构建 316
17.1.5基于单个文档的GLMQABot的搭建 316
17.2金融信息抽取实战—基于知识链的ChatGLM本地化知识库检索与智能答案生成 318
17.2.1基于ChatGLM搭建智能答案生成机器人的思路 319
17.2.2获取专业(范畴内)文档与编码存储 320
17.2.3查询文本编码的相关性比较与排序 322
17.2.4基于知识链的ChatGLM本地化知识库检索与智能答案生成 325
17.3基于ChatGLM的一些补充内容 327
17.3.1语言的艺术—Prompt的前世今生 328
17.3.2清华大学推荐的ChatGLM微调方法 329
17.3.2一种新的基于ChatGLM的文本检索方案 330
17.4本章小结 331
第18章对训练成本上亿美元的ChatGLM进行高级微调 332
18.1ChatGLM模型的本地化处理 332
18.1.1下载ChatGLM源码与合并存档 332
18.1.2修正自定义的本地化模型 335
18.1.3构建GLM模型的输入输出示例 337
18.2高级微调方法1—基于加速库Accelerator的全量数据微调 339
18.2.1数据的准备—将文本内容转化成三元组的知识图谱 339
18.2.2加速的秘密—Accelerate模型加速工具详解 342
18.2.3更快的速度—使用INT8(INT4)量化模型加速训练 345
18.3高级微调方法2—基于LoRA的模型微调 348
18.3.1对ChatGLM进行微调的方法—LoRA 348
18.3.2自定义LoRA的使用方法 349
18.3.3基于自定义LoRA的模型训练 350
18.3.4基于自定义LoRA的模型推断 352
18.3.5基于基本原理的LoRA实现 355
18.4高级微调方法3—基于Huggingface的PEFT模型微调 357
18.4.1PEFT技术详解 358
18.4.2PEFT的使用与参数设计 359
18.4.3Huggingface专用PEFT的使用 360
18.5本章小结 362