Appearance
GPT架构
GPT(Generative Pre-Trained Transformer)= 只取 Transformer 的解码器,用「预测下一个词」做自监督预训练。它是 Decoder-only 范式的代表,也是 ChatGPT、LLaMA 等一切对话大模型的原型。本教程的 NanoGPT 实战,就是亲手实现这个架构。
1. 整体形态
输入: 我 喜欢 深度 学习
│ (token 嵌入 + 可学习位置嵌入)
▼
┌──────────────────────────┐
│ Transformer Decoder 层 │ × 12(GPT-2 small) ...
│ 因果自注意力(只看左边) + FFN │ d_model=768, h=12
└───────────┬──────────────┘
▼
每个位置的向量 → Linear → Softmax → "下一个词"的概率
│
在"学习"这个位置, 预测它的下一个词(如"很")GPT-2 small 配置:12 层、768 维、12 头、上下文 1024、约 124M 参数。
2. 只有一个子层家族:因果自注意力 + FFN
对比 BERT,GPT 的层更「纯粹」:
GPT 每层 = 因果多头自注意力 → Add&Norm → FFN → Add&Norm
(没有交叉注意力, 因为没有"源句"要看; 也没有双向, 只能看左边)- 因果掩码是灵魂:位置 t 只能 attend 到 ≤ t 的词,保证「预测下一个」是诚实的。
- 训练时整句并行算损失,推理时逐个自回归生成。
3. 预训练目标:Next Token Prediction
最简单也最强——给定前文,预测下一个 token:
输入: 我 喜欢 深度
目标: 喜欢 深度 学习 ← 整体右移一位
损失 = 交叉熵( 模型在每个位置预测的下一词分布 , 真实下一词 )[ \mathcal{L} = -\sum_{t} \log P(x_t \mid x_{<t}) ]
没有
[MASK]、没有[CLS]、没有标注——自监督:文本本身就是自己的标签。这正是「只要有海量文本就能无限预训练」的原因,也是 Scaling Law 能奏效的前提。
4. 从「续写」到「对话」:一个提示词搞定一切
预训练好的 GPT 只会「续写」。但只要把指令拼进上下文,它就能被 prompting 触发各种能力:
输入 prompt : "翻译以下句子到中文: I love you\n输出:"
GPT 续写 : "我爱你" ← 同一个"预测下一词"机制, 却完成了翻译任务这就是 In-Context Learning:不用改权重,靠 prompt 让模型「进入」某个任务模式。ChatGPT 则在此基础上用 SFT + RLHF 微调,让续写更贴合人类指令。
5. 生成策略:怎么把「概率」变成「一句人话」
模型每步给的是整个词表的概率分布,如何挑词决定了生成质量:
模型输出下一词概率分布
│
┌─────────────┼──────────────┬───────────────┐
greedy beam search temperature top-k / top-p(核采样)
取概率最大 保留n条最佳路径 软化/锐化分布 只在概率最高的候选里采样
易重复呆板 翻译常用 越高越有创意 大模型生成默认玩法- temperature:对 logits 除以 T 再 softmax。T>1 更随机,T<1 更保守。
- top-p(nucleus):只在累计概率达到 p 的最小候选集里采样,兼顾多样与合理。
这些会在 评估与文本生成 里动手实践。
6. KV Cache:自回归加速的关键
生成第 t 个词时, 前面 t-1 个词的 K/V 其实没变 → 缓存起来复用
无 cache: 每步重算整段 → O(t²) 累积浪费
有 cache: 只算新词的 q,k,v → 每步 O(t), 大幅提速(显存换时间)理解 KV Cache 也能明白为什么长上下文又慢又吃显存——缓存随长度线性增长,且注意力仍 O(n²)。
7. GPT 家族演进
GPT-1(2018) → GPT-2(2019) → GPT-3(2020,175B) → InstructGPT → ChatGPT/GPT-4
预训练+微调 零样本萌芽 Scaling+ICL涌现 RLHF对齐 多模态/更强推理
LLaMA / Qwen / DeepSeek 等开源模型沿用了 Decoder-only 主干,
并升级: RoPE、GQA、RMSNorm、SwiGLU、更大词表与上下文现代开源大模型相对 GPT-2 的工程改良(RoPE/GQA/SwiGLU 等)在 进阶主题 展开。
小结
- GPT = Transformer Decoder + 预测下一词 的自监督预训练。
- 因果掩码保证不偷看未来,是其能自回归生成的核心。
- 靠 prompting / In-Context Learning 一个模型通吃多任务。
- 生成策略(temperature、top-p)与 KV Cache 是从架构到应用的两块关键拼图。
下一步
把三种范式放到一张桌上正面对比 → 三大架构对比,随后进入动手环节。