第一部分:LLM 到底是什么
1.1 从一个简单的问题开始
你有没有想过一个问题:为什么 ChatGPT 能跟你对话?
它不是"搜答案"。如果你问它"1+1 等于几",它不是去百度查,而是"算"出来的。更准确地说,是"生成"出来的------它基于你输入的文字,一个 token 一个 token 地预测下一个字该是什么。
这就是 LLM 的核心。
1.2 LLM 的全称和定义
LLM = Large Language Model(大语言模型)
拆开看:
| 单词 | 含义 |
|---|---|
| Large(大) | 参数量巨大,动辄数十亿到数千亿 |
| Language(语言) | 处理的是自然语言(中文、英文、代码...) |
| Model(模型) | 一个数学函数,输入 → 输出 |
它本质上是一个预测下一个 token 的超级函数。
什么是 Token?
Token 是 LLM 处理文本的最小单位。一个中文字通常是一个 token,一个英文单词可能被拆成 1-3 个 token。
"我爱编程" → 3 个 token
"I love coding" → 3 个 token("I", " love", " coding")
关于 Token 和分词器(BPE、中文为什么"贵"、怎么统计 Token),后面会有专门一课详细展开。
当前主流模型的上下文窗口(一次性最多能处理的 token 数):
- GPT-4o:128K token(约 9 万个中文字)
- Claude 3.5:200K token(约 15 万个中文字)
- Gemini 2.0:1M+ token
1.3 LLM 的本质:超级预测器
语言模型做的事情很简单:
给定前文 → 预测下一个 token 的概率分布
举个例子:
输入:"中国的首都是"
模型预测:
北 → 99.2%
南 → 0.3%
上 → 0.2%
...
然后选概率最高的那个("北"),拼上去,继续预测:
输入:"中国的首都是北"
模型预测:
京 → 99.8%
...
这就是 LLM 的工作方式:一个 token 接一个 token 地生成。
这个过程叫自回归生成(Autoregressive Generation)。
从概率分布里"选词"的过程有很多讲究(temperature、top-p、贪心、束搜索......),我们后面会有专门的课深入讲。
1.4 为什么它能"理解"人类语言?
关键在于一个架构:Transformer。
2017 年 Google 发布了论文《Attention Is All You Need》,提出了 Transformer 架构。它的核心创新是自注意力机制(Self-Attention)------让模型知道一段文字里,哪些词跟哪些词有关系。
"小明把苹果给了小红,她很高兴"
↑
这个"她"指的是谁?
Transformer 的自注意力机制能让模型理解:"她"更可能指向"小红"而不是"小明"或"苹果"。
Transformer、注意力机制、位置编码等原理,是后面"原理篇"的重头戏,本课先记住一句话:Transformer 让所有词同时"互相对话",从而理解上下文。
1.5 LLM 简史(一张图看懂)
2017 Transformer 论文发表(Google)
2018 GPT-1(OpenAI)、BERT(Google)
2019 GPT-2(15 亿参数,不敢开源)
2020 GPT-3(1750 亿参数)
2022.11 ChatGPT 发布 → 两个月用户破亿
2023.03 GPT-4 发布
2023.07 Llama 2 开源(Meta)
2024 百花齐放:Claude 3、Gemini、Qwen、DeepSeek...
2025 DeepSeek-R1 推理模型引发轰动
1.6 LLM 能做什么?10 个实用场景
- 写作辅助:写邮件、写文案、写报告
- 编程助手:生成代码、Debug、解释代码
- 翻译:中英互译、多语言翻译
- 总结提炼:长文总结、会议纪要
- 知识问答:回答各种领域问题
- 创意生成:写诗、写故事、头脑风暴
- 数据分析:解读数据、生成分析报告
- 角色扮演:模拟面试官、客服等
- 教育辅导:解题讲解、知识学习
- Agent 工具调用:查询天气、操作数据库
第二部分:LLM 是怎么训练的
2.1 训练三阶段概览
训练一个能聊天的 LLM,一般分三个阶段:
预训练(Pretraining)→ 监督微调(SFT)→ 人类反馈强化学习(RLHF)
想象你在培养一个实习生:
| 阶段 | 类比 | 做什么 |
|---|---|---|
| 预训练 | 读完整个图书馆 | 海量文本学习语言规律 |
| SFT | 师傅带徒弟 | 用高质量问答对教它怎么回答 |
| RLHF | 老板打分 | 人类标注哪个回答更好,模型调整行为 |
2.2 第一阶段:预训练(Pretraining)
是什么
让模型在海量文本上做"完形填空"式的学习。
原始文本:"中国的首都是北京"
训练任务:"中国的首都是___" → 预测"北京"
数据从哪里来
- 互联网网页(Common Crawl)
- 书籍(Books3、Gutenberg)
- 维基百科
- 代码仓库(GitHub)
- 论文、新闻、论坛帖子
GPT-3 的训练数据大约有 45TB 的文本。这相当于一个人连续阅读 4500 年。
数据预处理
原始数据不能直接用,需要经过:
脏数据 → 去重 → 过滤低质量内容 → 去除个人信息 → 分词(tokenization) → 训练数据
成本有多高
| 模型 | 参数量 | 训练成本(估算) |
|---|---|---|
| GPT-3 | 175B | ~460 万美元 |
| GPT-4 | ~1.8T (传闻) | ~7800 万美元 |
| Llama 3 405B | 405B | ~6000 万美元 |
| DeepSeek-V3 | 671B (MoE) | ~560 万美元 |
DeepSeek 用创新架构大幅降低了训练成本,这也是它引起轰动的原因之一。
预训练后的模型能做什么?
啥也做不了......它只是一个"文字接龙机器"。
输入:"怎么做红烧肉?"
预训练模型输出:"怎么做红烧肉?我的做法是:1. 准备食材 2. 切肉 3. 锅中放油 4..."
它能接话,但不会"对话"。你问它问题,它可能给你续写一段菜谱而不是回答问题。
所以需要下一步:SFT。
2.3 第二阶段:监督微调(SFT)
SFT = Supervised Fine-Tuning(监督微调)
做什么
用"高质量问答对"教模型按照人类的提问方式来回答。
训练数据格式:
json
{
"messages": [
{"role": "system", "content": "你是专业的编程助手。"},
{"role": "user", "content": "Python 里怎么去重?"},
{"role": "assistant", "content": "可以用 set():\n\n```python\n...```"}
]
}
SFT 的作用
- 学会对话格式(用户问 → 助手答)
- 学会遵循指令("用 Python 写"、"用表格总结")
- 学会拒绝不当请求("我不能帮你做违法的事")
- 学会安全边界(不生成有害内容)
SFT 之后,模型"会聊天了",但回答质量还不稳定。有时候啰嗦、有时候回答很奇怪。
2.4 第三阶段:RLHF(人类反馈强化学习)
RLHF = Reinforcement Learning from Human Feedback
核心思路
让人类标注员对不同回答打分排序,然后训练一个"奖励模型",再用奖励模型去优化 LLM。
过程
步骤 1:同一个 prompt → LLM 生成 4 个不同回答
步骤 2:人类标注员给这 4 个回答排序(A > C > B > D)
步骤 3:用这些排序数据训练一个"奖励模型"
步骤 4:用奖励模型来指导 LLM 进一步优化(PPO 算法)
RLHF 的效果
- 回答更有用、更准确
- 拒绝回答不安全问题
- 更符合人类偏好(简洁、有条理、礼貌)
2.5 一些补充概念
Fine-tuning(微调)
在已有模型基础上,用特定领域数据继续训练。
基础模型 + 医疗对话数据 → 医疗问诊模型
基础模型 + 法律文书数据 → 法律助手模型
基础模型 + 代码仓库数据 → 编程助手模型
LoRA(低秩适配)
一种轻量级微调方法。不需要动原始模型的所有参数,只训练一小部分新增参数。
- 成本极低(几十到几百块人民币)
- 可以同时拥有多个 LoRA(一个做翻译、一个做写诗、一个做编程)
- 非常适合个人开发者
DPO(直接偏好优化)
RLHF 的简化替代方案,不需要训练奖励模型,直接用偏好数据来优化。效果接近 RLHF,但实现简单很多,是当前更主流的做法。
2.6 训练流程总结
预训练 SFT RLHF/DPO
│ │ │
[互联网海量文本] ───→ [基础模型] ───────────→ [对话模型] ───────────→ [对齐模型]
│ │ │
"文字接龙机器" "会聊天的 AI" "好用、安全的 AI"
(几千亿 token) (几万条高质量问答) (几万条人类偏好)
三阶段的细节(RLHF 的 PPO 算法、DPO 的更新方式、LoRA 的具体实现)会在后面"训练三阶段详解"一课中深入展开,本课先建立整体框架。