Ahmad(@TheAhmadOsman)给出了 LLM 工程实战项目路线图(2026 版)。从分词器开始,然后嵌入、位置、注意力、Transformer 块、目标、解码、缓存、长上下文、路由、数据、后训练、服务、评估、工具和对齐/安全。
一个基于项目的路线图,将 LLM 基础转化为你可以构建、测量、破坏和解释的工作系统。
Local AI 系列提供了硬件、运行时和模型机制基础。这篇文章是在基础 click 之后的内容:一个通过重现重要部分、观察它们失败并写下失败教给你的东西来学习该领域的构建顺序。
核心原则:每个项目教授一个来之不易的概念
对于每个项目,遵循相同的循环:
- 构建它——在使用库版本之前自己实现核心思想
- 绘制它——制作损失曲线、延迟曲线、内存曲线、注意力热图、路由直方图、熵图或失败画廊
- 破坏它——消融你刚刚构建的东西。移除位置编码。禁用因果掩码。过度量化。饿死数据。崩溃路由器。超载 KV 缓存
- 解释它——写简短的技术笔记:你期望什么、发生了什么、什么让你惊讶、你下次会尝试什么
- 发布 artifact——repo、notebook、博客文章、小型 demo、benchmark 图表或可复现实验胜过模糊理论
Part I:文本变成张量
1. 从头构建分词器
在训练模型之前,你决定世界如何变成符号。这个决定影响压缩、多语言行为、罕见词、代码、数学、表情符号、延迟、上下文使用和模型质量。
实现字节对编码。在小型语料库上训练微小的子词词汇表。然后与 unigram/SentencePiece 风格分词进行比较。
2. One-hot 向量、学习嵌入和语义几何
Token ID 本身没有意义。当 ID 变成向量时,意义开始。构建最简单的嵌入表并在 next-token 目标上学习它。
Part II:位置赋予 Token 顺序
3. 实现正弦、学习、RoPE 和 ALiBi 位置方法
注意力本身是置换不变的。没有位置,"dog bites man"和"man bites dog"看起来太相似。原始 Transformer 使用正弦位置编码;后来的系统通常使用学习位置、旋转位置嵌入(RoPE)、ALiBi 或 RoPE-scaling 变体。
Part III:注意力使上下文有用
4. 为单个 token 手工连接缩放点积注意力
在实现 Transformer 块之前,为单个查询实现注意力。手动计算 Q、K、V。取点积。缩放。Softmax。用它形成值的加权和。
5. 将注意力扩展到多头注意力
多头注意力让不同的子空间学习不同的关系模式。一些头可能专门处理局部语法、归纳式复制、分隔符跟踪或长程依赖。
Part IV:Transformer 块
6. 构建单个 Transformer 解码器块
现在堆叠这些部分:Token 嵌入、位置方法、掩码多头注意力、残差连接、归一化、前馈网络和输出投影。
7. 将块堆叠成"mini-former"
在玩具文本上训练微小的仅解码器模型。重点不是构建有用的聊天机器人。重点是理解训练循环。
Part V:目标定义模型学习什么
8. 比较因果 LM、掩码 LM、前缀 LM 和去噪目标
不同目标产生不同能力。BERT 使用掩码语言建模构建双向表示。GPT 风格模型使用因果 next-token 预测。T5 将许多 NLP 任务框架为文本到文本生成与去噪目标。
Part VI:解码将概率变成文本
9. 构建采样仪表板
模型输出 logits。产品输出文本。解码是桥梁。
10. 实现推测解码
自回归解码是顺序的:一个 token 依赖于前一个 token。推测解码通过使用较小的草稿模型提出 token 让较大的模型验证来加速生成。
Part VII:KV 缓存和内存受限推理
11. 构建 KV 缓存
在自回归推理期间,过去的键和值不需要每一步都重新计算。KV 缓存存储它们。这是训练和推理之间最重要的实际差异之一。
12. 实现 MQA、GQA 并研究 MLA
标准多头注意力为每个查询头提供自己的键和值头。多查询注意力跨查询头共享键和值以减少内存带宽。分组查询注意力是中间地带。
Part VIII:长上下文是系统问题
13. 构建滑动窗口注意力和注意力汇聚实验
长上下文不是通过在配置文件中增加一个数字来解决的。模型可能丢失信息、过度关注不相关的 token、在长序列上崩溃或变得太贵而无法服务。
14. 用 RoPE 缩放、YaRN 风格插值和记忆机制扩展上下文
上下文扩展通常结合位置插值、微调、高效注意力和评估。
Part IX:高效注意力和硬件感知建模
15. 比较朴素注意力、PyTorch SDPA 和 FlashAttention
相同的数学运算根据内存访问模式可能有根本不同的运行时。FlashAttention 通过减少高带宽内存读写使注意力更快。
16. 学习硬件预算:FLOPs、带宽、内存和精度
到 2026 年,LLM 工程深度受硬件限制。NVIDIA Blackwell 系统强调 FP4/FP8 推理和大 NVLink 域。
Part X:混合专家
17. 构建双专家路由器
稀疏混合专家模型增加参数计数而不为每个 token 激活每个参数。Switch Transformer 表明稀疏专家路由可以有效扩展模型容量。
18. 重现现代稀疏模型权衡
最近的前沿和开放权重系统大量使用稀疏激活。DeepSeek-V3 报告 671B 总参数,每 token 激活 37B。
Part XI:超越 Vanilla Transformers
19. 实现玩具状态空间或线性注意力模型
Transformers 占主导,但它们不是唯一严肃的序列架构。Mamba 引入了选择性状态空间模型。Mamba-2 通过状态空间对偶更直接地连接状态空间模型和注意力。
20. 构建扩散风格语言模型玩具
自回归生成不是唯一可能的解码范式。LLaDA 使用掩码和去噪从头训练扩散风格语言模型。
Part XII:数据是真正的预训练基底
21. 构建预训练数据管道
数据质量是堆栈中影响最高的部分之一。FineWeb 发布了来自 Common Crawl 快照的 15 万亿 token 数据集。
22. 合成数据:生成、过滤并证明它有帮助
合成数据在目标明确、经过过滤和诚实评估时可以帮助。phi-1 工作表明,在高质量"教科书式"和合成代码数据上训练的小模型可以在编码基准上表现得出奇地好。
Part XIII:缩放定律和容量
23. 训练微小、小型和中型模型并拟合缩放曲线
缩放定律量化损失如何随模型大小、数据大小和计算变化。Kaplan 风格缩放定律显示了跨几个数量级的平滑幂律关系。
Part XIV:后训练将基础模型变成助手
24. 微调、指令微调和偏好微调
基础模型预测文本。助手遵循指令。InstructGPT 表明人类反馈微调可以使模型比简单缩放预训练模型更对齐用户意图。
25. 构建玩具 RLHF、PPO、GRPO 和 RLVR 实验室
强化学习对推理模型变得特别重要。OpenAI 的 o1 系统卡强调性能随更多强化学习和更多推理时间思考而改善。
Part XV:量化和压缩
26. 量化模型并测量损伤
量化不仅仅是"让它更小"。它改变数值行为、延迟、内存带宽,有时还有模型质量。
Part XVI:服务系统
27. 通过多个推理栈服务相同模型
LLM 服务是它自己的学科。vLLM 引入 PagedAttention 减少 KV 缓存内存浪费。TensorRT-LLM 包括飞行中批处理、分页注意力、量化等功能。
Part XVII:评估停止猜测
28. 构建评估工具
如果你无法测量模型,你就无法改进它。HELM 主张跨准确性、校准、稳健性、公平性、偏见、毒性和效率进行广泛评估。
Part XVIII:检索、工具和 Agent 作为顶点
29. 从头构建检索增强生成
RAG 结合模型中的参数记忆与外部语料库中的非参数记忆。原始 RAG 工作表明检索可以改善知识密集型任务并使输出更容易更新或 grounding。
30. 仅在理解堆栈后构建工具使用和 Agent 循环
Agent 不是假的,但当被当作魔法对待时是脆弱的。ReAct 表明交错推理痕迹与行动可以改善任务解决和可解释性。
Part XIX:多模态 LLM
31. 构建微小的视觉语言适配器
现代 LLM 越来越多地消费文本、图像、音频、视频和结构化工具输出。CLIP 展示了对比图像文本预训练的力量。
Part XX:可解释性和失败模式
32. 研究电路、探针和稀疏自动编码器
机械可解释性试图理解模型内部计算什么。Transformer 电路工作将注意力和 MLP 行为分解为更可解释的组件。
33. 构建红队和安全评估套件
随着模型变得更有能力,安全评估成为工程的一部分。Constitutional AI 探索使用书面原则集加上 AI 反馈来减少对人类标签的依赖。
Part XXI:最终顶点构建完整的小型 LLM 系统
34. 训练、调整、量化、服务、评估和记录一个模型
你的最终项目应该连接整个堆栈。
现实的锁定计划
几周足以改变你的直觉。几个月足以建立严肃的基础。
- 第 1-2 周:表示和注意力
- 第 3-4 周:训练和目标
- 第 5-6 周:推理系统
- 第 7-8 周:长上下文、MoE 和数据
- 第 9-10 周:后训练和评估
- 第 11-12 周:顶点
确切的时间表不如循环重要:构建、绘制、破坏、解释。
心态
不要永远困在理论中。但也不要把 demo 误认为理解。
Agent 框架可以隐藏模型。服务框架可以隐藏缓存。Benchmark 可以隐藏泄漏。产品可以隐藏失败模式。包装器可以隐藏模型在做所有工作的事实。
基础学习移除了隐藏之处。
学习分词。学习嵌入。学习位置。学习注意力。学习残差流。学习归一化。学习目标。学习采样。学习 KV 缓存。学习长上下文。学习 MoE。学习量化。学习数据。学习缩放。学习后训练。学习服务。学习评估。学习安全。学习失败模式。
然后构建 Agent。构建产品。构建公司。构建实验室。
但将它们构建在 bedrock 上。
你未来的自己会感谢你。