从 Transformer 到 ChatGPT:六年改写 AI 方向的完整链条(2017--2023)
本文是「AI 通史与深度学习革命」专题的第 8 篇。承接 1.7(深度学习革命),聚焦大模型时代------2017 Transformer 的诞生、2018 BERT/GPT 的预训练革命、2020 GPT-3 的规模爆炸、2022 InstructGPT 的对齐突破、再到 2022 ChatGPT 的产品引爆。看"自注意力 + 预训练 + RLHF"这套配方怎样在六年内彻底改变了 AI 的方向。
本篇 1.8 → 1.9 开源生态 → 1.10 商业化视角
🎬 写在前面:2017 年那篇所有人都没想到会这么重要的论文
2017 年 6 月,Google 团队(Vaswani et al.)在 arXiv 贴了一篇论文------"Attention Is All You Need"。标题简单到缺乏吸引力。
论文的核心------Transformer------完全基于自注意力机制,不需要循环(RNN)或卷积(CNN)。当时的主流序列模型 RNN/LSTM 用了 30 年------Transformer 抛弃了它们的时序结构,用"一次性注意"处理整个序列。
它后来成为 AI 史上引用最高的论文(2026 年 >130,000 次)。但 2017 年它只是一个不错的改进------没有人想到它会成为整个 AI 的基础设施。
🚧 三大红线
| 红线 | 含义 | 后果 |
|---|---|---|
| Transformer 不是"从零发明"------是已有组件的最佳组合 | 自注意力(2014)+ 多头(原创)+ 残差连接(2015 ResNet)+ 层归一化(2016 Ba)= 三到四个已有组件的组合 | 把 Transformer 当"灵机一动"→误解了大多数 AI 突破是工程组合而不���基础理论发现 |
| GPT-3 是 1→1.5→175B 的三级跳------不是一拍脑袋的决定 | GPT-1(110M)→GPT-2(1.5B)→GPT-3(175B),每步验证"规模→能力" | 以为可以一次复现→实际需要先验验证积累 |
| ChatGPT 的产品设计比 GPT-3 的技术突破对产业影响更大 | GPT-3(2020)已公开 API 但开发者觉得难用。InstructGPT(2022.01)的 RLHF 解决了控制性------ChatGPT(2022.11)把 RLHF 放进了对话 UI | 只关注模型参数→忽略了对齐技术和产品设计的放大作用 |
🔍 逐主题拆解:大模型时代的四步台阶
本节目本主题"大模型时代"炸开为 4 个子单元:Transformer 诞生、预训练范式、GPT-3 规模假设、对齐产品化。
一、2017 Transformer------"注意力"的统一场
这是什么
Transformer 完全基于自注意力------对于输入序列每个位置,其他所有位置通过注意力权重"投票"决定该位置该注意什么。不需要 RNN 的循环,不需要 CNN 的卷积。
自注意力的数学:
Attention(Q, K, V) = softmax(Q·K^T / √d) · V
Q(Query):当前位置的"询问"
K(Key):所有其他位置的"钥匙"
V(Value):所有其他位置的"内容"
Q·K^T / √d → 每个其他位置对当前位置的重要性(已缩放)
softmax → 归一化为 0--1 的概率分布
·V → 按重要性加权聚合所有位置的内容
为什么需要它
RNN 和 LSTM 的固有限制:
- 不可并行------每个时间步必须等前一个时间步完成。训练一个 1,000 词的句子需要 1,000 步
- 长程依赖------LSTM 虽解决了梯度消失,但 100+ 词后开头信息几乎消退
Transformer 一次解决两个:所有位置可见(长程依赖)+ 所有位置可并行(训练速度由矩阵乘法决定,由 GPU 加速)。
它的作用------AI 架构的"统一场"
Transformer 改变了序列建模的方式------从循环/递归的线性结构变成"全连接"的并行结构。这个影响远超 NLP------它变成了所有 AI 任务的通用架构。目前(2026),几乎所有主流 AI 模型(文本、图像、视频、音频、代码)都基于 Transformer。
二、2018 BERT 和 GPT------预训练范式的"分岔点"
这是什么
2018 年两个几乎同时出现的工作:
BERT(Google)------Transformer Encoder,掩码语言模型(MLM):随机遮住 15% 的词→预测被遮住的词。双向上下文→精度更高。
GPT-1(OpenAI)------Transformer Decoder,因果语言模型:从左到右依次预测下一个词。单向上下文→生成更自然。
| 维度 | BERT | GPT-1 |
|---|---|---|
| 架构 | Encoder-only | Decoder-only |
| 预训练 | 掩码(双向) | 自回归(单向) |
| 参数量 | 340M | 110M |
| 主要能力 | 理解(分类/QA/抽取) | 生成(续写/文本生成) |
| 微调方式 | 加任务特化头部 | 加任务特化头部 |
历史后来选择了 GPT 的 Decoder-only 路径------不因为当时更好,而是因为"生成"能力在 GPT-3 时才展现涌现特性。BERT 的"双向理解"路径在大模型时代反而没有延续。
三、2020 GPT-3------规模假设的终极验证
这是什么
GPT-3(Brown et al., 2020)------175B 参数,570GB 文本(CommonCrawl+WebText2+Books+Wikipedia)训练。一次训练成本约 1,200 万美元。
涌现能力------In-context learning: 给 GPT-3 两个"英语→西班牙语"例子→它能在后面自发地翻译。这个能力在 GPT-1(110M)上不存在------只在 175B 时首次出现。规模增加→新能力涌现------这是 2020 年最重要的发现。
手算 1:GPT-1 → GPT-2 → GPT-3 的规模跳跃
参数 训练数据 训练算力 涌现
GPT-1 110M ~800M tokens ~10 petaflop/s-day 无
GPT-2 1.5B ~8B tokens ~100 petaflop/s-day 微弱
GPT-3 175B ~300B tokens ~3,140 petaflop/s-day in-context learning
参数量:110M → 1.5B(~14×)→ 175B(~117×)
数据量: 0.8B → 8B(~10×)→ 300B(~37×)
算力: 10 → 100(10×)→ 3,140(31×)
每次跳跃约 10--100×------不是线性扩展,是指数级。
四、2022--2023 InstructGPT 和 ChatGPT------对齐技术的神奇效果
这是什么
InstructGPT (Ouyang et al., 2022.01)------在 GPT-3 上加了 RLHF(从人类反馈中强化学习):
- 收集人类偏好数据------比较 4--9 个回答,标注"哪个更好"
- 训练奖励模型------GPT-3 的变体,输入 prompt+response → 输出"质量分数"
- 用 PPO 强化学习微调 GPT-3------最大化奖励分数
震撼结果:InstructGPT 1.3B(仅 GPT-3 的 1/100 参数)的输出质量被人类评为优于 GPT-3 175B。对齐技术(RLHF)的效果比模型规模放大 100× 还要显著。
ChatGPT(2022.11)------在 InstructGPT 基础上加更丰富的对话数据 + 对话式 UI。没有单一技术突破------是产品化工程。但它让 AI 从"开发者 API"变成了全球增速最快的消费应用(2 个月破 1 亿用户)。
为什么需要它
GPT-3(2020)已公开 API------但开发者反馈:它经常不跟从指令("你是一个翻译系统,请把下面英文翻译成中文"→它继续英文输出)、风格不受控(写法律文件时像诗人说话)、容易不安全(生成有害回答)。指令不跟从(Instruction Following)------是 2020--2021 年大模型面对的核心工程问题。
RLHF 解决了这个问题------不是通过架构创新------是通过训练奖励模型来"评价什么回答是好回答"。
💡 全局判断
大模型时代的核心公式:Transformer×预训练×规模×对齐=涌现能力。
每一步的贡献:
- Transformer(2017):可并行、可扩展的架构
- BERT/GPT(2018):"预训练+微调"范式
- GPT-3(2020):"规模=能力"的实证
- InstructGPT/ChatGPT(2022):"对齐让规模变得有用"
六个环节少一个------就没有 ChatGPT。
📌 速查表
| 概念 | 一句话定义 | 关键信息 |
|---|---|---|
| Transformer | 基于自注意力的序列模型------AI架构"统一场" | Vaswani et al. 2017, NeurIPS |
| 自注意力 | 每个位置"关注"所有其他位置的机制 | Transformer 核心 |
| BERT | 双向掩码语言模型------"理解"的巅峰 | Devlin et al. 2018, Google |
| GPT-1/2/3 | 自回归语言模型------"生成"的迭代 | Radford/Brown et al. 2018--2020, OpenAI |
| GPT-3(175B) | In-context learning 首次涌现 | 训练费~$12M |
| InstructGPT | 用 RLHF 对齐人类偏好的 GPT-3 | Ouyang et al. 2022 |
| RLHF | 人类反馈→奖励模型→PPO 强化学习对齐 | OpenAI 2022 |
| ChatGPT | RLHF + 对话 UI = 全球最快破亿的应用 | OpenAI 2022.11 |
| 涌现能力 | 模型超过阈值后自发出现的新能力 | Wei et al. 2022 |
五、扩展:BERT vs GPT 的路径选择
2018 年 BERT(Google)和 GPT-1(OpenAI)代表了双向 vs 单向的路径分岔。历史选择了 GPT 的单向路径。三个原因:1)生成能力是涌现能力的先决条件------BERT 做分类不会创造,GPT 做生成天然会续写。到 GPT-3 时生成涌现出 in-context learning。2)规模化效率不同------BERT 的 MLM 只利用 15% token 做训练信号,GPT 的自回归利用 100%。3)对齐切入点不同------RLHF 需要生成式接口。手算:BERT-Large 每步有效训练信号 = 15% * 512 = 77 tokens/步;GPT-3 每步有效信号 = 512 tokens/步。BERT 训练效率约 GPT 的 15%。
五、扩展:Attention 的数学------为什么它比 RNN 更适合 GPU
自注意力的计算 = Q·K^T/V 的矩阵乘法。矩阵乘法可以用 GPU 优化到接近理论峰值------因为 GPU 的核心就是大规模并行矩阵乘引擎。
手算:注意力 vs RNN 的训练时间对比(GPT-3 规模)
序列长度 L=2048,模型维度 d=12,288,批次 B=2M tokens
Transformer 自注意力:
计算复杂度:B × L × d × d = 2M × 2048 × 12,288² ≈ 6.2×10^17 FLOPs
可并行程度:完全可并行(一次性处理整个序列)
理论 GPU 利用率:约 60-80%(矩阵乘可被 cuBLAS 优化)
RNN(如果做同样的任务):
计算复杂度:B × L × d² = 2M × 2048 × 12,288² ≈ 6.2×10^17 FLOPs
可并行程度:不可并行(每个时间步必须等待前一步完成)
理论 GPU 利用率:约 5-15%(循环过程不可向量化)
有效算力利用率差距:Transformer ≈ RNN 的 4-8 倍。
训练时间差距同比例------这就是为什么 RNN 在 2017 年后基本被淘汰了。
六、扩展:GPT 系列实验的"镜像结构"
GPT-1(2018.06, 110M)到 GPT-4(2023.03, 估 1.7T)------每次迭代的"参数/能力比"呈现有趣的规律:
GPT-1(2018):110M 参数 → zero-shot 在 9/12 数据集上 SOTA
"找到了预训练的窍门"
GPT-2(2019):1.5B 参数 → zero-shot 在 8/8 数据集上 SOTA
"规模大了 14 倍,能力翻倍了"
GPT-3(2020):175B 参数 → in-context learning 涌现
"规模大了 117 倍,能力'跃迁'了"
InstructGPT(2022):175B 参数 → 1.3B 对齐后 > 175B 未对齐
"对齐技术的效果 > 规模放大 100x"
ChatGPT(2022):175B 参数+RLHF+对话UI
"产品化的贡献 > 技术突破的贡献"
GPT-4(2023):估 1.7T 参数 → 通过律师资格考试(前 10%)
"规模再放大 10x,通过了标准化测试"
关键发现 :每一次"放大"的贡献不同------第一级是"预训练方法",第二级是"数据规模",第三级是"涌现",第四级是"对齐",第五级是"产品设计",第六级是"综合放大"。没有一个单一维度驱动了全部进步。 这正是大模型时代的本质------进步来自多个维度的叠加,而非单一算法的突破。
手算:GPT-4 的估算训练成本
假设 GPT-4 使用 MoE 架构(约 1.7T 总参数,激活约 285B 参数):
FP8 训练,25,000 H100 GPU,训练 100 天:
总 GPU-hours = 25,000 × 2400 = 60,000,000 GPU-hours
云成本(按 $4/H100-hr)= 60M × $4 = $2.4 亿
电力成本(含冷却)= 60M × 0.7KW × $0.10/KWh ≈ $420 万
人力成本(约 500 人 × 2 年)= 约 $5000 万
总估算:约 $3-3.5 亿
对比 GPT-3(2020):约 $1,200 万
GPT-4 ≈ GPT-3 × 25 倍的训练成本
如果 GPT-5 再放大 25 倍------训练成本约 $8-10 亿------仍然在科技巨头的预算范围内。
但再下一代(GPT-6 × 25 = $200-250 亿)------就超出了单一公司的财务承受。
这个成本曲线意味着,目前"越大越好"的路线将在 2028-2030 年左右遇到经济上限。
### 七、扩展:GPT-3 的规模为什么恰好是 175B------Scaling Laws 的力量
GPT-3 的 175B 参数不是随便选的------它是 Scaling Laws 配方推导的结果。
Kaplan et al. (2020) 发现:模型性能(交叉熵损失)与三个变量呈幂律关系:L(N) = (N_c/N)^alpha_N、L(D)=(D_c/D)^alpha_D、L(C)=(C_c/C)^alpha_C。alpha_N=0.076,alpha_D=0.095,alpha_C=0.050。
给定一个固定的算力预算 C------同时增加 N 和 D 使损失最小化的最优配比为:N_opt ~ C^0.73,D_opt ~ C^0.27。
OpenAI 选择了他们的算力预算(10,000 A100 GPU x 30 天 ≈ 3,140 petaflop/s-day),推导出了最优参数大小约 175B。不是"随便放大"------是算出来 175B 可以最好地利用可用算力。
**手算:GPT-3 的 scaling 决策过程**
给定可用算力 C = 3.14 x 10^3 petaflop/s-day
Scaling Laws 公式推算:
N_opt = 8.8 x 10^13 x (C/106)(-0.076/0.050)⁻¹
≈ 1.75 x 10^11
如果 C = 1.0 x 10^3(约 1/3 的算力):
N_opt ≈ 1.0 x 10^11 ≈ 100B------GPT-3 的缩减版
如果 C = 1.0 x 10^4(PC 时代不可能的大规模):
N_opt ≈ 2.5 x 10^11 ≈ 250B------"GPT-3 的超级版"
175B 不是"随便选的数字"------它是 OpenAI 的算力预算加上 Scaling Laws 的产物。
八、扩展:Transformer 的完整前向传播手算
为了让读者真正理解 Transformer 在算什么------下面用一个最小例子做完整的前向传播。
假设:输入序列 "我 喜欢 AI"(3 个 token),嵌入维度 d=4,简化到单头注意力。
输入嵌入 X(3×4 矩阵):
我: [0.2, 0.5, -0.1, 0.3]
喜欢: [0.1, 0.8, 0.2, -0.4]
AI: [-0.3, 0.1, 0.7, 0.5]
Q = X * W_Q, K = X * W_K, V = X * W_V
假设 W_Q = W_K = W_V = I(单位矩阵简化)
则 Q = K = V = X
Step 1: 计算 Q*K^T(注意力分数)
Q*K^T = X*X^T =
[[0.39, 0.37, -0.02],
[0.37, 0.85, 0.13],
[-0.02, 0.13, 0.84]]
计算细节(第一个元素):
0.2*0.2 + 0.5*0.5 + (-0.1)*(-0.1) + 0.3*0.3 = 0.04+0.25+0.01+0.09 = 0.39
Step 2: 缩放(/sqrt(d) = /2)
[[0.195, 0.185, -0.01],
[0.185, 0.425, 0.065],
[-0.01, 0.065, 0.42]]
Step 3: softmax(每行)
第一行:exp(0.195)=1.215, exp(0.185)=1.203, exp(-0.01)=0.990
总和=3.408
[0.357, 0.353, 0.291]
第二行:[0.299, 0.442, 0.259]
第三行:[0.287, 0.301, 0.412]
Step 4: softmax * V
输出第一行 = 0.357*[0.2,0.5,-0.1,0.3] + 0.353*[0.1,0.8,0.2,-0.4] + 0.291*[-0.3,0.1,0.7,0.5]
= [0.071+0.035-0.087, 0.179+0.282+0.029, -0.036+0.071+0.204, 0.107-0.141+0.146]
= [0.019, 0.490, 0.239, 0.112]
这个输出就是"我"这个 token 在考虑了整个句子上下文后的"新表示"。注意第三行的注意力权重 0.287, 0.301, 0.412------"AI"这个词最关注自己(0.412)------这是自注意力的自回归特性。
Multi-Head Attention 的本质:上面的计算做 8 次(用不同的 W_Q/W_K/W_V)------每个头学不同的"关注模式"(一个头学语法关系、一个头学语义关系、一个头学指代关系......)。8 个头的输出拼接后再投影回 d 维。
九、扩展:BERT 的 MLM 与 NSP------双向理解的训练密码
BERT 的预训练有两个任务:
1. 掩码语言模型(Masked LM, MLM):随机遮住 15% 的 token------让模型预测被遮住的词。
输入:"我 [MASK] 深度 [MASK] 很有趣"
目标:预测 [MASK] = "觉得", [MASK] = "学习"
为什么是 15%?
- 10%:遮住太少 → 训练信号弱
- 20%:遮住太多 → 上下文信息丢失严重
- 15%:经验最优(BERT 论文做了 ablation)
为什么不是 100%?
因为 BERT 的最终目标是"理解"------不是"生成"。
如果所有词都被遮住------模型学不到上下文关系。
2. 下一句预测(Next Sentence Prediction, NSP):给定两个句子 A 和 B------判断 B 是否是 A 的下一句。
正例:A="深度学习很有用" B="它可以用于图像识别" → IsNext
负例:A="深度学习很有用" B="苹果很好吃" → NotNext
NSP 让 BERT 学到"句子级关系"------对 QA、NLI 等任务至关重要。
手算:BERT 的训练成本
BERT-Base:110M 参数,训练 1M 步,batch=256,序列长度=512
每步计算量:
前向:约 2 * 110M * 512 = 1.13e11 FLOPs
反向:约 2x 前向 = 2.26e11 FLOPs
每步总计:约 3.4e11 FLOPs
总训练量:1M 步 * 3.4e11 = 3.4e17 FLOPs
用 64 块 TPU v2(每块约 180 GFLOPs):
总峰值算力 = 64 * 180 = 11,520 GFLOPs = 1.152e13 FLOPs/s
训练时间 = 3.4e17 / 1.152e13 ≈ 29,500 秒 ≈ 8.2 小时
实际时间:约 4 天(有效利用率约 8%------大量时间在数据加载和通信)
TPU 成本:64 * 4 天 * $2.4/TPU-hr ≈ $14,800
加上实验、调试、超参搜索------总成本约 $20-30K
BERT 的后续演进:
- RoBERTa(2019):去掉 NSP、更多数据、更大 batch------性能提升
- ALBERT(2019):参数共享+因子化嵌入------减少参数但保持性能
- SpanBERT(2020):遮连续片段而不是单个 token------更好的 span 理解
十、扩展:GPT-2 的零样本能力------"涌现"的前奏
GPT-2(2019, 1.5B 参数)最重要的发现不是参数更大------是零样本(zero-shot)能力。
GPT-1 做任务需要微调:在预训练好的模型上加一个任务特定的输出层------用任务数据训练这个层。
GPT-2 发现:如果你把任务描述写进 prompt------模型可以直接做任务------不需要任何微调。
GPT-1 的微调方式:
输入:"这部电影太精彩了"
加分类头 → 输出:positive
(需要数千条标注数据训练分类头)
GPT-2 的零样本方式:
输入:"这部电影太精彩了。这部电影的情感是:"
模型续写:"积极的"
(不需要任何标注数据------模型从预训练中就学到了"情感分析"这个概念)
GPT-2 的 8 个零样本任务结果:
| 任务 | GPT-2(1.5B,zero-shot) | 当时的 SOTA(有监督) | 差距 |
|---|---|---|---|
| LAMBADA(完形填空) | 63.2% | 59.2% | 超越 |
| Winograd Schema | 70.7% | 72.8% | -2.1% |
| CoQA(对话 QA) | 55.0% | 67.6% | -12.6% |
| SQuAD(抽取 QA) | 4.1% F1 | 93.2% | 极大差距 |
| RACE(阅读理解) | 62.9% | 72.5% | -9.6% |
关键发现 :GPT-2 在某些任务(LAMBADA)上超越了有监督 SOTA------但在大多数任务上仍有差距。这提示了一个重要规律:零样本能力随参数增长而涌现------但不是所有任务同时涌现。
十一、扩展:GPT-3 的 57 个任务------涌现能力的全景图
GPT-3 论文(Brown et al., 2020)测试了 57 个 NLP 任务------分成三类设置:
1. Few-shot(给几个例子):
翻译任务 prompt:
English: I love AI
French: J'adore l'IA
English: The cat sleeps
French: Le chat dort
English: Deep learning is powerful
French: ________________
GPT-3 根据前 2 个例子"学会"了翻译模式------第 3 个直接翻译。
2. One-shot(给一个例子)
3. Zero-shot(不给例子)
GPT-3 的关键结果:
| 任务类别 | Zero-shot | One-shot | Few-shot | 当时的 SOTA |
|---|---|---|---|---|
| 语言建模 | 新 SOTA | --- | --- | --- |
| 问答(TriviaQA) | 64.3% | 68.0% | 71.2% | 71.4% |
| 翻译(WMT'14 En→Fr) | 31.2 BLEU | 32.6 | 33.7 | 35.0 |
| 算术(2位数加减) | 100% | 100% | 100% | 100% |
| 算术(5位数加减) | 9.5% | 9.8% | 23.4% | --- |
| 词法类比 | 53.4% | 58.7% | 65.4% | 66.5% |
涌现能力的证据:
- 2 位数算术:所有模型(GPT-3 各尺寸)都 100%
- 5 位数算术:只有 175B 版本在 few-shot 下达到 23.4%------小模型接近 0%
这个"从小模型 0% 到大模型 23%"的跃迁------是"涌现"的经典定义:能力在超过某个阈值后突然显现。
十二、扩展:RLHF 的 PPO 算法------从人类偏好到模型对齐
InstructGPT 的 RLHF 三阶段:
Stage 1:监督微调(SFT)
- 收集约 13K 条人类写的"高质量对话"数据
- 用这些数据微调 GPT-3------得到一个"会聊天"的模型
Stage 2:奖励模型(RM)训练
- 对同一个 prompt,生成 4-9 个不同回答
- 人类标注员对这些回答排序(A > B > C > D)
- 训练一个奖励模型:输入 prompt + response → 输出"质量分数"
Stage 3:PPO 强化学习
- 用 SFT 模型生成回答
- 奖励模型给这个回答打分
- 用 PPO 算法更新 SFT 模型------最大化奖励分数
PPO 的核心思想:
标准策略梯度:直接最大化期望奖励
问题:梯度方差大------一次 bad rollout 可能让模型"走偏"
PPO 的改进:限制每次更新的幅度
r_t(θ) = π_θ(a_t|s_t) / π_θ_old(a_t|s_t) # 新策略/旧策略的概率比
目标函数:
L^{CLIP}(θ) = E_t [min(r_t(θ) * A_t, clip(r_t(θ), 1-ε, 1+ε) * A_t)]
其中 A_t 是优势函数(advantage)------估计这个动作比平均好多少。
如果 r_t(θ) > 1+ε(新策略概率大增)→ 被 clip 限制
如果 r_t(θ) < 1-ε(新策略概率大减)→ 也被 clip 限制
这样:策略每次更新不会"跳太远"------训练更稳定。
手算:PPO 的 clip 机制
假设:
旧策略概率 π_old = 0.3
新策略概率 π_θ = 0.5
优势 A = 2.0(这个动作很好)
ε = 0.2
概率比 r = 0.5 / 0.3 = 1.667
未裁剪的目标 = r * A = 1.667 * 2.0 = 3.333
裁剪上限 = (1+ε) * A = 1.2 * 2.0 = 2.4
因为 r > 1+ε → 使用裁剪后的值
L^{CLIP} = min(3.333, 2.4) = 2.4
如果没有 clip------模型会过度优化这个 action------导致策略崩溃。
有了 clip------更新被限制在合理范围内。
RLHF 的效果量化:
| 模型 | 参数 | 人类偏好胜率(vs GPT-3 175B) |
|---|---|---|
| GPT-3 175B | 175B | 50%(基准) |
| SFT(监督微调) | 175B | 60% |
| PPO(RLHF) | 1.3B | 66% |
1.3B 的 PPO 模型 > 175B 的 GPT-3------对齐技术的放大效应约 100 倍。
十三、扩展:ChatGPT 的产品设计------技术之外的决定性因素
ChatGPT(2022.11.30)的成功不只是 RLHF------产品设计的贡献至少同样大。
ChatGPT 的产品决策:
| 决策 | 设计 | 影响 |
|---|---|---|
| 对话式 UI | 像聊天一样交互------不是 API 调用 | 降低了 90% 的使用门槛 |
| 免费公测 | 任何人无需等待即可使用 | 首周 100 万用户 |
| 上下文记忆 | 记住对话历史------连续交互 | 让 AI 感觉"懂你" |
| 安全过滤 | 拒绝有害请求------但不拒绝大多数正常请求 | 平衡了安全性和实用性 |
| 流式输出 | 打字机效果------逐字显示 | 减少等待感------提升体验 |
ChatGPT 的用户增长:
2022.11.30 发布
2022.12.05 100 万用户(5 天)
2023.01 1 亿用户(2 个月)------史上增长最快的消费应用
2023.02 约 2 亿月活
2023.11 约 1.8 亿周活
对比:
- TikTok 达到 1 亿用户:9 个月
- Instagram:2.5 年
- Facebook:4.5 年
手算:ChatGPT 的运营成本
假设 2023 年初每天有 1000 万活跃用户,平均每人 10 轮对话:
日请求量 = 1000万 * 10 = 1 亿轮
每轮平均 500 tokens 输入 + 200 tokens 输出
总 tokens/天 = 1亿 * 700 = 70 亿 tokens
GPT-3.5 推理成本(2023 年初估):
约 $0.002 / 1K tokens
日成本 = 70亿 / 1000 * $0.002 = $140,000
年运营成本 ≈ $5,000 万(仅推理)
加上训练、研发、人员------OpenAI 2023 年总支出约 $10-15 亿
但 2023 年营收仅约 $20 亿(大部分来自 API 和企业)
ChatGPT 免费层本身是"亏损获客"------但带来了品牌效应和付费转化。
十四、扩展:从 GPT-3 到 ChatGPT 的 30 个月------产品化时间线
GPT-3 2020 年 6 月发布------ChatGPT 2022 年 11 月发布------中间 30 个月发生了什么?
2020.06 GPT-3 论文发布------175B,API 内测
2020.09 GPT-3 API 公测------开发者可以调用
2021.03 GPT-3 添加编辑/插入功能------更灵活的文本操作
2021.06 Codex 发布------GPT 专门用于代码生成
2021.08 GitHub Copilot 发布------Codex 的产品化
2022.01 InstructGPT 论文------RLHF 首次应用
2022.03 GPT-3.5 系列发布------text-davinci-003 等
2022.06 OpenAI 开始收集 ChatGPT 的对话数据
2022.09 内部 alpha 测试------对话式 UI 原型
2022.11 ChatGPT 发布------2 个月破 1 亿用户
关键产品决策:
| 时间 | 决策 | 原因 |
|---|---|---|
| 2022.01 | 引入 RLHF | GPT-3 "不听话"------需要指令跟随 |
| 2022.03 | 推出 GPT-3.5 | 在 RLHF 基础上迭代------更可靠 |
| 2022.06 | 聚焦对话 | 发现"对话"是最自然的 AI 交互形式 |
| 2022.09 | 免费公测 | 降低门槛------最大化用户反馈 |
手算:30 个月的研发投入
OpenAI 2020-2022 年支出估算:
2020:约 $300M(GPT-3 训练 + 团队)
2021:约 $400M(Codex + InstructGPT + 团队扩张)
2022:约 $500M(ChatGPT 开发 + 运营)
总计:约 $1.2B
其中直接用于 GPT-3→ChatGPT 的:
GPT-3 训练:$12M
RLHF 数据收集:约 $5M(人工标注)
InstructGPT 训练:约 $10M
ChatGPT 产品工程:约 $20M
总计核心技术成本:约 $50M
其余 $1.15B 用于:
- 人才(约 300 人 * $200K/年 * 2.5 年 = $150M)
- 算力(推理服务 + 实验):约 $400M
- 基础设施 + 管理 + 其他:约 $600M
$50M 的核心技术投资 → $80B 的公司估值(2023)
ROI:1,600 倍------这是科技史上最成功的技术投资之一。
十五、扩展:Transformer 的 Encoder-Only vs Decoder-Only 路径之争
2018 年的 BERT(Encoder-only)和 GPT(Decoder-only)之争------在 2023 年有了明确答案:Decoder-only 赢了。
为什么 Decoder-only 成为主流:
原因 1:训练效率
BERT 的 MLM:每步只预测 15% 的 token
有效训练信号 = 15% * seq_len
GPT 的自回归:每步预测 1 个 token------但所有位置都参与计算
有效训练信号 = 100% * seq_len(虽然每个 token 只预测一次)
BERT-Large(340M)的训练效率 ≈ GPT-Base(110M)
因为 BERT 的 15% 信号密度 vs GPT 的 100%
原因 2:Scaling 的友好性
Encoder-only 模型做生成任务需要额外的解码器------架构不统一
Decoder-only 模型做理解任务只需要加分类头------架构统一
统一架构 → 更容易 Scaling → 更容易做涌现研究
原因 3:对齐的便利性
RLHF 需要模型"生成"回答------然后人类评价
Encoder-only 模型不生成------无法直接用 RLHF
Decoder-only 模型天然生成------RLHF 直接可用
BERT 的遗产:虽然 Decoder-only 赢了------但 BERT 的双向理解能力没有被抛弃。2023 年后的 "encoder-decoder" 架构(如 T5、UL2)和 "双向注意力" 变体(如 GLM)都在试图结合两者的优点。
十六、扩展:大模型的"幻觉"问题------从 GPT-3 到 2026 的演进
幻觉(Hallucination):模型生成听起来合理但不符合事实的内容。
GPT-3 时代的幻觉率:
GPT-3 在开放域 QA 上的幻觉率:约 20-30%
原因:
1. 训练数据中有错误信息
2. 模型被训练为"生成流畅文本"------不是"生成正确信息"
3. 没有事实核查机制
缓解策略的演进:
| 年份 | 方法 | 效果 |
|---|---|---|
| 2020 | 更大模型 | 轻微改善------但不是根因 |
| 2021 | 检索增强(RAG) | 把外部知识引入------显著降低幻觉 |
| 2022 | RLHF | 人类偏好训练------减少"明显错误" |
| 2023 | 思维链(CoT) | 让模型"一步步想"------自我纠错 |
| 2024 | 工具使用 | 模型调用搜索引擎/计算器------外部验证 |
| 2025 | 推理模型(o1/R1) | 花更多时间"思考"------减少冲动错误 |
手算:不同方法的幻觉率对比
任务:100 个事实性问题(科学/历史/地理)
GPT-3(2020):
直接回答:72/100 正确 → 28% 幻觉
GPT-3 + RAG(2021):
检索相关文档后回答:88/100 正确 → 12% 幻觉
GPT-4(2023):
直接回答:85/100 正确 → 15% 幻觉
(比 GPT-3 好但不如 RAG------因为 GPT-4 没有内置检索)
GPT-4 + RAG(2024):
检索后回答:94/100 正确 → 6% 幻觉
o1(2024):
思维链推理:91/100 正确 → 9% 幻觉
(推理减少了"冲动错误"------但不能替代事实核查)
结论:没有任何单一方法能完全消除幻觉------
"RAG + 推理 + 人类审核"的组合是 2026 年的最佳实践。
十七、扩展:大模型的"上下文窗口"军备竞赛
上下文窗口(context window)------模型一次能处理的 token 数量------是 2023-2026 年的关键竞争维度。
上下文窗口时间线:
2017 Transformer 原始论文:512 tokens
2018 BERT:512 tokens
2019 GPT-2:1024 tokens
2020 GPT-3:2048 tokens
2022 GPT-3.5:4096 tokens
2023 GPT-4:8K / 32K
2023 Claude:100K tokens(约 75,000 字)
2024 Gemini 1.5 Pro:1M tokens(约 750,000 字)
2024 GPT-4o:128K tokens
2025 Claude 3:200K tokens
长上下文的挑战:
Transformer 的计算复杂度 = O(L² * d)
L = 序列长度, d = 模型维度
从 2K 扩展到 128K:
计算量增长 = (128K/2K)² = 64² = 4,096 倍
如果 naive 实现:128K 的推理速度 ≈ 2K 的 1/4000------不可用
解决方案:
1. Sparse Attention(Longformer, BigBird):只关注部分位置
2. FlashAttention:IO-aware 的注意力计算------减少内存访问
3. Ring Attention:把长序列分到多个 GPU 上并行
4. 线性注意力(Mamba, RWKV):把 O(L²) 降到 O(L)
手算:FlashAttention 的加速效果
标准 Attention 在 A100(80GB)上的限制:
存储 Q/K/V:3 * L * d * 4 bytes
L=32K, d=1280:3 * 32768 * 1280 * 4 ≈ 504 MB(仅注意力矩阵)
中间激活(softmax 前后的矩阵):L * L * 4 ≈ 4.3 GB
总计:约 5 GB------可以放下
L=128K:中间激活 = 128K * 128K * 4 = 64 GB------超出显存!
FlashAttention 的解决:
不存储完整的 L×L 注意力矩阵
分块计算------每次只处理一个块
内存从 O(L²) 降到 O(L)
效果:
L=32K:标准 10s → FlashAttention 2s(5× 加速)
L=128K:标准无法运行 → FlashAttention 15s(可用)
十八、扩展:指令微调(Instruction Tuning)------从 GPT-3 到 ChatGPT 的关键桥梁
InstructGPT 的 RLHF 之前------还有一个关键步骤:指令微调(SFT, Supervised Fine-Tuning)。
指令微调的本质:
预训练模型学会了"续写文本"------但没学会"遵循指令"。
预训练数据:
"巴黎是法国的首都。法国位于欧洲..."
→ 模型学会:看到"巴黎是" → 续写"法国的首都"
指令数据:
指令:"请用法语翻译:巴黎是法国的首都"
回答:"Paris est la capitale de la France"
→ 模型学会:看到"请翻译" → 执行翻译
指令微调的数据来源:
1. 人工编写(质量高------但成本高)
2. 从现有 NLP 数据集转换(FLAN 方法)
3. 用 GPT-4 生成(Self-Instruct, Alpaca)
FLAN(Google, 2021)------指令模板的系统化:
把 62 个 NLP 数据集转换成"指令-回答"格式:
原始 SST-2(情感分类):
输入:"这部电影太精彩了"
标签:positive
FLAN 转换:
指令:"判断以下句子的情感(积极/消极):"
输入:"这部电影太精彩了"
回答:"积极"
通过这种方式------一个模型可以学会做 62 种不同任务------
只需要"遵循指令"这一个能力。
手算:指令微调的数据效率
GPT-3 预训练:
数据量:300B tokens
成本:$12M
能力:语言建模、少量涌现能力
InstructGPT 的 SFT:
数据量:约 13K 条指令(约 50M tokens)
成本:约 $50K(人工编写)
能力:指令遵循、对话、多任务
SFT 用了预训练数据的 0.017%------
但获得了"从语言模型到助手"的质变。
这证明了:"能力"不来自"数据量"------来自"数据质量"和"数据格式"。
十九、扩展:大模型的"涌现"现象------统计 artifact 还是真实能力?
涌现(Emergence)的定义:模型在超过某个参数/计算阈值后------突然展现出小模型没有的能力。
经典涌现能力:
GPT-3 的 in-context learning:
13B 参数:几乎没有
175B 参数:突然可以"看两个例子就学会翻译"
Chain-of-Thought 推理:
小模型(<10B):CoT 没有帮助
大模型(>50B):CoT 显著提升数学能力
多步推理:
小模型:只能做一步推理
大模型:可以做 3-5 步推理
涌现的争议------是"真实涌现"还是"评估指标的 artifact"?
Schaeffer et al. (2023) 的论文提出:
"涌现"可能是因为我们用了"非线性评估指标"(如准确率)。
如果用线性指标(如 token 级别的交叉熵):
能力随参数增长是平滑的------没有"涌现"
如果用非线性指标(如"完全正确"的准确率):
能力在某个阈值后"突然"从 0% 跳到 100%------看起来是"涌现"
类比:
温度从 -10°C 升到 10°C
线性指标(平均动能):平滑变化
非线性指标("是否是液态水"):在 0°C "突然"变化
手算:涌现的"阈值效应"
假设一个任务需要模型"记住"10 个事实才能做对:
小模型(容量=5 个事实):
准确率 = 0%(永远记不住全部 10 个)
中等模型(容量=8 个事实):
准确率 = 0%(仍然不够)
大模型(容量=12 个事实):
准确率 = 80%(能记住 10 个------偶尔错 2 个)
超大模型(容量=20 个事实):
准确率 = 99%(轻松记住 10 个)
在"准确率"这个指标上:
从 8→12 容量:准确率 0% → 80%------看起来是"涌现"
在"记住的事实数量"这个指标上:
从 8→12 容量:8 → 10------平滑增长
所以"涌现"取决于"用什么指标测量"。
实践意义:无论涌现是"真实"还是"artifact"------它都指导了工程决策:"要达到某个能力------模型必须大于某个阈值"。这个规律在 2020-2025 年间被反复验证。
二十、扩展:大模型时代的"数据瓶颈"------Scaling Laws 的下一个限制
Kaplan et al. (2020) 的 Scaling Laws 预测:模型性能随参数、数据、算力幂律增长。但 2024 年后------数据成了瓶颈。
高质量文本数据的总量:
估计全球可用的高质量文本:
互联网公开文本:约 10T tokens
书籍/论文/代码:约 5T tokens
总可用:约 15T tokens
GPT-4 的训练数据:约 13T tokens
DeepSeek-V3:约 15T tokens
结论:我们接近"用尽了所有公开文本数据"。
解决方案:
| 方案 | 原理 | 效果 |
|---|---|---|
| 合成数据 | 用 GPT-4 生成训练数据 | 可扩展------但质量有上限 |
| 多模态数据 | 图像/视频/音频 → 文本 | 视频数据量 >> 文本 |
| 重复训练 | 同一数据训练多轮 | 收益递减------2-4 轮后饱和 |
| 提升数据质量 | 更好的过滤、去重、配比 | 10-30% 效率提升 |
手算:合成数据的"质量天花板"
假设:
真实人类写的文本:平均"信息密度" = 1.0
GPT-4 生成的文本:平均"信息密度" = 0.7(更流畅但更少新信息)
如果用 100% 合成数据训练新模型:
有效信息 = 0.7 * 总数据量
模型学到的是"GPT-4 的风格"------不是"人类的多样性"
→ 模型能力上限 = GPT-4 的 70-80%
最佳配比(经验):
真实数据:70-80%
合成数据:20-30%
这样可以在"扩展数据量"和"保持质量"之间平衡。
2026 年的共识:单纯的"更大模型 + 更多数据"路线将在 2027-2028 年遇到数据瓶颈。下一个突破需要:
- 推理时计算(Test-time compute)------o1/R1 的方向
- 多模态数据------视频、3D、物理模拟
- 算法效率------同样数据学更多
二十一、扩展:Tokenization------大模型"理解"语言的第一步
在 Transformer 处理文本之前------需要把文本拆成 token。这个看似简单的步骤------深刻影响模型能力。
三种 Tokenization 策略:
| 方法 | 原理 | 例子 | 优缺点 |
|---|---|---|---|
| 字符级 | 每个字符是一个 token | "AI" → A, I | 词汇表小------但序列太长 |
| 词级 | 每个词是一个 token | "Artificial Intelligence" → Artificial, Intelligence | 直观------但词汇表爆炸 |
| 子词级(BPE) | 合并高频字符对 | "playing" → play, ing | 平衡------现代标准 |
BPE(Byte Pair Encoding)算法:
初始:词汇表 = 所有单个字符
迭代:
1. 统计所有相邻字符对的出现频率
2. 合并频率最高的字符对------加入词汇表
3. 重复直到词汇表达到目标大小(通常 32K-100K)
例子:
训练语料中 "playing" 出现 1000 次,"ing" 出现 5000 次
→ "ing" 会被合并为一个 token
"playing" → ["play", "ing"](2 tokens)
"play" → ["play"](1 token)
手算:GPT-4 的 token 经济
GPT-4 的 token 定价(2024):
Input:$2.50 / 1M tokens
Output:$10 / 1M tokens
中文字符的 token 化:
英文:1 个词 ≈ 1.3 tokens(如 "hello" = 1 token)
中文:1 个汉字 ≈ 1.5 tokens(如 "你好" ≈ 2-3 tokens)
同样内容的成本:
英文 1000 词 ≈ 1,300 tokens → $0.00325
中文 1000 字 ≈ 1,500 tokens → $0.00375
中文使用成本比英文高约 15%------
因为中文的 tokenization 效率较低。
Tokenization 的深层影响:
1. 数字计算:
"1234" → ["12", "34"] 或 ["1", "2", "3", "4"]
不同的切分 → 模型对数字的"理解"不同
→ 解释了为什么 LLM 做算术容易出错
2. 代码:
Python 代码 "def function():" → ["def", " function", "():"]
如果 "():" 被拆成 "(", ")", ":"------模型更难理解语法结构
3. 多语言:
英语 token 效率高 → 同样上下文窗口能容纳更多英文内容
中文 token 效率低 → 同样窗口容纳更少中文内容
→ 多语言模型的"有效上下文"是不平等的
二十二、扩展:大模型的"上下文学习"(In-context Learning)机制------为什么给例子就能学会
In-context learning 是 GPT-3 最神秘的能力------给几个例子------模型就能做新任务------不需要任何参数更新。
三种解释假说:
假说 1:隐式梯度下降
Transformer 的前向传播 = 在上下文上做"一步梯度下降"
注意力机制:
看到例子(x₁, y₁)→ 在 key-value 存储中"记住"这个映射
看到新输入 x → 检索最相似的例子 → 模仿其输出
这类似于:
模型参数没有被更新------但注意力权重在"动态地"适应上下文
假说 2:任务识别
预训练时模型见过无数任务
In-context learning = "识别"当前 prompt 属于哪个已知任务
例子:
"翻译:hello → 你好;world → 世界;AI → __"
模型识别出这是"翻译任务"→ 调用预训练时学到的翻译能力
假说 3:元学习(Meta-learning)
预训练 = 学习"如何学习"
In-context learning = "应用"这个学习能力
类比:
一个学生学了很多科目------但没有专门学过"法语"
给他几个法语单词的例子------他能猜出规律------因为"学习能力"已经内化
手算:In-context learning 的"样本效率"
任务:情感分析
Zero-shot(0 个例子):
准确率:约 60%(随机猜测 = 50%)
1-shot(1 个例子):
准确率:约 72%
→ 提升 12%
5-shot(5 个例子):
准确率:约 82%
→ 再提升 10%
10-shot(10 个例子):
准确率:约 85%
→ 边际提升仅 3%
规律:
前 5 个例子带来最大提升
5-10 个例子边际收益递减
>10 个例子几乎不再提升(对大多数任务)
这提示:In-context learning 的"学习能力"有上限------
复杂任务仍然需要微调或更大的模型。
二十三、扩展:大模型的"能力边界"------2026 年已知的天花板
到 2026 年------大模型的能力边界已经比较清晰:
已解决的任务(>95% 准确率):
- 简单问答(事实检索)
- 语法纠错
- 短文本摘要
- 基础翻译(常见语言对)
- 简单代码生成(单函数)
基本解决的任务(80-95% 准确率):
- 中等复杂度 QA
- 多文档摘要
- 代码调试(简单 bug)
- 基础数学(GSM8K 级别)
- 创意写作(短文本)
部分解决的任务(50-80% 准确率):
- 复杂推理(多步逻辑)
- 长文档理解(>100K tokens)
- 代码架构设计
- 竞赛级数学(MATH 级别)
- 事实一致性(避免幻觉)
未解决的任务(<50% 准确率):
- 因果关系发现(Judea Pearl 级别)
- 自主科学发现(提出新假设)
- 长期规划(>100 步)
- 物理常识(直觉物理)
- 真正的"理解"(vs 模式匹配)
手算:能力边界与商业价值的映射
已解决 + 基本解决的任务:
市场价值:约 $500B/年(客服、内容生成、代码辅助、搜索)
自动化率:约 30-50%(辅助人类------不是替代)
部分解决的任务:
市场价值:约 $1T/年(研发、金融分析、法律咨询、医疗诊断)
自动化率:约 5-15%(人类主导------AI 辅助)
未解决的任务:
市场价值:约 $2T+/年(科学研究、战略决策、创新设计)
自动化率:< 1%(几乎无自动化)
当前(2026)大模型已经"触及"了约 $500B 的市场------
还有约 $3T 的市场因为能力边界而尚未被触及。
这就是"AI 还有很大增长空间"的量化依据。
二十四、扩展:大模型时代的"工程化"------从研究到生产的鸿沟
GPT-3 论文发表于 2020 年------但 ChatGPT 直到 2022 年底才发布。这 30 个月的延迟------不是模型训练时间------是工程化时间。
从"能运行"到"能服务 1 亿用户"的鸿沟:
| 维度 | 研究原型 | 生产系统 |
|---|---|---|
| 延迟 | 10-30s/请求 | <1s/请求 |
| 可用性 | 99% | 99.99% |
| 并发 | 单用户 | 100万+ 并发 |
| 安全 | 基本过滤 | 多层安全+审计 |
| 成本 | 不计成本 | 每请求 $0.001 |
| 监控 | 手动检查 | 实时指标+告警 |
关键工程挑战:
1. 推理优化:
- KV Cache:缓存已计算的 key/value------避免重复计算
- Continuous Batching:动态 batching------提高 GPU 利用率
- Speculative Decoding:用小模型预测下一个 token------大模型验证
- 效果:推理速度提升 5-20 倍
2. 模型服务:
- Tensor Parallelism:把模型层分到多个 GPU
- Pipeline Parallelism:把层序列分到多个 GPU
- 效果:单卡放不下的大模型可以分布式服务
3. 负载均衡:
- 根据请求长度动态路由到不同实例
- 长请求和短请求分开处理------避免 head-of-line blocking
手算:推理优化的"杠杆效应"
未优化的 GPT-3 服务:
延迟:约 5s/请求
吞吐量:约 10 请求/GPU/秒
成本:约 $0.05/请求
优化后(vLLM + Tensor Parallel):
延迟:约 0.5s/请求
吞吐量:约 100 请求/GPU/秒
成本:约 $0.005/请求
优化带来的改进:
延迟:10 倍
吞吐量:10 倍
成本:10 倍
这就是为什么"工程化"和"算法"同样重要------
同样的模型------优化前后------商业可行性完全不同。
下篇预告 :在 OpenAI 闭源开发的同时------另一条路线正在 Meta、Mistral、阿里和深度求索的实验室里崛起。开源大模型生态 ------从 2023 年 LLaMA 的"意外泄露"到 2025 年 DeepSeek-R1------不到三年走完 GPT 系列五年的路。下一节 1.9 开源大模型生态崛起------一个"打不过就开源"的故事。