图书目录

目    录

第1章  语言的觉醒:为何大语言模型引起了广泛关注  1

1.1  大语言模型加速信息传递  2

1.2  大语言模型应用中的自建与采购决策权衡  6

1.2.1  采购:成熟的路径选择  6

1.2.2  构建:不走寻常路  7

1.2.3  重要提示:即刻拥抱未来  12

1.3  破除迷思  14

1.4  本章小结  16

第2章  大语言模型技术内幕:语言建模深度解析  17

2.1  语言建模  18

2.1.1  语言特征  19

2.1.2  符号学  23

2.1.3  多语言自然语言处理  25

2.2  语言建模技术  26

2.2.1  N-gram与基于语料库的技术  27

2.2.2  贝叶斯技术  29

2.2.3  马尔可夫链  33

2.2.4  连续语言建模  35

2.2.5  词向量技术(Embedding)  39

2.2.6  多层感知机  40

2.2.7  循环神经网络和长短时记忆网络  42

2.2.8  注意力机制  49

2.3  注意力机制即一切  51

2.3.1  编码器  51

2.3.2  解码器  53

2.3.3  Transformer  54

2.4  超大规模变换器  56

2.5  本章小结  60

第3章  大语言模型运维:构建LLM平台  63

3.1  大语言模型运维简介  63

3.2  大语言模型的运维挑战  64

3.2.1  漫长的下载时间  64

3.2.2  更长的部署时间  65

3.2.3  延迟  66

3.2.4  管理GPU  66

3.2.5  文本数据的特殊性  67

3.2.6  token限制引发瓶颈  67

3.2.7  幻觉导致混淆  69

3.2.8  偏见与伦理考量  70

3.2.9  安全问题  70

3.2.10  控制成本  72

3.3  LLMOps要点  72

3.3.1  压缩  73

3.3.2  分布式计算  80

3.4  运行大语言模型的基础设施  84

3.4.1  数据基础设施  86

3.4.2  实验跟踪器  87

3.4.3  模型注册表  87

3.4.4  特征存储  88

3.4.5  向量数据库  89

3.4.6  监控系统  90

3.4.7  支持GPU的工作站  91

3.4.8  部署服务  91

3.5  本章小结  92

第4章  大语言模型数据工程:构建成功的基石  95

4.1  模型是基础  96

4.1.1  GPT  97

4.1.2  BLOOM  97

4.1.3  LLaMA  98

4.1.4  Wizard  98

4.1.5  Falcon  99

4.1.6  Vicuna  99

4.1.7  Dolly  100

4.1.8  OpenChat  100

4.2  大语言模型的评估  101

4.2.1  文本评估指标  101

4.2.2  行业基准  104

4.2.3  负责任的AI基准测试  108

4.2.4  开发自定义基准测试  111

4.2.5  评估代码生成器  113

4.2.6  评估模型参数  114

4.3  大语言模型的数据  116

4.3.1  你应该了解的数据集  116

4.3.2  数据清理与准备  120

4.4  文本处理器  125

4.4.1  分词化  125

4.4.2  嵌入  130

4.5  准备一个Slack数据集  132

4.6  本章小结  133

第5章  训练大语言模型:如何生成生成器  135

5.1  多GPU训练环境  136

5.1.1  设置  136

5.1.2  库  139

5.2  基础的训练技术  141

5.2.1  从零开始  143

5.2.2  迁移学习(微调)  149

5.2.3  提示工程(Prompting)  153

5.3  高级训练技术  154

5.3.1  提示调优  155

5.3.2  使用知识蒸馏进行微调  160

5.3.3  基于人类反馈的强化学习  164

5.3.4  专家混合模型  166

5.3.5  LoRA与PEFT  169

5.4  训练技巧与窍门  174

5.4.1  训练数据规模的注意事项  174

5.4.2  高效训练  174

5.4.3  局部极小值陷阱  175

5.4.4  超参数调优技巧  176

5.4.5  关于操作系统的说明  176

