
摘要
- 核心问题:第9~19篇我们拆解了从 GPT 架构到 Mamba 的 11 个核心技术主题,但知识点散落在各篇,如何把它们串成一张可检索的"技术原理篇知识地图"?
- 主要贡献:① 用一条时间线 + 一张知识图谱梳理 11 讲的主干;② 提炼每篇的核心公式/架构/代码范式 形成速查表;③ 给出"注意力变体、对齐方法、训练并行、长上下文"四大选型决策矩阵;④ 针对算法、应用、产品三类读者给出差异化复习路径。
- 阅读收获:① 一眼看清技术原理篇的全局结构;② 掌握 11 讲中最该记住的 15 个公式与 8 张架构图;③ 知道"什么场景选什么技术";④ 带着体系化认知进入第三阶段"应用实战篇"。
一、第二阶段回顾:我们学了什么?
从 6月22日 到 7月30日(实际发布节奏因补稿略有顺延),技术原理篇的 11 篇文章把"一个大模型是怎样炼成、怎样跑起来、又怎样被对齐与评估"这件事讲透了。
技术原理篇学习地图(时间线)
6月22日 第09篇 ██ GPT系列架构演进:从Transformer到GPT-4
6月25日 第10篇 ██ LLaMA架构解析:开源大模型的技术典范
6月29日 第11篇 ██ 混合专家模型(MoE):用更少参数实现更强性能
7月02日 第12篇 ██ 长上下文技术全景:突破窗口限制的方法论
7月06日 第13篇 ██ RLHF与DPO:大模型对齐技术的两条路径
7月09日 第14篇 ██ KV Cache与推理优化:让模型生成更快
7月13日 第15篇 ██ 混合精度与分布式训练:训练大模型的工程奥秘
7月16日 第16篇 ██ 归一化与激活函数:LLM中的关键设计选择
7月20日 第17篇 ██ 模型幻觉与评估:如何衡量和改进LLM质量
7月23日 第18篇 ██ 多模态大模型:当语言模型学会"看"和"听"
7月27日 第19篇 ██ 状态空间模型与Mamba:Transformer的挑战者
8月01日 第20篇 ██ 阶段总结:技术原理篇核心知识回顾 ← 本文
| 篇号 | 标题 | 核心贡献 | 关键概念 |
|---|---|---|---|
| 9 | GPT系列架构演进 | 确立 Decoder-Only 范式 | 因果语言模型、上下文学习、能力跃迁 |
| 10 | LLaMA架构解析 | 开源模型设计范本 | RMSNorm、RoPE、SwiGLU、GQA |
| 11 | 混合专家模型 MoE | 用稀疏激活换参数效率 | Top-k 路由、专家容量、DeepSeek-V3 |
| 12 | 长上下文技术 | 突破固定窗口限制 | 位置插值(PI/NTK)、稀疏注意力、FlashAttention、StreamingLLM |
| 13 | RLHF 与 DPO | 让模型"对齐人类偏好" | PPO、奖励模型、DPO 直接偏好优化 |
| 14 | KV Cache 与推理优化 | 让自回归生成更快 | KV Cache、PagedAttention、投机解码 |
| 15 | 混合精度与分布式训练 | 把大模型"塞进"集群 | FP16/BF16、激活重计算、TP/PP/DP、ZeRO |
| 16 | 归一化与激活函数 | 稳定的训练动力学 | LayerNorm/RMSNorm、ReLU/GELU/SwiGLU |
| 17 | 模型幻觉与评估 | 量化模型能力与风险 | 幻觉成因、MMLU/HELLASwag、评估范式 |
| 18 | 多模态大模型 | 让 LLM 看图和听声 | CLIP、Flamingo、视觉编码器、对齐模块 |
| 19 | 状态空间模型与 Mamba | Transformer 的 O(n) 挑战者 | SSM、HiPPO、选择性状态、硬件感知扫描 |
二、技术原理篇五大主题知识图谱
把 11 讲按"研究对象"归拢,其实只落在 5 个主题上。下面的知识地图(配套配图 diagram_43)展示了主题间的依赖关系。
┌─────────────────────────────────────────┐
│ 技术原理篇 · 五大主题知识图谱 │
└─────────────────────────────────────────┘
│
┌──────────┬──────────┬───────────┼───────────┬──────────┐
▼ ▼ ▼ ▼ ▼ │
┌──────────┐┌──────────┐┌──────────┐┌──────────┐┌──────────┐ │
│ ① 架构 ││ ② 训练 ││ ③ 推理 ││ ④ 对齐 ││ ⑤ 模态 │ │
│ 基座 ││ 工程 ││ 优化 ││ 与评估 ││ 与前沿 │ │
└────┬─────┘└────┬─────┘└────┬─────┘└────┬─────┘└────┬─────┘ │
│ │ │ │ │ │
9 GPT 15 分布式 14 KV Cache 13 RLHF/DPO 18 多模态 │
10 LLaMA 16 归一化 12 长上下文 17 评估 19 Mamba(替代) │
11 MoE 激活函数 │ │
│ │ │ │ │ │
└───────────┴─────┬─────┴───────────┴───────────┘ │
▼ │
┌──────────────────┐ │
│ 一条主线贯穿: │ │
│ 架构→训练→推理→对齐│ │
│ →(多模态/新架构) │ │
└──────────────────┘ │
主题间的因果链(理解这条链,就读懂了原理篇的"序"):
- 架构决定上限(9/10/11/19):Decoder-Only + RMSNorm + RoPE + SwiGLU + GQA 是当前主流;MoE 用稀疏激活降本,Mamba 用 SSM 把复杂度降到 O(n)。
- 训练决定能否落地(15/16):再好的架构也要靠混合精度 + 三维并行 + 归一化/激活函数才能稳定训出来。
- 推理决定能不能用(14/12):KV Cache 与长上下文技术决定部署成本与体验上限。
- 对齐与评估决定好不好用(13/17):RLHF/DPO 让输出符合人类偏好,评估体系量化"能力"与"幻觉"。
- 模态与前沿拓展边界(18/19):多模态把视觉/语音接进 LLM;SSM 等替代架构探索 Transformer 之外的可能。
三、核心公式速查表
下面 15 个公式是原理篇最该记住的"硬通货"。建议存图或截图随用随查。
3.1 架构与表示
text
【GPT 因果语言模型目标】 (第9篇)
L = - Σ_t log P(x_t | x_<t; θ)
【RMSNorm】 (第10篇)
x̃ = x / RMS(x) · γ, RMS(x) = √(1/d · Σ_i x_i²)
(相比 LayerNorm 去掉了均值中心化,更稳定、更省算力)
【RoPE 旋转位置编码】 (第10篇)
对 q,k 按维度两两旋转角度 m·θ_i:
q'_i = q_i·cos(mθ_i) - q_{i+1}·sin(mθ_i)
(位置信息进入"点积"本身,天然支持长度外推)
【SwiGLU 激活】 (第10/16篇)
SwiGLU(x) = Swish(W_1 x) ⊙ (W_2 x), Swish(z)=z·σ(z)
3.2 稀疏与高效
text
【MoE 前向】 (第11篇)
y = Σ_{i∈TopK(g(x))} g_i(x) · E_i(x)
g_i(x) = Softmax(W_gate · x)_i (门控,只激活 Top-k 个专家)
【KV Cache 显存】 (第14篇)
M ≈ 2 · n · L · h · d · bytes
(n=层数, L=序列长, h=层数头数, d=头维;长序列的主要开销来源)
【FlashAttention 思想】 (第12/14篇)
不materialize N×N注意力矩阵,
在 SRAM 分块计算并直接写出 O(N) 结果 → 省显存、提速
3.3 对齐与训练
text
【DPO 损失】 (第13篇)
L_DPO = -E[ log σ( β · ( log(π_θ(y_w)/π_ref(y_w))
- log(π_θ(y_l)/π_ref(y_l)) ) ) ]
(无需显式奖励模型,直接在偏好对上优化)
【BF16 指数偏移】 (第15篇)
BF16 = 1符号 + 8指数 + 7尾数 (与 FP32 同指数位宽 → 动态范围一致,训练更稳)
【三维并行】 (第15篇)
DP:数据切分,各卡独立前向,梯度 AllReduce
TP:层内切分(矩阵乘沿行/列),需高速互联
PP:模型按层切到不同卡,微批次流水线
3.4 序列模型与状态
text
【连续 SSM】 (第19篇)
h'(t) = A h(t) + B x(t)
y(t) = C h(t) + D x(t)
【零阶保持(ZOH)离散化】 (第19篇)
Ā = exp(ΔA), B̄ = ΔA⁻¹(exp(ΔA)-I)·ΔB
→ 离散递推 h_k = Ā h_{k-1} + B̄ x_k,推理 O(n)、状态维度固定
把这 15 个公式和
diagram_42(序列模型全景)对照看,会发现:Transformer 用一张 N×N 注意力矩阵"显式存历史",SSM 用固定维度状态"压缩历史"------这是第19篇想说清的底层分野。
四、关键架构与代码范式
原理篇反复出现 4 类"标准零件",记住它们就能读懂 90% 的模型卡(model card)。
4.1 现代 Decoder-Only 主干(第9/10篇)
python
# 一个"标准"开源 LLM 的单层(伪代码)
class Block(nn.Module):
def forward(self, x):
x = x + SelfAttention(RMSNorm(x), # 前置 RMSNorm(Pre-LN 风格)
use_rope=True, # RoPE 注入位置
n_kv_heads=gqa_k) # GQA:KV 头少于 Q 头
x = x + SwiGLU(Linear(RMSNorm(x))) # SwiGLU 前馈
return x
# 关键点:Pre-Norm + RMSNorm + RoPE + GQA + SwiGLU ≈ 当代 LLM 的最大公约数
4.2 MoE 层(第11篇)
python
# Top-k 路由:同一份输入只激活少数专家
def moe(x, experts, gate, k=2):
logits = gate(x) # (batch, n_experts)
topk = logits.topk(k).indices # 只取前 k 个专家
out = 0
for i in topk:
out = out + softmax(logits[topk])[i] * experts[i](x)
return out
4.3 多模态对齐(第18篇)
text
文本 LLM + [视觉编码器(如 ViT)] ──→ [投影/对齐模块] ──→ 注入 LLM 的 embedding 空间
(如 Q-Former / MLP)
典型范式:
• Encoder-Decoder 桥接(Flamingo / BLIP-2):可学习 query 抽取视觉特征
• 直接投影(LLaVA):视觉 token 经 MLP 对齐后拼到文本 token 序列
4.4 选择性 SSM 一步(第19篇)
python
def selective_ssm_step(x_k, h_prev, A, dt_proj, B_proj, C_proj, D):
dt = dt_proj(x_k); Bk = B_proj(x_k); Ck = C_proj(x_k) # 参数随输入变(选择性)
dA = torch.exp(dt[:, None] * A); dB = dt[:, None] * Bk[None, :]
h_new = dA * h_prev + dB * x_k[:, None] # 固定维度状态 O(1) 显存
return (h_new * Ck[None, :]).sum(-1) + D * x_k, h_new
五、四大选型决策矩阵
"什么场景选什么技术"是原理篇的高频追问,总结成 4 张表。
5.1 注意力变体怎么选(第10/14篇)
| 方案 | 显存 | 质量 | 适用 |
|---|---|---|---|
| MHA(多头) | 高 | 基准 | 小模型/追求上限 |
| MQA(多查询) | 最低 | 略降 | 推理极致省 KV |
| GQA(分组查询) | 中 | 接近 MHA | 当前主流默认 |
5.2 对齐方法怎么选(第13篇)
| 维度 | RLHF(PPO) | DPO |
|---|---|---|
| 是否需要奖励模型 | 是 | 否 |
| 训练稳定性 | 较难(多模型、超参敏感) | 较易(单阶段) |
| 数据要求 | 偏好分数/奖励 | 偏好对(chosen/rejected) |
| 适合阶段 | 需要复杂奖励信号时 | 大多数团队的首选起点 |
5.3 训练并行怎么选(第15篇)
| 瓶颈 | 首选策略 | 说明 |
|---|---|---|
| 单卡放不下模型 | TP + PP | 模型切分 |
| 想提吞吐/扩 batch | DP(含 ZeRO) | 数据切分 + 显存分片 |
| 显存仍不足 | + 激活重计算 | 用算力换显存 |
| 超长序列 | 序列并行/FlashAttention | 切分序列维 |
5.4 长上下文怎么做(第12篇)
| 目标 | 方法 | 代价 |
|---|---|---|
| 推理长度略超训练 | 位置插值 PI / NTK-aware | 改动小、立竿见影 |
| 训练/推理都长 | 稀疏/线性注意力 | 需改架构 |
| 超长对话不遗忘 | StreamingLLM(注意力汇聚) | 需保留 sink token |
| 训练提速且长 | FlashAttention | 实现依赖高效算子 |
六、针对三类读者的复习路径
不同目标,复习重点不同(配合 diagram_43 主题分组食用更佳)。
A. 算法 / 研究向(想改模型、发论文)
- 必精:第10篇(LLaMA 细节)、第11篇(MoE 路由)、第15篇(并行)、第19篇(SSM 数学)。
- 动作:把第三节 15 个公式推导一遍;复现第19篇选择性 SSM 伪代码。
B. 应用开发向(想用好、接好模型)
- 必精:第13篇(对齐/DPO 含义,影响提示与微调)、第14篇(KV Cache 与推理成本)、第17篇(幻觉与评估,影响产品可信度)、第18篇(多模态接口)。
- 动作:用第14篇的显存公式估算自己业务的 KV Cache 成本;用第17篇的评估维度设计回归测试。
C. 产品 / 管理向(做选型与路线图)
- 必读:第9篇(架构演进判断趋势)、第11篇(MoE→低成本高参数)、第12篇(长上下文边界)、第17篇(能力/风险清单)。
- 动作:用第五节四张决策矩阵做技术选型;用第19篇判断"是否需要关注非 Transformer 架构"。
七、高频误区汇总(11 篇里被反复澄清的坑)
text
1. "RoPE 只是另一种位置编码。" ------ 它把位置融进点积本身,是长度外推能力的关键(第10篇)。
2. "MoE 参数多=推理慢。" ------ 每 token 只激活 Top-k 专家,推理成本≈激活参数量(第11篇)。
3. "长上下文=把窗口调大就行。" ------ 需位置插值/稀疏/Streaming 等手段,否则位置编码会"越界"(第12篇)。
4. "DPO 比 RLHF 简单所以更弱。" ------ 多数场景下 DPO 是更稳的起点,并非 inferior(第13篇)。
5. "KV Cache 只省时间。" ------ 它主要省的是显存(O(n) 增长),长对话的命门(第14篇)。
6. "BF16 和 FP16 差不多。" ------ BF16 指数位宽同 FP32,训练动态范围更稳,是大模型默认(第15篇)。
7. "LayerNorm 比 RMSNorm 好。" ------ LLM 里 RMSNorm 更稳更省,已成主流(第16篇)。
8. "多模态=把图片丢给 LLM。" ------ 需要视觉编码器+对齐模块把图像压成 LLM 可读的 token(第18篇)。
9. "Mamba 会取代 Transformer。" ------ 混合架构(Jamba 等)常让 SSM 与注意力互补(第19篇)。
10."SSM 不能做长上下文。" ------ 反而因 O(1) 状态更适合超长序列(第19篇)。
八、从原理到应用:通向第三阶段
技术原理篇回答了"模型内部怎么工作",但离"怎么把它用起来做产品"还有一步。接下来第三阶段**应用实战篇(第21~32篇)**将把原理转化为:
原理篇(已学) → 应用实战篇(将学)
─────────────────────────────────────────────────────
第13篇 对齐/DPO → 第21篇 Prompt Engineering、第22篇 Function Calling/Tool Use
第14篇 推理优化 → 第23篇 RAG(检索增强生成)
第4/13篇 微调 → 第24篇 Fine-tuning(LoRA/QLoRA)
对齐+推理+架构 → 第25~27篇 Agent 开发(LangChain/LangGraph/Multi-Agent)
第18篇 多模态 → 第28篇 代码大模型、第29篇 安全攻防 ...
下期预告(下次发布):《Prompt Engineering 完全指南:从基础到高级技巧》------ 从原理篇的"模型如何读 token"过渡到"我们如何写 token 才能激发模型能力",系统讲解提示词结构、Few-shot、CoT、ToT 与 System Prompt 的实战写法。
参考资料
- 第09~19篇系列文章(本博客技术原理篇)
- Vaswani et al., Attention Is All You Need, 2017
- Touvron et al., LLaMA / LLaMA 2, 2023
- Fedus et al., Switch Transformers (MoE) , 2021;DeepSeek-AI, DeepSeek-V3, 2024
- Dao et al., FlashAttention , 2022;Xiao et al., StreamingLLM, 2023
- Ouyang et al., InstructGPT (RLHF) , 2022;Rafailov et al., DPO, 2023
- Gu & Dao, Mamba: Linear-Time Sequence Modeling with Selective State Spaces, 2023
延伸讨论
- 思考题:如果让你从零设计一个 70B 级模型,原理篇里哪 3 个决策(架构/训练/对齐)你认为最关键?为什么?
- 实践作业:用第五节"KV Cache 显存公式"估算你常用模型在 32K 上下文下的 KV Cache 占用,并对比 GQA 前后的差异。
- 读者问答:欢迎在评论区贴出你最想复习的原理篇主题,我会据此调整第三阶段开篇的铺垫深度。