《自然语言处理:大模型理论与实践》教材官网:https://nlp-book.swufenlp.group/
《自然语言处理:大模型理论与实践》(预览版)由赵宇教授编写,是一本深入探讨大语言模型世界的专业著作。作为一名正在学习和研究自然语言处理的学生,这本书为我提供了宝贵的理论基础和实践指导。
赵宇教授简介
西南财经大学教授,博导,四川省学术和技术带头人后备人选,金融智能与金融工程四川省重点实验室副主任,通用人工智能与数字经济创新团队负责人,计算机与人工智能学院实践能力中心主任,西南财经大学学术百人,美国罗切斯特大学联合培养博士,法国巴黎六大高级访问学者,中国人工智能学会自然语言理解专委会委员,四川省计算机学会自然语言理解专委会副主任委员。长期致力于人工智能与数字经济的交叉科学研究,主要研究方向包括自然语言处理、大模型、具身智能、图学习、数字经济等,著有《自然语言处理:大模型理论与实践》一书,迄今发表高水平论文40余篇(其中中国计算机学会(CCF)A类/B类推荐论文14篇),包括IEEE Trans.系列(TKDE、TNNLS、TMM、TMC)以及人工智能顶会ACL、KDD,ICME等。主持2项国家自然科学基金(1项面上,1项青年),主持2项四川省自然科学基金(1项重点,1项面上),主研2项国家社科重大项目,主持3项省部级教改项目。撰写专著1部,获得专利1项。
任福继教授简介
日本工程院院士,欧盟科学院院士,日本工程会院士。曾先后任职于日本CSK研究员、美国新墨西哥州立大学访问教授、日本国立德岛大学教授、佛罗里达国际大学客座教授、哈佛大学访问教授、日本国立德岛大学智能工程系主任、信息决策部门长、国际高度信息化研究院长。教育部“长江学者奖励计划”讲座教授、海外杰出青年学者基金获得者、中国人工智能学会副理事长、中国科协海智专家,中国国务院侨办科技专家咨询委员。IEEE自然语言处理与知识工程国际会议创立者、会议主席。在日中国科学技术者联盟首届会长、日本新华侨华人会原会长、全日本中国人博士协会原会长及名誉会长。日本自然科学源内赏、康乐会奖、吴文俊人工智能科学技术奖创新一等奖、科学中国人年度人物“杰出贡献奖”、中国产学研合作创新奖、黄山友谊奖获得者。
通过阅读《自然语言处理:大模型理论与实践》(预览版),我对自然语言处理(NLP)的核心目标和其在当今人工智能时代中的重要性有了更深刻的认识。NLP作为计算机科学与人工智能领域的关键技术,其核心目标在于让计算机能够理解、解释并生成自然语言。随着科技的迅速发展,NLP技术已经深入渗透到我们日常生活的各个方面,无论是智能助手的语音识别,还是机器翻译与文本生成,NLP正在以前所未有的速度改变着我们的生活方式。
特别是在2022年底,随着以ChatGPT为代表的大语言模型技术的崛起,NLP领域迎来了颠覆性的变革。大模型技术不仅刷新了自然语言处理的传统知识体系,也推动了新一代人工智能技术的发展。这一现象令我意识到,大语言模型不仅是技术进步的产物,更是NLP未来发展的方向。
赵宇教授和任福继教授撰写的《自然语言处理:大模型理论与实践》(预览版),正是在这一背景下应运而生。这本书不仅为学术界和工业界提供了系统性、前瞻性和实践性兼备的权威指导,也为我在学习和研究NLP过程中提供了宝贵的理论和实践框架。
本书主要面向高校的本科生、研究生及教学科研人员,适合作为教学用书。而书中附录部分特别介绍了与NLP密切相关的基础知识,如概率论、信息论、机器学习与强化学习等,这些内容对我加深对NLP核心理论和技术的理解起到了重要作用。此外,书中对大语言模型的发展历程及其在实际应用中的技巧与优化方法的深入分析,也让我掌握了应对NLP复杂挑战的实践经验。
通过系统学习这本书,我不仅对自然语言处理的基础理论和技术有了更加全面的掌握,还深刻理解了大语言模型在实际应用中的重要性和其背后的理论支持。这些收获为我未来在NLP领域的研究和应用打下了坚实的基础,也让我对这一领域充满了信心与期待。以下是本书的目录:
目录
第一章 绪论
1.1 自然语言处理概述 .................... 1
1.2 自然语言处理简史 .................... 2
1.3 自然语言处理传统研究内容 ........... 4
1.3.1 传统基础技术 .................. 6
1.3.2 实际应用 ....................... 30
1.4 自然语言处理与大模型发展现状 ....... 31
1.5 本书内容安排 ....................... 41
1.6 讨论 .............................. 42
1.7 习题 .............................. 42
第一部分 语言模型基础
第二章 词向量
2.1 概述 .............................. 47
2.2 文本表示方法 ...................... 48
2.2.1 独热表示 ..................... 48
2.2.2 分布式表示 ................... 49
2.3 Word2Vec 模型 ..................... 50
2.3.1 CBOW 模型 .................. 50
2.3.2 Skip-gram 模型 ..............53
2.4 GloVe 模型 ................................ 54
2.5 ELMo 模型 ................................ 56
2.6 讨论 ....................................... 58
2.7 习题 ....................................... 59
第三章 统计语言模型 .......................... 61
3.1 概述 ........................................ 61
3.2 N-gram 模型 ............................... 62
3.3 平滑技术 .................................. 64
3.3.1 加一平滑 ............................ 64
3.3.2 其他平滑 ........................... 65
3.4 讨论 ........................................ 67
3.5 习题 ........................................ 67
第四章 神经语言模型 .......................... 71
4.1 概述 ........................................ 71
4.2 神经概率语言模型 ........................ 71
4.2.1 模型约束条件 .................... 72
4.2.2 模型架构 ........................ 73
4.2.3 具体结构 ........................ 74
4.3 基于循环神经网络的语言模型 ............ 75
4.3.1 循环神经网络结构 .............. 76
4.3.2 RNNLM 模型的原理 ............ 81
4.3.3 RNNLM 模型的训练 ........... 82
4.4 讨论 ........................................ 82
4.5 习题 ........................................ 82
第五章 预测语言模型 .......................... 85
5.1 概述 ........................................ 85
5.2 Seq2Seq 模型 ............................. 85
5.2.1 模型架构 ........................ 86
5.2.2 模型训练与使用技巧 ............ 88
5.3 注意力机制 ............................... 90
5.3.1 定义与原理 ...................... 91
5.3.2 引入注意力机制的编码器-解码器模型 ... 91
5.3.3 查询、键和值 ..................... 92
5.4 Transformer 模型 ...................... 93
5.4.1 模型整体结构 .................. 93
5.4.2 模型推理过程 .................. 95
5.5 预训练语言模型 ....................... 98
5.5.1 BERT 模型 ..................... 98
5.5.2 GPT-1 模型 ................... 103
5.6 语言模型的使用范式 ................... 108
5.6.1 预训练-传统微调范式 ........ 108
5.6.2 大模型 提示工程范式 ........ 113
5.7 讨论 .................................... 114
5.8 习题 .................................... 115
第二部分 大模型理论 .................... 117
第六章 大语言模型架构 ................... 119
6.1 概述 .................................... 119
6.2 基于 Transformer 的模型架构 ......... 119
6.2.1 编码大语言模型 ............... 120
6.2.2 解码大语言模型 ............... 122
6.2.3 编解码大语言模型 ............ 124
6.3 非 Transformer 的模型架构 ............ 125
6.3.1 FAT 模型 ....................... 126
6.3.2 AFT 模型 ....................... 127
6.3.3 RWKV 模型 .................... 129
6.4 大模型架构配置 ....................... 132
6.4.1 归一化技术 ................... 132
6.4.2 激活函数 ..................... 135
6.4.3 位置编码 ..................... 137
6.4.4 注意力与偏置 ................. 138
6.5 讨论 .................................... 140
6.6 习题 .................................... 141
第七章 多模态大模型架构 ............... 137
7.1 概述 ..................................... 137
7.2 ViT 模型 ................................. 137
7.2.1 ViT 模型架构 .................... 138
7.2.2 ViT 模型计算过程 ............... 139
7.2.3 预训练与微调 .................... 141
7.3 CLIP 模型 ................................ 142
7.3.1 模型架构 ........................ 142
7.3.2 训练过程 ........................ 142
7.3.3 CLIP 模型实现零样本分类 ...... 144
7.3.4 CLIP 模型其他应用 .............. 145
7.4 BLIP 模型 ................................ 146
7.4.1 模型架构 ........................ 147
7.4.2 预训练目标 ...................... 148
7.4.3 CapFilt 算法 ..................... 151
7.5 BLIP-2 模型 ............................. 152
7.5.1 概要 .............................. 152
7.5.2 BLIP-2 架构 ...................... 152
7.6 讨论 ..................................... 154
7.7 习题 ..................................... 155
第八章 大模型预训练 .................... 157
8.1 概述 ..................................... 157
8.2 预训练数据工程 ......................... 157
8.2.1 预训练数据源 .................... 158
8.2.2 多模态数据集 .................... 160
8.2.3 数据处理 ........................ 163
8.2.4 模型性能关系 .................... 164
8.3 预训练方法 ............................. 167
8.3.1 预训练任务 ...................... 167
8.3.2 优化参数设置 .................... 168
8.3.3 可扩展训练技术 ................ 170
8.4 讨论 ..................................... 173
8.5 习题 ..................................... 174
第九章 大模型微调 .......................... 175
9.1 概述 ........................................ 175
9.2 指令微调 .................................. 175
9.2.1 指令微调概念 ...................... 175
9.2.2 构造指令实例 ...................... 176
9.2.3 指令微调任务 ...................... 178
9.2.4 多轮检索指令微调 ................ 184
9.2.5 指令微调优化方法 ................ 186
9.2.6 指令微调的效果 .................. 188
9.3 对齐微调 .................................. 189
9.3.1 RLHF 算法 ........................ 189
9.3.2 RLHF 的发展历程 ................ 190
9.3.3 对齐微调技术 ..................... 192
9.3.4 偏好数据集 ....................... 197
9.4 微调算法 .................................. 199
9.5 讨论 ........................................ 200
9.6 习题 ........................................ 200
第十章 提示工程 ............................. 203
10.1 概述 ........................................ 203
10.2 提示工程基础 ............................ 204
10.2.1 提示词的组成 .................... 204
10.2.2 提示工程方法 .................... 205
10.2.3 图片提示 ........................ 212
10.3 情境学习 .................................. 212
10.3.1 定义 ............................. 212
10.3.2 示例设计方法 ................... 213
10.4 提示链 .................................... 215
10.4.1 提示方法 ........................ 216
10.4.2 过程优化 ........................ 217
10.4.3 外部补偿 ........................ 219
10.5 提示工程安全 ........................... 222
10.5.1 提示攻击 ........................ 222
10.5.2 提示防御 ........................ 224
10.6 讨论 ....................................... 225
10.7 习题 ........................................ 225
第十一章 概现 ............................... 229
11.1 概述 ...................................... 229
11.2 概现现象 .................................. 230
11.2.1 概现的概念定义和特征 ........ 230
11.2.2 概现的普适模型 ................ 234
11.3 大语言模型中的概现 .................... 237
11.3.1 大语言模型中概现的定义 ...... 237
11.3.2 大语言模型的概现能力 .......... 241
11.3.3 大语言模型概现能力的来源 .... 240
11.4 缩放法则 .................................. 241
11.4.1 缩放法则的概念 .................. 241
11.4.2 模型性能的影响因素 ............ 242
11.5 大模型可解释性 .......................... 244
11.5.1 “黑箱”问题 .................... 244
11.5.2 可解释 AI ...................... 246
11.5.3 大模型的可解释性 .............. 249
11.6 讨论 ...................................... 253
11.7 习题 ...................................... 254
第十二章 大模型评估 ........................ 257
12.1 概述 ...................................... 257
12.2 评估方式 .................................. 257
12.2.1 人工评估 ....................... 257
12.2.2 自动评估 ....................... 258
12.3 评估任务 .................................. 262
12.3.1 基本评估任务 .................. 262
12.3.2 高效评估任务 .................. 267
12.3.3 评估数据集 .................... 268
12.4 评估指标 .................................. 270
12.4.1 准确性 .......................... 271
12.4.2 鲁棒性 .......................... 272
12.4.3 齐整性 .......................... 274
12.4.4 高效性 .......................... 275
12.4.5 其他指标 ......................... 279
12.5 讨论 ........................................ 280
12.6 习题 ........................................ 280
第十三章 探讨 ................................... 283
13.1 概述 ........................................ 283
13.2 基于大模型的智能体和具身智能 ........... 284
13.2.1 智能体 ........................... 284
13.2.2 具身智能 ......................... 285
13.3 大模型在新领域的应用 ..................... 286
13.3.1 金融 ............................. 286
13.3.2 法律 ............................. 288
13.3.3 医疗 ............................. 289
13.3.4 旅游 ............................. 294
13.4 大模型的挑战与局限 ....................... 296
13.4.1 幻觉现象 ......................... 296
13.4.2 计算成本高昂 ................... 297
13.4.3 时效性差 ......................... 299
13.4.4 专业领域表现欠佳 ............... 300
13.4.5 输出不稳定 ..................... 301
13.5 大模型的社会影响 ......................... 302
13.5.1 虚构事实 ......................... 302
13.5.2 煽动与偏见 ....................... 303
13.5.3 学术造假 ......................... 304
13.5.4 失业风险 ......................... 305
13.5.5 伦理挑战 ......................... 306
13.6 讨论 ........................................ 306
13.7 习题 ........................................ 307
第二部分 大模型实践 .......................... 309
第十四章 大模型实践应用 ...................... 311
14.1 概述 .................................... 311
14.2 Transformers 编程基础 ................... 312
14.2.1 Transformers 关键组件 .......... 312
14.2.2 对话模型实战 ................... 314
14.3 大模型微调 ................................ 317
14.3.1 使用 Transformers 微调大模型 .... 317
14.3.2 使用 LLaMA-Factory 微调大模型 .. 320
14.4 讨论 ....................................... 322
14.5 习题 ....................................... 323
第十五章 基于大模型的应用开发 ............... 323
15.1 概述 ....................................... 323
15.2 基于 OpenAI 的应用开发 .................. 325
15.2.1 关键概念 ......................... 325
15.2.2 入门程序 ......................... 326
15.2.3 OpenAI 模型 ...................... 326
15.2.4 开发指南 ......................... 327
15.2.5 应用案例 ......................... 329
15.2.6 使用 Azure OpenAI .............. 340
15.3 基于通义千问的应用开发 .................. 346
15.3.1 入门程序 ......................... 346
15.3.2 通义千问模型 .................... 347
15.4 基于 LangChain 的应用开发 .............. 350
15.4.1 LangChain 入门程序 ............. 351
15.4.2 LangChain 的模型 ................ 352
15.4.3 LangChain 的数据连接 ........... 353
15.4.4 LangChain 的链 .................. 357
15.4.5 LangChain 的记忆 ................ 359
15.5 讨论 ....................................... 360
15.6 习题 ....................................... 361
附录 A 预备知识 ............................... 363
A.1 概率论基本概念 ............................ 363
A.1.1 概述 ............................... 363
A.1.2 概率 ............................... 363
A.1.3 条件概率 ......................... 364
A.1.4 贝叶斯定理 ....................... 365
A.1.5 随机变量 ......................... 366
A.1.6 二项式分布 ....................... 367
A.1.7 联合概率分布和条件概率分布 ....... 368
A.1.8 期望与方差 ....................... 369
A.1.9 贝叶斯决策理论 ................... 369
A.2 信息论基本概念 ............................... 369
A.2.1 概述 ............................... 369
A.2.2 熵 ................................. 370
A.2.3 联合熵和条件熵 ..................... 370
A.2.4 互信息 ............................. 371
A.2.5 相对熵 ............................. 372
A.2.6 文本熵 ............................. 374
A.2.7 困惑度 ............................. 374
A.3 机器学习基本概念 ............................ 375
A.3.1 概述 .............................. 375
A.3.2 训练方式 .......................... 377
A.3.3 常用算法和模型 .................... 378
A.4 强化学习基本概念 ............................ 383
A.4.1 概述 .............................. 383
A.4.2 强化学习中的马尔可夫过程 .......... 385
A.4.3 策略优化 .......................... 387
A.4.4 价值函数 .......................... 389
A.4.5 近端策略优化算法 .................. 394