5.4.6  激活函数的建议  176

5.5  本章小结  177

第6章  LLM服务:实用指南  179

6.1  构建LLM服务  179

6.1.1  模型编译  180

6.1.2  大语言模型的存储策略  186

6.1.3  自适应请求批处理  188

6.1.4  流量控制  189

6.1.5  流式响应  191

6.1.6  特征存储  192

6.1.7  检索增强生成  195

6.1.8  LLM服务库  198

6.2  设置基础设施  199

6.2.1  集群配置  200

6.2.2  自动扩展  202

6.2.3  滚动更新  206

6.2.4  推理图  208

6.2.5  监控  211

6.3  生产环境中的挑战  214

6.3.1  模型更新与重新训练  214

6.3.2  负载测试  214

6.3.3  排查高延迟问题  218

6.3.4  资源管理  220

6.3.5  成本工程  220

6.3.6  安全性  221

6.4  边缘部署  223

6.5  本章小结  224

第7章  提示工程:成为LLM的“专家”  227

7.1  提示你的模型  227

7.1.1  少样本提示  228

7.1.2  单样本提示  229

7.1.3  零样本提示  231

7.2  提示工程的基础  232

7.2.1  提示的结构  233

7.2.2  提示超参数之外  235

7.2.3  挖掘训练数据  236

7.3  提示工程工具  237

7.3.1  LangChain  238

7.3.2  Guidance  239

7.3.3  DSPy  241

7.3.4  其他工具虽可用,但……  242

7.4  高级提示工程技术  242

7.4.1  为大语言模型提供工具  242

7.4.2  ReAct  245

7.5  本章小结  248

第8章  大语言模型运维:构建 LLM平台  249

8.1  构建应用程序  249

8.1.1  前端流式传输  250

8.1.2  保持历史记录  254

8.1.3  与聊天机器人交互的功能  257

8.1.4  token计数  260

8.1.5  检索增强生成(RAG)的应用  261

8.2  边缘应用  262

8.3  大语言模型代理  265

8.4  本章小结  272

第9章  创建一个大语言模型项目: 重新实现LLama 3  275

9.1  实现Meta的LLama模型  276

9.1.1  分词化与配置  276

9.1.2  数据集、数据加载、评估与生成  278

9.1.3  网络架构  283

9.2  简化的LLama模型  286

9.3  让它变得更好  290

9.3.1  量化  291

9.3.2  LoRA  292

9.3.3  完全分片数据并行——量化LoRA  295

9.4  部署到Hugging Face Hub Space  296

9.5  本章小结  299

第10章  创建编程助手项目:这个项目可以助你事半功倍  301

10.1  我们的模型  302

10.2  数据为王  304

10.2.1  我们的向量数据库  305

10.2.2  我们的数据集  305

10.2.3  使用RAG  309

10.3  构建VS Code扩展  312

10.4  经验总结与下一步行动  319

10.5  本章小结  322

第11章  在树莓派上部署大语言模型:性能极限挑战  323

11.1  设置你的树莓派  324

11.1.1  Pi Imager  324

11.1.2  连接到Pi  327

11.1.3  软件安装与更新  329

11.2  模型准备  331

11.3  模型服务  332

11.4  改进措施  334

11.4.1  使用更好的界面  335

11.4.2  调整量化方式  335

11.4.3  增加多模态能力  336

11.4.4  在Google Colab上部署模型  340

11.5  本章小结  343

第12章  生产环境,瞬息万变:一切才刚刚开始  345

12.1  概览  345

12.2  大语言模型的未来  346

12.2.1  政府与监管  347

12.2.2  大语言模型正变得更大  350

12.2.3  多模态空间  356

12.2.4  数据集  357

12.2.5  解决幻觉问题  358

12.2.6  新硬件  364

12.2.7  智能体将变得有用  365

12.3  最终思考  369

12.4  本章小结  369

附录A  语言学的历史  371

附录B  基于人类反馈的强化学习  379

附录C  多模态潜在空间  383