第5章扩展:LLM训练的深度细节
版本: v2.0
最后更新: 2026-05-26
在线 Notebook
对应的交互式版本可在 Google Colab 打开,统一使用方式见 第0章说明。
本文档包含第5章的深度扩展内容,介绍LLM训练的技术细节。
E5.1 预训练的具体过程
数据准备
数据来源:
- 网络文本(Common Crawl)
- 书籍(Books3)
- 代码(GitHub)
- 学术论文(arXiv)
数据清理:
- 去重
- 去除低质量文本
- 去除个人信息
- 语言过滤
数据量:
- GPT-3:300B tokens
- Chinchilla:1.4T tokens
- LLaMA:1.4T tokens
分词(Tokenization)
目的: 把文本转换为token序列。
常见方法:
- BPE(Byte Pair Encoding)
- WordPiece
- SentencePiece
词表大小:
- GPT-2:50K tokens
- GPT-3:50K tokens
- LLaMA:32K tokens
预训练目标
因果语言模型(Causal Language Modeling):
优点:
- 自然的生成任务
- 无需标注数据
- 学习因果关系
训练配置
典型配置:
- 优化器:AdamW
- 学习率:1e-4 到 1e-3
- 预热步数:总步数的1-10%
- 学习率衰减:余弦衰减
- 批大小:1000-4000
- 梯度累积:多个小批次累积
E5.2 Scaling Laws的数学基础
幂律关系
模型大小与性能:
数据量与性能:
计算量与性能:
其中
Chinchilla缩放律
最优配置:
- 计算量应该平均分配给模型大小和数据量
- 最优的数据量 ≈ 20倍的参数量
公式:
其中
计算量的定义
FLOPs(浮点运算数):
- 前向传播:
- 反向传播:
- 总计:
其中:
:模型参数数 :序列长度 :批大小
E5.3 涌现能力的机制
In-Context Learning的原理
假设1:隐状态编码
- 模型在隐状态中编码示例的模式
- 在推理时应用这个模式
假设2:梯度下降的类比
- In-Context Learning类似于快速的梯度下降
- 模型在推理时"学习"新任务
Chain-of-Thought的原理
为什么有效:
- 分解复杂问题为简单步骤
- 每一步都更容易预测
- 减少推理错误
例子:
问题:15 + 27 = ?
直接预测:困难(需要计算)
一步步推理:容易(每步都是简单的加法)其他涌现能力
代码生成:
- 小模型:无法生成正确的代码
- 大模型:能生成相对复杂的代码
多语言能力:
- 小模型:主要是英文
- 大模型:能处理多种语言
推理能力:
- 小模型:无法进行多步推理
- 大模型:能进行复杂的逻辑推理
E5.4 Prompt 工程
Prompt 工程的完整实践内容(Zero-shot/Few-shot/CoT/角色设定/结构化输出)见第6章:
E5.5 LLM的局限
幻觉(Hallucination)
定义: 模型生成看起来合理但实际上错误的内容。
原因:
- 模型没有真正的知识,只是学会了模式
- 在不确定时,模型倾向于生成看起来合理的文本
缓解方法:
- 提供准确的上下文
- 要求模型说明不确定性
- 使用检索增强生成(RAG)
知识截断
问题: 模型的知识截止于训练数据的时间。
解决方案:
- 定期重新训练
- 使用检索增强生成
- 微调新知识
推理能力有限
问题: 模型在复杂推理上仍然有限。
例子:
- 数学计算:容易出错
- 逻辑推理:在复杂情况下失败
- 常识推理:有时违反常识
E5.6 与其他AI技术的比较
LLM vs 传统NLP
传统NLP:
- 特征工程
- 任务特定的模型
- 需要大量标注数据
LLM:
- 自动特征学习
- 通用模型
- 需要大量无标注数据
LLM vs 符号AI
符号AI:
- 显式的知识表示
- 可解释性强
- 推理能力强
LLM:
- 隐式的知识表示
- 可解释性弱
- 泛化能力强
LLM vs 强化学习
强化学习:
- 需要环境交互
- 样本效率低
- 适合决策任务
LLM:
- 只需要文本数据
- 样本效率高
- 适合理解和生成任务
E5.7 推荐论文
预训练的论文
Devlin et al. (2018) - "BERT: Pre-training of Deep Bidirectional Transformers"
- 掩码语言模型的开创性工作
Radford et al. (2019) - "Language Models are Unsupervised Multitask Learners"
- GPT-2论文
- 展示了预训练的强大能力
Scaling Laws的论文
Kaplan et al. (2020) - "Scaling Laws for Neural Language Models"
- 发现幂律关系
Hoffmann et al. (2022) - "Training Compute-Optimal Large Language Models"
- Chinchilla缩放律
In-Context Learning的论文
Brown et al. (2020) - "Language Models are Few-Shot Learners"
- GPT-3论文
- 展示了In-Context Learning能力
Wei et al. (2022) - "Emergent Abilities of Large Language Models"
- 涌现能力的系统研究
Prompt工程的论文
Wei et al. (2022) - "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models"
- Chain-of-Thought的开创性工作
Wang et al. (2022) - "Self-Consistency Improves Chain of Thought Reasoning in Language Models"
- 自洽性方法
E5.8 进一步学习
书籍
"Attention Is All You Need" 论文详解
- 理解Transformer的基础
"The Illustrated GPT-2"
- 在线免费资源
- 直观讲解GPT-2
在线资源
OpenAI的博客
- GPT系列模型的介绍
- 最新的研究进展
Hugging Face的教程
- 如何使用预训练模型
- Prompt工程的实践
实践项目
调用LLM API
- 使用OpenAI或Anthropic的API
- 理解API的使用方式
Prompt工程实验
- 对比不同的Prompt
- 观察输出的差异
In-Context Learning演示
- 用不同数量的示例
- 观察性能的变化
微调实验
- 在小数据集上微调模型
- 对比微调和Prompt工程
E5.9 对齐训练的深度细节
PPO 算法细节、KL 散度约束数学含义、DPO 完整推导,以及 GRPO/o1 风格推理强化学习,已独立为:
返回: 第5章:LLM基础
