更新时间:2025-05-07 11:44:47
封面
版权信息
版权声明
前言
致谢
关于本书
目标读者
本书结构概览
关于代码
本书论坛
其他在线资源
关于封面插图
第1章 理解大语言模型
1.1 什么是大语言模型
1.2 大语言模型的应用
1.3 构建和使用大语言模型的各个阶段
1.4 Transformer架构介绍
1.5 利用大型数据集
1.6 深入剖析GPT架构
1.7 构建大语言模型
1.8 小结
第2章 处理文本数据
2.1 理解词嵌入
2.2 文本分词
2.3 将词元转换为词元ID
2.4 引入特殊上下文词元
2.5 BPE
2.6 使用滑动窗口进行数据采样
2.7 创建词元嵌入
2.8 编码单词位置信息
2.9 小结
第3章 编码注意力机制
3.1 长序列建模中的问题
3.2 使用注意力机制捕捉数据依赖关系
3.3 通过自注意力机制关注输入的不同部分
3.3.1 没有可训练权重的简单自注意力机制
3.3.2 计算所有输入词元的注意力权重
3.4 实现带可训练权重的自注意力机制
3.4.1 逐步计算注意力权重
3.4.2 实现一个简化的自注意Python类
3.5 利用因果注意力隐藏未来词汇
3.5.1 因果注意力的掩码实现
3.5.2 利用dropout掩码额外的注意力权重
3.5.3 实现一个简化的因果注意力类
3.6 将单头注意力扩展到多头注意力
3.6.1 叠加多个单头注意力层
3.6.2 通过权重划分实现多头注意力
3.7 小结
第4章 从头实现GPT模型进行文本生成
4.1 构建一个大语言模型架构
4.2 使用层归一化进行归一化激活
4.3 实现具有GELU激活函数的前馈神经网络
4.4 添加快捷连接
4.5 连接Transformer块中的注意力层和线性层
4.6 实现GPT模型
4.7 生成文本
4.8 小结
第5章 在无标签数据上进行预训练
5.1 评估文本生成模型
5.1.1 使用GPT来生成文本
5.1.2 计算文本生成损失
5.1.3 计算训练集和验证集的损失
5.2 训练大语言模型
5.3 控制随机性的解码策略
5.3.1 温度缩放
5.3.2 Top-k采样
5.3.3 修改文本生成函数
5.4 使用PyTorch加载和保存模型权重
5.5 从OpenAI加载预训练权重
5.6 小结
第6章 针对分类的微调
6.1 不同类型的微调
6.2 准备数据集
6.3 创建数据加载器
6.4 初始化带有预训练权重的模型
6.5 添加分类头
6.6 计算分类损失和准确率
6.7 在有监督数据上微调模型
6.8 使用大语言模型作为垃圾消息分类器
6.9 小结
第7章 通过微调遵循人类指令
7.1 指令微调介绍
7.2 为有监督指令微调准备数据集
7.3 将数据组织成训练批次
7.4 创建指令数据集的数据加载器
7.5 加载预训练的大语言模型
7.6 在指令数据上微调大语言模型
7.7 抽取并保存模型回复
7.8 评估微调后的大语言模型
7.9 结论
7.9.1 下一步
7.9.2 跟上领域的最新进展
7.9.3 写在最后
7.10 小结
附录A PyTorch简介
A.1 什么是PyTorch
A.1.1 PyTorch的三大核心组件
A.1.2 定义深度学习
A.1.3 安装PyTorch
A.2 理解张量