大语言模型(Large Language Model,LLM)是人工智能领域研究和应用的前沿焦点,现已成为人工智能发展的新方向和新一代人工智能的基础设施。本书较系统地介绍了语言大模型的基本内容,主要包括发展语言大模型的三次热潮、深度学习基础、注意力机制、残差链接与逐层归一化、Transformer模型、预训练语言模型、LLM结构与训练、迁移学习、人类反馈强化学习、元学习、GPT系列LLM、BERT模型、T5模型、统一语言模型和提示工程等。 本书适合作为本科院校相关专业的教材。
陈明,教授。历任吉林大学计算机科学系副教授、教研室主任、副教授;大连理工大学计算机科学与工程系系主任、教授;中国石油大学(北京)计算机科学与技术系创始系主任 、教授/博导;曾获德国科学联合会DFG基金赴德国图宾根大学计算机学院学习与研究。参加的学术组织及任职:中国计算机学会理事、高级会员、开放系统专委会副主任;中国人工智能学会理事;智能信息网专委会副主任;《计算机科学与探索》、《软件工程》、《计算机教育》编委。个人荣誉:北京市教学名师,北京市精品课程(数据结构)负责人,北京市计算机软件基础优秀教学团队带头人。所承担过的重点科研或教研项目及在项目中所承担的工作:参加并完成国家自然科学基金、国家863基金等多项科研任务。出版著作情况:撰写并出版计算机专著、译著和教材150余种。主要有《分布计算应用模型》(专著),科学出版社,2009-5;《神经网络模型》(专著),大连理工大学出版社,1995-12;《软件工程实用教程》,电子工业出版社,2006-1;《Absolute Java》(译著)电子工业出版社,2005-6;《多媒体技术》,电子工业出版社,2003-6;《大数据基础与应用》,北京师范大学出版社,2016-3;《数据科学与大数据导论》,清华大学出版社,2021-6;《Python语言程序设计》,清华大学出版社,2021-12。
目 录
第1章 大语言模型概述 1
1.1 LLM的产生与发展 1
1.1.1 LLM的产生 2
1.1.2 LLM的发展 2
1.2 LLM的特点与分类 4
1.2.1 LLM的特点 4
1.2.2 LLM的分类 5
1.3 自然语言处理与LLM 6
1.3.1 自然语言处理 6
1.3.2 LLM的主要功能 9
1.3.3 LLM扩展法则 10
1.3.4 LLM的涌现现象与涌现能力 12
1.4 LLM技术 13
1.4.1 LLM基本技术 13
1.4.2 LLM关键技术 14
1.4.3 LLM知识体系与人工智能引擎 16
1.4.4 LLM的评价指标 19
1.5 LLM应用场景与LLM下游任务 19
1.5.1 LLM应用场景 20
1.5.2 LLM下游任务 20
1.5.3 LLM应用场景与LLM下游任务的区别 20
本章小结 20
第2章 深度学习基础 21
2.1 深度学习概述 21
2.1.1 深度学习的产生与发展 21
2.1.2 深度学习的内涵与外延 22
2.2 机器学习方式 24
2.2.1 监督式学习方式 25
2.2.2 无监督式学习方式 27
2.2.3 半监督式学习方式 27
2.2.4 强化学习方式 28
2.3 增强泛化能力方法 28
2.3.1 泛化能力与泛化误差 28
2.3.2 拟合 29
2.3.3 逼近正确拟合的方法 29
2.3.4 超参数和验证集 31
2.4 神经网络模型基础 33
2.4.1 神经网络模型及特点 33
2.4.2 学习方式与学习规则 39
2.4.3 神经网络学习原理 47
2.5 深度学习 48
2.5.1 神经网络与深度学习 48
2.5.2 深度学习在LLM中的应用 51
2.6 模型评价指标 52
2.6.1 混淆矩阵 52
2.6.2 评价模型的主要参数 53
本章小结 55
第3章 注意力机制 56
3.1 编码器?解码器架构 56
3.1.1 编码器功能与解码器功能 57
3.1.2 编码器?解码器框架 57
3.1.3 序列到序列模型 61
3.2 注意力机制特点与计算 63
3.2.1 注意力机制特点 63
3.2.2 注意力机制的计算过程 64
3.3 自注意力模型 67
3.3.1 自注意力机制的核心思想 67
3.3.2 自注意力模型计算 67
3.3.3 注意力机制与自注意力机制比较 71
3.3.4 多头注意力计算 71
3.4 NLP注意力机制 74
3.4.1 软注意力机制 74
3.4.2 硬注意力机制 75
3.4.3 局部注意力机制 77
3.4.4 点积注意力机制 78
3.4.5 加性注意力机制 79
3.4.6 稀疏注意力机制 80
3.5 注意力机制与编码器?解码器结构 81
3.5.1 在编码器?解码器中引入注意力机制 81
3.5.2 注意力机制的优势与应用场景 82
本章小结 83
第4章 残差连接与逐层归一化 84
4.1 逐层归一化 84
4.1.1 BN的计算过程与训练 85
4.1.2 BN层的作用 86
4.2 残差与残差分析 87
4.2.1 残差 87
4.2.2 残差分析 88
4.3 残差模块 89
4.3.1 残差模块的结构 89
4.3.2 残差模块的类型 91
4.3.3 残差模块的优势 93
4.4 逐层归一化与残差连接在LLM中的应用 94
4.4.1 逐层归一化在LLM中的应用 94
4.4.2 残差连接在LLM中的应用 94
本章小结 95
第5章 Transformer模型 96
5.1 Transformer模型术语与特点 96
5.1.1 Transformer模型术语 96
5.1.2 Transformer模型特点 97
5.2 Transformer模型结构 97
5.2.1 Transformer模型架构 98
5.2.2 Transformer模型位置向量 98
5.2.3 Transformer模型编码器 101
5.2.4 Transformer模型解码器 106
5.2.5 基于Transformer模型的机器翻译 114
5.3 Transformer模型推理与训练 117
5.3.1 Transformer模型推理 117
5.3.2 Transformer模型训练所涉及的结构 119
5.3.3 Transformer模型训练关键步骤 123
5.3.4 Transformer模型并行训练与测试 124
5.4 Transformer-XL模型 126
5.4.1 长文本问题与解决策略 126
5.4.2 Transformer-XL模型技术 127
本章小结 135
第6章 预训练语言模型 137
6.1 PLM特点、结构与分类 138
6.1.1 PLM特点 138
6.1.2 PLM结构 140
6.1.3 PLM分类 141
6.2 自回归语言模型 142
6.2.1 自回归语言模型原理 142
6.2.2 自回归语言模型结构 143
6.2.3 解码器自回归语言模型构建过程 144
6.2.4 训练和推理的局限性 145
6.3 自编码语言模型 145
6.3.1 自编码语言模型原理 145
6.3.2 自编码语言模型结构 145
6.3.3 自编码语言模型训练 146
6.4 编码器?解码器预训练语言模型 146
6.4.1 编码器?解码器预训练语言模型原理 146
6.4.2 编码器?解码器预训练语言模型结构 148
6.5 前缀语言模型 148
6.5.1 前缀语言模型原理 148
6.5.2 前缀语言模型结构 149
6.6 排列语言模型 150
6.6.1 排列语言模型原理 151
6.6.2 排列语言模型结构 151
6.6.3 排列语言模型的特点与应用 153
6.6.4 排列语言模型结构比较 153
6.7 PLM训练 153
6.7.1 预训练过程与作用 154
6.7.2 预训练策略 156
6.7.3 预训练与微调比较 158
6.8 PLM微调 158
6.8.1 微调方法分类 158
6.8.2 高效微调 159
6.8.3 P-Tuning微调 160
6.8.4 指令微调 161
6.8.5 LoRA微调 163
6.8.6 前缀调优 165
6.8.7 Prompt微调 166
6.8.8 RLHF微调 170
6.8.9 微调输出层 171
6.9 PLM应用方法 172
6.9.1 PLM的应用过程 172
6.9.2 应用于文本生成过程 173
本章小结 174
第7章 LLM结构与训练 175
7.1 LLM结构 175
7.1.1 LLM架构 175
7.1.2 LLM架构选择 177
7.1.3 LLM构建 178
7.1.4 LLM评估 179
7.2 LLM结构优化 181
7.2.1 LLM优化目标 181
7.2.2 LLM优化部分介绍 182
7.2.3 LLM数据增强 194
7.2.4 LLM分词器 196
7.2.5 LLM数据预处理 200
7.3 词向量 203
7.3.1 自然语言表示学习 203
7.3.2 Word2Vec模型词向量 204
7.3.3 静态词向量与动态词向量 206
7.4 LLM训练 206
7.4.1 LLM训练的基本策略与方法 206
7.4.2 LLM的分布训练 208
7.4.3 LLM的并行训练 209
7.4.4 LLM的分布式并行训练 210
本章小结 212
第8章 迁移学习 213
8.1 迁移学习概述 213
8.1.1 同分布数据 213
8.1.2 迁移学习原理 214
8.2 迁移学习分类与实现 217
8.2.1 迁移学习分类准则 217
8.2.2 典型的迁移学习 218
8.2.3 迁移学习的实现 221
8.3 深度迁移学习 222
8.3.1 深度神经网络的可迁移性 222
8.3.2 深度迁移学习的自适应方法 226
8.3.3 生成对抗迁移网络 229
8.4 迁移学习的应用场景与方法 231
8.4.1 迁移学习的应用场景 231
8.4.2 迁移学习方法 231
8.4.3 迁移学习在LLM中的应用 232
本章小结 234
第9章 人类反馈强化学习 235
9.1 强化学习原理 236
9.1.1 智能体及其特性 236
9.1.2 强化学习模型与工作过程 237
9.1.3 强化学习算法分类 240
9.2 SARSA算法 241
9.2.1 SARSA算法基本原理 242
9.2.2 SARSA算法流程 243
9.2.3 SARSA(λ)算法 246
9.3 Q-Learning算法 248
9.3.1 Q-Learning算法基本原理 249
9.3.2 Q-Learning算法流程 250
9.3.3 Q-Learning算法与SARSA算法比较 252
9.4 基于人类反馈强化学习的模型与算法 252
9.4.1 人类反馈强化学习模型 253
9.4.2 人类反馈强化学习算法 253
9.4.3 基于人类反馈强化学习算法的LLM预训练 254
9.4.4 近端策略优化算法 257
9.4.5 人类反馈强化学习模型的优势与特点 261
本章小结 264
第10章 元学习 265
10.1 元学习概述 265
10.1.1 元学习的基本原理 265
10.1.2 元学习的基本特点 266
10.2 元学习基本方法 268
10.2.1 元学习的主要工作 268
10.2.2 元学习过程 270
10.3 MAML模型 273
10.3.1 MAML模型的相关概念 273
10.3.2 MAML算法分析 275
10.3.3 MAML算法流程 276
10.4 小样本学习 278
10.4.1 问题的提出与先验范式的构建 278
10.4.2 小样本学习方法 279
10.4.3 小样本相似度学习 282
10.5 元学习的应用 285
10.5.1 元学习在LLM中的主要应用场景 285
10.5.2 元学习在LLM中的应用实例 286
本章小结 287
第11章 GPT系列LLM 288
11.1 GPT系列模型概述 288
11.1.1 GPT系列模型的特点 289
11.1.2 GPT系列模型的结构 290
11.1.3 GPT系列模型的训练过程 291
11.2 GPT-1模型(2018) 293
11.2.1 GPT-1模型的特点 293
11.2.2 GPT-1模型的结构与训练 294
11.2.3 GPT-1不同下游任务的输入转换 298
11.3 GPT-2模型(2019) 298
11.3.1 GPT-2模型的特点 298
11.3.2 GPT-2模型的结构 299
11.3.3 Zero-Shot方法 302
11.4 GPT-3模型(2020) 303
11.4.1 GPT-3模型的特点 303
11.4.2 GPT-3模型的结构 304
11.4.3 GPT-3模型训练核心突破 304
11.5 GPT-3.5模型(2023) 307
11.5.1 GPT-3.5模型的特点 307
11.5.2 GPT-3.5模型的结构 308
11.5.3 GPT-3.5模型训练 309
11.6 ChatGPT模型 311
11.6.1 ChatGPT模型的主要特点 311
11.6.2 ChatGPT模型的训练过程 312
11.7 GPT-4模型 313
11.7.1 GPT-4模型的创新 313
11.7.2 GPT-4模型的应用场景展望 314
11.7.3 GPT能力进化路径 315
本章小结 316
第12章 BERT模型 317
12.1 BERT模型特点与结构 317
12.1.1 BERT模型的特点 317
12.1.2 BERT模型是语言表示模型 318
12.1.3 BERT模型的上下游任务 320
12.2 BERT模型结构与目标函数 321
12.2.1 BERT模型的结构 321
12.2.2 BERT模型目标函数 323
12.3 BERT模型输入 325
12.3.1 BERT模型嵌入 325
12.3.2 BERT模型输入过程 328
12.4 BERT模型预训练 329
12.4.1 掩码语言模型任务训练 329
12.4.2 下一句预测任务训练 331
12.5 BERT模型的微调 332
12.5.1 BERT模型的微调任务 332
12.5.2 BERT模型的微调过程 333
12.6 上下文依赖与词多义性问题及其解决方法 334
12.6.1 上下文依赖与词多义性问题 334
12.6.2 BERT模型解决上下文依赖问题 335
12.6.3 BERT模型解决词多义性问题 336
本章小结 336
第13章 T5模型 337
13.1 T5模型的特点与功能 337
13.1.1 T5模型的主要特点 338
13.1.2 T5模型的主要功能 338
13.1.3 统一的文本到文本范式 339
13.1.4 T5模型的优势 340
13.2 T5模型理念与结构 341
13.2.1 T5模型的核心理念 341
13.2.2 T5模型的结构 342
13.2.3 T5模型在Transformer模型上的结构改变 344
13.3 T5模型训练 347
13.3.1 T5模型训练特点 347
13.3.2 T5模型训练过程 348
13.3.3 T5模型训练的长文本处理 350
13.3.4 T5模型预训练 350
13.3.5 T5模型微调 352
13.3.6 T5模型训练数据集 354
13.4 T5模型与GPT模型、BERT模型比较 356
13.4.1 T5模型与GPT模型比较 356
13.4.2 T5模型与BERT模型比较 357
13.5 T5模型应用 358
13.5.1 T5模型应用领域 358
13.5.2 T5模型应用需考虑的因素 359
本章小结 359
第14章 统一语言模型 360
14.1 UniLM模型概述 360
14.1.1 UniLM模型的特点 360
14.1.2 UniLM模型的功能 361
14.2 UniLM模型结构 363
14.2.1 UniLM模型架构 363
14.2.2 UniLM模型结构与创新 364
14.2.3 共享Transformer模型网络 365
14.3 掩码模式技术 366
14.3.1 掩码模式技术关键点 366
14.3.2 UniLM模型掩码模式实现方式 368
14.3.3 UniLM模型自注意力掩码 370
14.4 UniLM模型输入与训练 373
14.4.1 UniLM模型的输入表示 373
14.4.2 UniLM模型的预训练目标与任务 375
14.4.3 UniLM模型微调 378
14.4.4 UniLM模型的零样本学习能力 379
本章小结 381
第15章 提示工程 382
15.1 提示工程概述 382
15.1.1 提示词与提示工程 382
15.1.2 LLM文本生成的解码策略 384
15.2 提示词格式 389
15.2.1 提示词基本格式 389
15.2.2 指令型提示词格式 390
15.2.3 问题型提示词格式 390
15.2.4 描述型提示词格式 390
15.2.5 提示词增强格式 391
15.2.6 不同任务的提示词 395
15.2.7 优质提示词 396
15.3 提示工程技术 397
15.3.1 少样本提示 398
15.3.2 思维链提示 398
15.3.3 自洽性提示 400
15.3.4 提示模板设计 401
本章小结 404
参考文献 406