图书目录

目录

本书源码

第1章大语言模型简介

1.1生成式人工智能

1.1.1判别任务与生成任务

1.1.2自回归式生成

1.1.3判别与生成的边界

1.2LLM原理概述

1.2.1ChatGPT简介

1.2.2GPT模型的发展历程

1.2.3GPT模型的指令微调

1.2.4GPT模型的可控生成

1.3LLM的能力与局限

1.3.1知识能力

1.3.2算术能力

1.3.3代码能力

1.4本章小结

第2章神经网络基本原理

2.1深度学习基本范式

2.1.1一切皆函数

2.1.2机器学习基本范式

2.1.3神经网络与深度学习

2.2神经网络的结构

2.2.1全连接神经网络

2.2.2卷积神经网络

2.2.3残差连接和批量归一化

2.2.4递归神经网络

2.3神经网络的衡量标准

2.3.1监督学习目标

2.3.2半监督学习目标

2.3.3强化学习目标

2.4神经网络的优化

2.4.1前向传播和反向传播

2.4.2梯度下降方法

2.4.3模型性能的评估

2.4.4模型的过拟合

2.5本章小结

第3章深度学习环境搭建

3.1使用云端交互式计算环境

3.1.1Jupyter的本地部署和基本操作

3.1.2Colab的使用方法

3.1.3在Kaggle中使用笔记本

3.2在Linux计算机上搭建深度学习环境

3.2.1安装NVIDIA显卡驱动

3.2.2安装CUDA

3.2.3安装cuDNN

3.2.4安装Miniconda

3.2.5安装PyTorch

3.3在Windows计算机上搭建深度学习环境

3.3.1安装WSL2

3.3.2安装NVIDIA显卡驱动

3.3.3安装CUDA和cuDNN

3.4本章小结

第4章神经网络的构建、训练与推理

4.1张量与张量运算

4.1.1认识张量

4.1.2张量的数据类型

4.1.3张量的存储结构与访问方法

4.1.4张量的运算

4.2PyTorch原理与实践

4.2.1PyTorch计算图与自动求导引擎

4.2.2使用PyTorch构建并训练FCN

4.2.3常用的PyTorch内置模块

4.2.4使用PyTorch模块构建神经网络

4.3案例: 使用LeNet进行手写数字分类

4.3.1MNIST手写数字分类任务简介

4.3.2使用交互式计算环境进行探索式开发

4.3.3使用VS Code进行工程化开发

4.4本章小结

第5章自然语言处理相关概念

5.1分词与标记化算法

5.1.1简单分词算法

5.1.2BPE算法

5.1.3WordPiece算法

5.2Word2Vec模型

5.2.1将单词转换为向量

5.2.2Word2Vec模型的构建与训练

5.2.3监督学习与自监督学习

5.3语言建模

5.3.1自回归模型与Ngram模型

5.3.2使用神经网络实现Ngram模型

5.3.3端到端训练

5.4自然语言理解与自然语言生成

5.4.1传统NLU任务

5.4.2传统NLG任务

5.4.3LLM时代的NLU与NLG任务

5.5本章小结

第6章LLM的核心结构: Transformer

6.1早期Seq2Seq模型

6.1.1递归神经网络的变体

6.1.2案例: 利用LSTM进行股票价格预测

6.1.3EncoderDecoder架构

6.1.4在EncoderDecoder中引入注意力机制

6.1.5案例: 利用EncoderDecoder完成机器翻译任务

6.2自注意力机制与Transformer

6.2.1自注意力机制

6.2.2基于自注意力的编码器

6.2.3案例: 利用自注意力编码器进行股票价格预测

6.2.4Transformer模型架构

6.2.5Transformer的训练与推理

6.2.6案例: 利用Transformer完成机器翻译任务

6.3本章小结

第7章BERT模型

7.1BERT模型架构和预训练目标

7.1.1预训练语言表征

7.1.2BERT模型架构

7.1.3BERT预训练目标

7.2BERT模型的微调

7.2.1预训练微调范式

7.2.2案例: BERT在分类任务上的微调

7.2.3案例: BERT在NLI任务上的微调

7.2.4案例: BERT在抽取式摘要任务上的微调

7.3BERT模型的实现结构

7.3.1Transformers项目结构

7.3.2BertForSequenceClassification模型结构

7.4本章小结

第8章GPT模型

8.1GPT模型架构和预训练目标

8.1.1GPT模型架构

8.1.2GPT预训练目标

8.1.3案例: 使用小规模语料库模拟GPT预训练过程

8.2GPT模型在NLU任务上的微调

8.2.1GPT预训练模型的NLU下游化

8.2.2案例: GPT在分类任务上的微调

8.2.3案例: GPT在NLI任务上的微调

8.3GPT模型在NLG任务上的微调

8.3.1GPT预训练模型的NLG下游化

8.3.2案例: GPT在生成式摘要任务上的微调

8.4解码算法

8.4.1束搜索算法

8.4.2随机采样算法

8.5本章小结

第9章BART模型

9.1BART模型架构和预训练目标

9.1.1BART模型架构

9.1.2BART预训练目标

9.2BART模型在NLU任务上的微调

9.2.1BART预训练模型的NLU下游化

9.2.2案例: BART在分类任务上的微调

9.3BART模型在NLG任务上的微调

9.3.1BART预训练模型的NLG下游化

9.3.2案例: BART在生成式摘要任务上的微调

9.4BART模型的优越性与局限性

9.4.1BART模型的优越性

9.4.2BART模型的局限性

9.4.3LLM数据规模及任务的适配性

9.5本章小结

第10章现代LLM的萌芽: T5和GPT3

10.1T5模型

10.1.1T5模型的多任务预训练

10.1.2T5模型的微调

10.1.3案例: T5模型在机器翻译任务上的微调

10.2GPT3模型

10.2.1GPT3模型的预训练

10.2.2GPT3的上下文学习能力

10.2.3案例: 利用上下文学习能力完成NLP任务

10.3NLP任务的新范式

10.4本章小结

第11章现代LLM的构建方法

11.1训练LLM遵循人类指令

11.1.1指令微调

11.1.2模型量化与低秩适应

11.1.3案例: 对LLM进行QLoRA微调

11.2训练LLM控制生成质量

11.2.1监督微调的局限性

11.2.2强化学习简介

11.2.3自然语言生成的MDP建模

11.2.4RLHF: 利用强化学习进行偏好优化

11.2.5DPO: 直接偏好优化

11.2.6案例: LLM的偏好优化

11.3训练LLM进行深度思考

11.3.1旅程式学习

11.3.2推理导向的训练

11.4低成本LLM的相关技术

11.4.1混合专家模式

11.4.2键值缓存压缩

11.5本章小结

第12章提示工程与模型上下文协议

12.1提示工程

12.1.1提示词设计基本原则

12.1.2常见提示工程方法

12.1.3案例: 构建RAG应用

12.2模型上下文协议

12.2.1函数调用基本原理

12.2.2MCP基本原理

12.2.3案例: MCP服务器开发

12.3本章小结

参考文献