目录
本书源码
第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自回归模型与Ngram模型
5.3.2使用神经网络实现Ngram模型
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.3EncoderDecoder架构
6.1.4在EncoderDecoder中引入注意力机制
6.1.5案例: 利用EncoderDecoder完成机器翻译任务
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和GPT3
10.1T5模型
10.1.1T5模型的多任务预训练
10.1.2T5模型的微调
10.1.3案例: T5模型在机器翻译任务上的微调
10.2GPT3模型
10.2.1GPT3模型的预训练
10.2.2GPT3的上下文学习能力
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本章小结
参考文献
