名词定义
- 大模型解构:本章节代号,指
docs/knowledge/06-大模型解构/,定位是"按计算/数据流主线理解 LLM 内部工作机制"
- 主干:7 章 29 篇的必读路径,由浅入深一口气可走完
- 进阶延伸:主干不写但相关的深度内容,作为章末外链指向已有专题
- Raschka 蓝本:Sebastian Raschka《Build a LLM from Scratch》的章节组织
- Karpathy 蓝本:Andrej Karpathy《Neural Networks: Zero to Hero》系列的教学顺序
- dense attention:原版(非稀疏、非线性、非状态空间)的 $O(n^2)$ 自注意力
- prefill / decode:LLM 推理的两阶段——prefill 一次性处理整段 prompt(compute-bound),decode 逐 token 自回归生成(memory-bound)
定位与背景
讨论起点:用户问"CP 与 TP 区别 / CP 切什么维度 / 为什么不切 batch",本质都是先要理解张量形状和每步矩阵运算,才能理解并行在切什么。
讨论收敛出两个产物:
- 主战场(新章):knowledge/ 下加一整章讲清"大模型从输入到输出怎么运作",回答上述问题的前置知识。
- 并行视角接缝(单篇):interconnect/05/08 下加一篇横向汇总,把"每个矩阵在哪个维度切"列成对照表,作为新章与已有并行通信章节的桥。
章节命名
定名 06-大模型解构。
命名决策与备选
| 候选 | 否决理由 |
|---|
| 从零理解大模型 | "从零"暗示读者层级,命名应中性 |
| 大模型原理 | 准确但偏抽象,"解构"更能体现"按部件拆开看"的主线 |
| 大模型基础 | "基础"把章降格为预备知识,但它是主菜 |
| Transformer 架构 | 过窄,预训练/微调/推理不属于架构范畴 |
| 大模型工作原理 | "工作"两字冗余 |
整体结构(7 章 29 篇)
章节地图
| 章 | 篇数 | 主题 | 对应蓝本 |
|---|
| 01-大模型是什么 | 3 | 能力 / 演化 / 心智模型(最浅,纯直觉) | Raschka 1 |
| 02-文本如何变成数字 | 4 | tokenization → embedding → 位置编码 | Raschka 2 / Karpathy Tokenizer |
| 03-注意力机制 | 5 | 简化自注意力→自注意力→因果掩码→多头(严格 4 步递进) | Raschka 3 / Karpathy GPT |
| 04-组装GPT | 4 | 激活与 FFN / 归一化与残差 / block 与堆叠 | Raschka 4 |
| 05-预训练 | 4 | 语言建模目标 / 训练循环 / scaling laws | Raschka 5 / Karpathy GPT-2 |
| 06-微调与对齐 | 4 | SFT / RLHF / DPO 与新方法 | Raschka 6,7 |
| 07-推理 | 5 | prefill/decode / KV cache / 采样 / 量化 | — |
总计 29 篇(含每章 01-总览)。
设计原则
| 原则 | 规则 |
|---|
| 原子性 | 一篇 = 一个机制或一个递进层次 |
| 由浅入深 | 章内子文档按难度递进,不平铺 |
| 总览必有 | 每章 01-总览.md 给整章地图 + 阅读顺序 |
| 不写并行 | 并行视角全部留在 interconnect/05,新章只在末尾外链 |
| 进阶不挤主干 | MoE / MLA / Flash Attention / SSM 等作为外链或末段,不展开 |
每章子文档清单
01 大模型是什么(3 篇)
| 文件 | 内容 |
|---|
| 01-总览 | 全章导读 + 后续 6 章地图 |
| 02-能力与演化 | LLM 能做什么、做不了什么;n-gram → RNN → Transformer 演化 |
| 03-黑盒心智模型 | 输入 prompt → 输出 token 的最高层抽象,不涉及内部矩阵 |
02 文本如何变成数字(4 篇)
| 文件 | 内容 |
|---|
| 01-总览 | text → tensor 全链路 |
| 02-tokenization 与 BPE | 为什么不用单词/字符;BPE 训练与编码 |
| 03-token embedding | 查表 + 可学习向量;vocab × d_model |
| 04-位置编码 | 绝对 / 正弦 / RoPE 基本概念 |
03 注意力机制(5 篇,严格 4 步递进)
| 文件 | 内容 |
|---|
| 01-总览 | 注意力解决什么问题;本章 4 步递进图 |
| 02-简化自注意力 | 无可学参数版,纯点积加权 → 建直觉 |
| 03-自注意力 (Q/K/V) | 引入三个权重矩阵;为什么要分 Q/K/V |
| 04-因果掩码 | decoder-only 为什么要掩;mask 在 softmax 上怎么作用 |
| 05-多头注意力 | 多头的意义;维度切分与拼接 |
04 组装 GPT(4 篇)
| 文件 | 内容 |
|---|
| 01-总览 | 从注意力到完整模型还差什么 |
| 02-激活与 FFN | GELU / SwiGLU;FFN 上投影/激活/下投影 |
| 03-归一化与残差 | LayerNorm vs RMSNorm;residual;pre-norm vs post-norm |
| 04-block 与堆叠 | transformer block 组装;N 层堆叠成模型 |
05 预训练(4 篇)
| 文件 | 内容 |
|---|
| 01-总览 | 预训练在做什么;为什么 next-token prediction 够用 |
| 02-语言建模目标 | 交叉熵 loss;shift-by-one;teacher forcing |
| 03-训练循环与数据 | 数据 → batch → forward → backward → optimizer |
| 04-scaling laws | Chinchilla 直觉;参数/数据/算力关系 |
06 微调与对齐(4 篇)
| 文件 | 内容 |
|---|
| 01-总览 | 预训练完为什么还要微调;对齐解决什么 |
| 02-指令微调 (SFT) | 数据格式;和预训练差异 |
| 03-RLHF | 奖励模型 + PPO 直觉,不抠数学 |
| 04-DPO 与新方法 | DPO 思想;KTO / ORPO 简述 |
07 推理(5 篇)
| 文件 | 内容 |
|---|
| 01-总览 | 推理与训练根本差异 |
| 02-prefill 与 decode | 两阶段为什么不同;compute-bound vs memory-bound 基础对比 |
| 03-KV cache | 为什么缓存;显存与时间权衡(基础概念) |
| 04-采样与解码 | greedy / top-k / top-p / temperature / beam |
| 05-量化简介 | INT8 / FP8 / INT4 直觉;为什么推理才量化 |
与现有文档的边界划分
避免重复的原则:新章只讲基础概念 + 主线,深度变体一律外链。
| 新章子文档 | 已有相关文档 | 划法 |
|---|
| 02-04 位置编码 | knowledge/03-长上下文/03-位置编码与外推(RoPE 公式 + YaRN / LongRoPE) | 新章讲绝对/正弦/RoPE 基本概念;外推方案外链 |
| 03 注意力机制(5 篇) | knowledge/03-长上下文/04-注意力机制变体(稀疏/线性/SSM) | 新章讲 dense attention 主线;变体外链 |
| 07-03 KV cache | knowledge/03-长上下文/05-kv-cache架构压缩(GQA/MQA/MLA)+ 07-推理-kv管理(paged/eviction) | 新章只讲 "为什么缓存 + 显存时间权衡" 直觉;架构压缩 + 工业管理两方向外链 |
| 07-02 prefill 与 decode | interconnect/05-LLM并行通信/09-跨策略横向/03-推理部署模式(分离架构 + 通信不对称) | 新章讲两阶段计算特征基础对比;部署架构外链 |
| 全章涉及并行处 | interconnect/05-LLM并行通信/* 全套 | 新章完全不写并行;每章末"进阶延伸"外链 interconnect/05 |
必须外链的进阶专题
| 进阶主题 | 外链目标 | 在新章哪里引 |
|---|
| MoE 路由与专家计算 | interconnect/05-LLM并行通信/08-专家并行/ | 04-block 与堆叠 末尾 |
| 长上下文位置外推 | knowledge/03-长上下文/03-位置编码与外推 | 02-04 位置编码 末尾 |
| 长上下文 attention 变体 | knowledge/03-长上下文/04-注意力机制变体 | 03-05 多头注意力 末尾 |
| KV 架构压缩 | knowledge/03-长上下文/05-kv-cache架构压缩 | 07-03 KV cache 末尾 |
| KV 推理管理 | knowledge/03-长上下文/07-推理-kv管理 | 07-03 KV cache 末尾 |
| 推理部署架构 | interconnect/05-LLM并行通信/09-跨策略横向/03-推理部署模式 | 07-02 prefill 与 decode 末尾 |
| 并行切分全套 | interconnect/05-LLM并行通信/ | 04-04 / 05-03 / 07 章末尾各引一次 |
并行视角接缝文档
路径:docs/interconnect/05-LLM并行通信/09-跨策略横向/04-并行切分的矩阵视角.md
目标:把"每个权重矩阵 / 激活张量 × 每种并行(TP/CP/DP/PP/EP)→ 切哪一维、通信什么"列成对照表,作为新章 06 与并行章节 05 的接缝。
核心内容草案:
- 引入
06-大模型解构 的张量形状约定 [batch, seqlen, hidden]
- 列出主要权重:QKV 投影 / 输出投影 / FFN 上投影 / FFN 下投影 / embedding / LM head / MoE expert
- 列出主要激活:input embedding / hidden states / Q / K / V / attention scores / FFN intermediate / logits
- 对每个张量给一张表:每种并行切哪一维、所需通信原语(all-reduce / all-gather / reduce-scatter / all-to-all / ring KV)
- 末尾分别链到 02-张量并行 / 03-序列并行 / 04-流水并行 / 05-数据并行 / 06-上下文并行 / 07-专家并行 的细节
为什么放 08-跨策略横向:08 已有总览 / overlap / 推理部署三篇,定位就是"跨并行策略的横向视角",这篇加进去与既有结构一致。
推迟项与否决理由
| 候选 | 否决理由 |
|---|
| 推理引擎概览(vLLM/SGLang/TensorRT-LLM) | 偏工程实现,与"原理"主线偏离 |
| 反向传播全过程与优化器细节 | 训练章节只讲"反向 + KV cache 的由来",反向数学展开归专门训练专题 |
| MoE 完整章节 | 已有 interconnect/05/08-专家并行/ 全套,新章仅在 04 末尾外链 |
| Flash Attention 实现 | kernel 融合属优化技术,不是原理;推迟到未来专题 |
| SSM / Mamba 新架构 | 已有 knowledge/03-长上下文/04-注意力机制变体 涉及,深入留专题 |
| MLA 细节 | 已有 knowledge/03-长上下文/05-kv-cache架构压缩 覆盖 |
| 张量形状全章节贯穿表格 | 在 01-总览 / 03-总览 / 04-总览 各章局部给即可,无需独立成篇 |
开放问题
- 每篇写作目标长度?建议参考
knowledge/03-长上下文 篇均 1500-3000 字。需要时再约束。
- 是否每章产出一张主干配图?建议至少 01-总览 各一张全章数据流图,章内子文档按需。
下一步
- 不立即调研(用户明确指示)
- 脑暴结果以本文件为准,固化
- 后续启动时入口:用户选择从哪章开始 → 进入
iforge-research 单章写作流程
- 接缝文档(并行视角)可与 07 章并行启动,互不阻塞