总览
本章节范围:大模型 (LLM) 从输入 token 到输出 logits 的完整内部流程拆解——文本数字化、注意力机制、transformer 组装、预训练、微调对齐、推理,每一步的矩阵运算与张量形状。 目标读者:希望理解大模型内部工作机制的工程师 / 研究者,不假设预先了解 transformer 细节。
范围与边界 (Scope)
- 包含:6 大主线环节的完整数据流——文本如何变成数字 → 注意力机制 → 组装 GPT → 预训练 → 微调对齐 → 推理;每步的矩阵运算、张量形状变化、训练与推理的根本差异。
- 不包含:
- 并行切分 (TP / SP / PP / DP / CP / EP) → interconnect/05-LLM并行通信
- 长上下文专题 (位置外推 / KV 架构压缩 / 注意力优化方向) → knowledge/03-长上下文;注意:稀疏 / 压缩 / 线性 / SSM 注意力的算子实现已纳入本章 04 注意力机制章实现卷,03 仅讲"为什么需要 + 有哪些优化方向"
- 先进封装与片间互联 → knowledge/02-先进封装与片间互联
- 推理服务化系统 (vLLM / SGLang / TensorRT-LLM) — 偏工程实现,本章不展开
- Flash Attention (kernel / IO 融合优化) / MoE 路由 — 外链,不进主干;注:稀疏 / 压缩 / 线性 / SSM 等高效注意力的算子机制已进 04 实现卷,不再外链(2026-06 架构调整:06 定位为大模型知识与技术的家,含基础到前沿)
名词定义
| 名词 | 定义 |
|---|---|
| Token | 文本被 tokenizer 切分后的最小单位 (子词 / 字符 / 字节);模型实际处理的不是字符串而是 token id 序列 |
| Vocab (词表) | tokenizer 定义的全部可用 token 集合,大小 $V$ 通常 $10^4 \sim 10^5$ 量级 |
| Embedding | 把 token id 映射到 $h$ 维稠密向量的查表操作,权重形状 $[V, h]$,可学习 |
| Position encoding (位置编码) | 给序列中每个 token 注入位置信息,否则 attention 看不到顺序;主流方案 RoPE |
| Self-attention | 序列内每个 token 看其他 token 加权求和的算子,transformer 的核心 |
| Multi-head attention (MHA) | 把 Q/K/V 沿 hidden 维切成 $n_{\text{head}}$ 个独立子空间分别算 attention 再拼接 |
| Causal mask (因果掩码) | decoder-only 中限制 token 只能 attend 到自己之前的 token,保证生成时无信息泄漏 |
| FFN / MLP | transformer block 内 attention 之后的前馈网络,通常上投影 → 激活 → 下投影 |
| Transformer block | attention + FFN + 归一化 + 残差 的组合,大模型通常堆叠 $L \in [32, 120]$ 层 |
| Decoder-only | GPT 系主流架构,只有解码器堆叠,配 causal mask 做自回归生成 |
| Pretraining (预训练) | 在海量无标注文本上用 next-token prediction 训练;大模型 99% 的算力花在这里 |
| Fine-tuning (微调) | 在小规模任务/指令数据上继续训练,让预训练模型具备特定能力或对齐人类偏好 |
| Forward / Backward | 前向 = 输入到输出的计算 + 算 loss;反向 = 算 loss 对参数的梯度 |
| Inference (推理) | 训练完成后用模型生成 token;只有前向,没有反向 |
| Prefill | 推理第一阶段,一次性处理整段 prompt, compute-bound |
| Decode | 推理第二阶段,逐 token 自回归生成,memory-bound,受 KV cache 读取带宽限制 |
| KV cache | decode 阶段缓存历史 token 的 K/V,避免每生成一个 token 重算前面所有 K/V |
| Logits | LM head 输出的未归一化分数向量,形状 $[V]$,通过 softmax 转概率后采样下一个 token |
@tbl-llm-overview-glossary 本章共享名词
本章节子文档默认这些名词已定义,不再重复;子章节专属名词 (各 sampling 算法、loss 变体、量化精度等) 在各子章 01-总览.md 的名词定义段补充。
张量形状约定
后续各章共用以下符号,子章不再重复定义:
| 符号 | 含义 |
|---|---|
| $b$ | batch size |
| $s$ | 序列长度 (sequence length) |
| $h$ | hidden dimension |
| $h_{\text{ffn}}$ | FFN intermediate dimension (典型 $\sim 4h$, SwiGLU 下 $\sim \frac{8}{3} h$) |
| $n_{\text{head}}$ | attention head 数 |
| $d_{\text{head}}$ | 单 head 维度,$h = n_{\text{head}} \cdot d_{\text{head}}$ |
| $h_{\text{kv}}$ | KV head 总维度 (GQA / MQA 下 $h_{\text{kv}} < h$) |
| $V$ | 词表大小 |
| $L$ | 模型层数 |
@tbl-llm-overview-shape 全章共享张量形状符号
激活张量统一以 [batch, seqlen, hidden] 即 [b, s, h] 为基准形状,attention 内部张量在此基础上展开 head 维度。
为什么单独成章
理解大模型有两条进入路径:顶向下 (业界综述、scaling laws、模型对比) 与 底向上 (按数据流拆解 forward pass)。前者已有 knowledge/01-业界动态 与各模型专题覆盖,但后者在知识库里缺位——并行通信 / 长上下文 / Agent 系统等专题都默认读者已经懂"transformer 内部一次前向在算什么",直接跳到上层。
本章补这个底层基础,让读者按"输入到输出"的数据流走通一遍 forward,形成 mental model 之后再去读专题不再悬空。
设计原则
本章按"从输入到输出"的数据流主线展开,由浅入深,遵循 Raschka《Build a LLM from Scratch》与 Karpathy《Zero to Hero》的教学顺序:
| 原则 | 做法 |
|---|---|
| 直觉先于机制 | 每章先建立"在做什么"的直觉,再展开矩阵运算 |
| 递进而非平铺 | 注意力章基础卷严格 4 步递进 (简化自注意力 → Q/K/V → 因果掩码 → 多头);其上的实现卷按机制族(稀疏化 / 压缩化 / 换算子)组织 |
| 形状贯穿全章 | 激活张量形状 [batch, seqlen, hidden] 是全章共享约定,各章展示形状如何变化 |
| 进阶分层不混卷 | 高效注意力(稀疏 / 压缩 / 线性 / SSM / MLA)进 04 实现卷,与基础卷分层、同章内;MoE / Flash Attention / 反向传播数学仍外链或末段 |
| 不写并行 | 并行视角全部留在 interconnect/05-LLM并行通信,本章只在末尾外链 |
@tbl-llm-overview-principles 本章写作设计原则
章节地图
按数据流主线分 6 大环节,每个环节一个子章:
| 子章 | 一句话 | 篇数 | 对应蓝本 |
|---|---|---|---|
| 02-大模型是什么 | 全景导览:定义 + 数据流缩略图 + 部件锚点 (单篇自洽) | 1 | Raschka 1 |
| 03-文本如何变成数字 | tokenization / BPE → token embedding → 位置编码 | 4 | Raschka 2 / Karpathy Tokenizer |
| 04-注意力机制 | 基础卷(4 步递进)+ 过渡篇 + 实现卷(固定/动态稀疏、序列/维度压缩、线性SSM,按机制族) | 11 | Raschka 3 / Karpathy GPT + 业界论文 |
| 05-组装GPT | 激活与 FFN → 归一化与残差 → block 与堆叠 | 4 | Raschka 4 |
| 06-预训练 | 语言建模目标 → 训练循环 → scaling laws | 4 | Raschka 5 / Karpathy GPT-2 |
| 07-微调与对齐 | 指令微调 (SFT) → RLHF → DPO 与新方法 | 4 | Raschka 6, 7 |
| 08-推理 | prefill/decode → KV cache → 采样 → 量化 | 5 | — |
@tbl-llm-overview-map 子章节地图 (含篇数与教学蓝本对应)
总计 33 篇 (含每子章 01-总览;02 章作为全景导览压缩为 1 篇;04 注意力机制章含基础卷 5 + 过渡篇 1 + 实现卷 5 共 11 篇)。
子章节索引 (Index)
子章节文件结构搭建中,链接将在子章动工时变为可用。
| 子章 | 状态 | 内容 |
|---|---|---|
02-大模型是什么.md | 已完成 | 全景导览:定义 + 数据流缩略 + 后续章节锚点 (单篇,平铺无子目录) |
03-文本如何变成数字/ | 已完成 | 总览 + tokenization 与 BPE + token embedding + 位置编码 (4 篇,深度回路完整) |
04-注意力机制/ | 基础卷已完成 / 实现卷进行中 | 基础卷 5 篇(总览 + 4 步递进,完整)+ 过渡篇(已写)+ 实现卷 5 篇(固定/动态稀疏、序列/维度压缩、线性SSM,按机制族,进行中) |
05-组装GPT/ | 已完成 | 总览 + 激活与 FFN + 归一化与残差 + block 与堆叠 (4 篇,深度回路完整) |
06-预训练/ | 已完成 | 总览 + 语言建模目标 + 训练循环 + scaling laws (4 篇,深度回路完整) |
07-微调与对齐/ | 已完成 | 总览 + SFT + RLHF + DPO 与新方法 (4 篇,深度回路完整) |
08-推理/ | 已完成 | 总览 + prefill 与 decode + KV cache + 采样与解码 + 量化简介 (5 篇,深度回路完整) |
@tbl-llm-overview-index 子章节索引 (状态滚动更新)
与外部专题的接缝
本章主线讲基础概念,以下深度内容外链到已有专题:
| 外链主题 | 在本章哪里引 | 目标 |
|---|---|---|
| 长上下文位置外推 | 03 末尾 (位置编码) | knowledge/03-长上下文/03-位置编码与外推 |
| 注意力优化方向(为什么稀疏 / 有哪些路) | 04 实现卷过渡篇 | knowledge/03-长上下文/04-注意力机制变体(变体的实现已在本章 04 实现卷,03 只给方向) |
| MoE 路由与专家并行 | 05 末尾 (block 与堆叠) | interconnect/05-LLM并行通信/08-专家并行 |
| KV 架构压缩 (GQA / MQA / MLA) | 08 中 (KV cache) | knowledge/03-长上下文/05-kv-cache架构压缩 |
| KV 推理管理 (paged / eviction) | 08 中 (KV cache) | knowledge/03-长上下文/07-推理-kv管理 |
| 推理部署模式 (PD 分离) | 08 中 (prefill 与 decode) | interconnect/05-LLM并行通信/09-跨策略横向/03-推理部署模式 |
| 并行切分总览 | 05 / 06 / 08 多处 | interconnect/05-LLM并行通信 |
| 并行切分的矩阵视角 | 05 / 06 / 08 多处 | interconnect/05-LLM并行通信/02-并行切分的矩阵视角 |
@tbl-llm-overview-external 与外部专题的外链对照
参考资料
教学蓝本:
- Sebastian Raschka. Build a Large Language Model (From Scratch). Manning, 2024.
- Andrej Karpathy. Neural Networks: Zero to Hero series. https://karpathy.ai/zero-to-hero.html
经典论文:
- Vaswani et al. Attention Is All You Need. NeurIPS 2017. https://arxiv.org/abs/1706.03762
- Radford et al. Language Models are Unsupervised Multitask Learners (GPT-2). OpenAI, 2019.
- Brown et al. Language Models are Few-Shot Learners (GPT-3). NeurIPS 2020. https://arxiv.org/abs/2005.14165
- Hoffmann et al. Training Compute-Optimal Large Language Models (Chinchilla). 2022. https://arxiv.org/abs/2203.15556
调研背景:
- 本章规划由 脑暴文档 2026-06-09-llm-anatomy 收敛而来。