目 录
第1章 LLM简介 1
1.1 引言 1
1.2 自然语言 2
1.3 NLP与语言模型的演变 4
1.3.1 基于句法和语法的方法:1950年—1979年 4
1.3.2 专家系统与统计模型:1980年—1999年 5
1.3.3 神经模型、稠密表示和DL革命:2000年至今 6
1.4 LLM时代 8
1.4.1 LLM演变简史 8
1.4.2 LLM规模 9
1.4.3 LLM涌现的能力 9
1.5 LLM的实践 10
1.5.1 LLM的开发 11
1.5.2 LLM的适应性调整 13
1.5.3 LLM的利用 15
1.6 本章小结 18
第2章 语言模型的预训练 19
2.1 编码器-解码器架构 19
2.1.1 编码器 19
2.1.2 解码器 20
2.1.3 训练与优化 20
2.1.4 编码器-解码器架构的问题 20
2.2 注意力机制 20
2.3 Transformer 22
2.3.1 编码器 22
2.3.2 解码器 23
2.3.3 词元化与表示 23
2.3.4 位置编码 23
2.3.5 多头注意力 24
2.3.6 位置逐元素前馈神经网络 24
2.3.7 层归一化 25
2.3.8 掩码多头注意力 25
2.3.9 编码器-解码器注意力机制 25
2.3.10 Transformer变体 26
2.4 数据 29
2.4.1 语言模型预训练数据集 29
2.4.2 数据预处理 31
2.4.3 数据对LLM的影响 32
2.4.4 任务特定数据集 33
2.5 预训练LLM设计选择 33
2.5.1 预训练方法 33
2.5.2 预训练任务 34
2.5.3 架构 38
2.5.4 LLM预训练技巧与策略 39
2.6 常用的预训练LLM 42
2.6.1 BERT(编码器) 42
2.6.2 T5(编码器-解码器) 45
2.6.3 GPT(解码器) 47
2.6.4 Mixtral 8x7B(专家混合模型) 51
2.7 教程:理解LLM和预训练 53
2.7.1 概述 53
2.7.2 实验设计 54
2.7.3 结果与分析 54
2.7.4 结论 55
2.8 本章小结 55
第3章 基于提示的学习 56
3.1 引言 56
3.1.1 完全监督学习 57
3.1.2 预训练与微调学习 58
3.1.3 基于提示的学习 59
3.2 基于提示的学习基础 61
3.2.1 基于提示的学习:形式化描述 61
3.2.2 基于提示的学习过程 62
3.2.3 基于提示的知识提取 64
3.2.4 基于提示的学习在NLP任务中的应用 65
3.3 提示工程 68
3.3.1 提示形式 69
3.3.2 人工模板设计 70
3.3.3 自动化模板设计:离散搜索 71
3.3.4 自动化模板设计:连续搜索 75
3.3.5 基于提示的微调 78
3.4 回答工程 79
3.4.1 答案形式 79
3.4.2 定义答案空间 79
3.4.3 人工答案映射 80
3.4.4 自动答案映射:离散搜索 80
3.4.5 自动答案映射:连续搜索 80
3.5 多提示推理 81
3.5.1 集成 81
3.5.2 上下文学习 82
3.5.3 提示分解 83
3.6 首个教程:文本分类和NER中的提示、预训练、微调方法 84
3.6.1 概述 84
3.6.2 实验设计 85
3.6.3 结果与分析 86
3.6.4 结论 88
3.7 第二个教程:提示工程方法 88
3.7.1 概述 88
3.7.2 实验设计 88
3.7.3 结果与分析 89
3.7.4 结论 91
3.8 本章小结 92
第4章 LLM的适配与利用 93
4.1 引言 93
4.2 IT 94
4.2.1 IT流程 94
4.2.2 IT数据 96
4.2.3 面向领域适配的IT 98
4.3 PEFT 100
4.3.1 适配器 101
4.3.2 重参数化 104
4.4 计算高效微调 110
4.5 终端用户提示 113
4.5.1 零样本提示 114
4.5.2 少样本提示 114
4.5.3 提示链 115
4.5.4 CoT 116
4.5.5 自洽性 117
4.5.6 ToT 117
4.6 教程:在资源受限环境中微调LLM 117
4.6.1 概述 117
4.6.2 实验设计 118
4.6.3 结果与分析 118
4.6.4 结论 120
4.7 本章小结 121
第5章 LLM对齐微调 122
5.1 对齐微调 122
5.1.1 有用性 123
5.1.2 诚实性 124
5.1.3 无害性 125
5.2 基础:RL框架 127
5.3 将RL框架映射到基于人类反馈的LLM 129
5.4 RLHF的演变 130
5.4.1 LLM的安全性、质量和事实依据性 130
5.4.2 基于人类偏好的深度强化学习 133
5.4.3 基于人类反馈的摘要学习 135
5.4.4 通过人类反馈实现LLM的有用性、诚实性、无害性对齐 138
5.5 克服RLHF挑战 142
5.5.1 通过AI反馈实现无害性 142
5.5.2 DPO 145
5.6 教程:利用RLHF使语言模型更有用 148
5.6.1 概述 148
5.6.2 实验设计 149
5.6.3 结果与分析 149
5.6.4 结论 151
5.7 本章小结 151
第6章 LLM的挑战与解决方案 152
6.1 幻觉 152
6.1.1 原因 152
6.1.2 评估指标 153
6.1.3 基准测试 155
6.1.4 缓解策略 156
6.2 偏见与公平性 159
6.2.1 表征性伤害 160
6.2.2 分配性伤害 160
6.2.3 成因 160
6.2.4 评估指标 162
6.2.5 基准测试集 165
6.2.6 缓解策略 167
6.3 毒性 173
6.3.1 成因 173
6.3.2 评估指标 174
6.3.3 基准测试 175
6.3.4 缓解策略 176
6.4 隐私 179
6.4.1 原因 180
6.4.2 评估指标 181
6.4.3 基准测试 182
6.4.4 缓解策略 182
6.5 教程:LLM中的偏见测量与缓解 184
6.5.1 概述 184
6.5.2 实验设计 185
6.5.3 结果与分析 185
6.5.4 结论 186
6.6 本章小结 186
第7章 RAG 187
7.1 引言 187
7.2 RAG基础 187
7.3 RAG优化 190
7.4 增强RAG 191
7.4.1 数据源与嵌入 191
7.4.2 查询 193
7.4.3 检索与生成 196
7.4.4 结论 200
7.5 RAG应用评估 201
7.5.1 RAG质量指标 201
7.5.2 RAG系统能力评估 207
7.5.3 RAG评估总结 211
7.6 教程:构建自己的RAG系统 211
7.6.1 概述 211
7.6.2 实验设计 212
7.6.3 结果与分析 212
7.6.4 结论 214
7.7 本章小结 214
第8章 LLM在生产中的应用 215
8.1 引言 215
8.2 LLM应用 216
8.2.1 会话AI、聊天机器人和AI助手 216
8.2.2 内容创作 216
8.2.3 搜索、信息检索和推荐系统 217
8.2.4 编程 217
8.2.5 LLM的分类 218
8.3 LLM评估指标 220
8.3.1 困惑度 221
8.3.2 BLEU 221
8.3.3 ROUGE 222
8.3.4 BERTScore 222
8.3.5 MoverScore 223
8.3.6 G-Eval 224
8.3.7 pass@k 225
8.4 LLM基准数据集 226
8.5 LLM选择 228
8.5.1 开源与闭源 229
8.5.2 分析质量 231
8.5.3 推理延迟 231
8.5.4 成本 233
8.5.5 适应性与维护 234
8.5.6 数据安全与许可 234
8.6 应用开发工具 235
8.6.1 LLM应用框架 236
8.6.2 LLM定制 237
8.6.3 向量数据库 238
8.6.4 提示工程 238
8.6.5 评估与测试 241
8.7 推理 241
8.7.1 模型托管 241
8.7.2 性能优化 242
8.7.3 优化成本 244
8.8 LLMOps 244
8.8.1 LLMOps工具与方法 244
8.8.2 加速迭代周期 247
8.8.3 风险管理 248
8.9 教程:为生产部署准备实验模型 249
8.9.1 概述 249
8.9.2 实验设计 250
8.9.3 结果与分析 250
8.9.4 结论 252
8.10 本章小结 252
第9章 MMLLM 253
9.1 引言 253
9.2 简要历史 253
9.3 MMLLM框架 255
9.3.1 模态编码器 255
9.3.2 输入投影器 256
9.3.3 预训练:核心LLM、数据集和任务特定目标 259
9.3.4 MMLLM调优与增强 265
9.3.5 多模态RLHF 269
9.3.6 输出投影器 270
9.3.7 模态生成器 270
9.4 基准测试 271
9.5 最先进的MMLLM 273
9.5.1 Flamingo(图像–视频–文本) 273
9.5.2 Video-LLaMA(图像–视频–音频–文本) 276
9.5.3 NExT-GPT(任意模态转换) 278
9.6 教程:多模态图像到文本LLM微调 280
9.6.1 概述 280
9.6.2 实验设计 280
9.6.3 结果与分析 281
9.6.4 结论 283
9.7 本章小结 283
第10章 LLM演变与新前沿 284
10.1 引言 284
10.2 LLM的演进 284
10.2.1 合成数据 284
10.2.2 更大的上下文窗口 285
10.2.3 训练加速 286
10.2.4 多词元生成 286
10.2.5 知识蒸馏 286
10.2.6 后注意力架构 287
10.3 LLM趋势 288
10.3.1 小型语言模型 288
10.3.2 技术民主化 289
10.3.3 领域特定语言模型 289
10.4 新前沿 290
10.4.1 LLM智能体 290
10.4.2 LLM增强搜索 291
10.5 结语 293
10.6 本章小结 294
附录A DL基础 295
附录B RL基础 305
附录C 符号解释 315
