真正的学习不是看懂名词,而是把关键部件做出来
为什么需要一张项目式路线图
学 LLM 最容易掉进两个坑。
第一个坑是一直补理论:线性代数、概率、深度学习、Transformer、推理优化、RAG、Agent,每个词都能展开成一串课程。补到最后,知道很多名词,却不知道自己能不能把一个最小系统跑起来。
第二个坑是直接套框架:LangChain、LlamaIndex、vLLM、Ollama、各种 Agent 框架都能很快做出 demo,但系统一旦回答变差、延迟变高、上下文爆掉、工具调用失控,就很难判断问题到底出在模型、数据、提示词、检索、推理服务还是评测方法。
这类 LLM 工程路线图的价值在这里:它把学习顺序改成了工程顺序。先把文本变成 token,再把 token 变成向量,再加位置,再写 attention,再堆 Transformer block,再训练、采样、缓存、量化、部署、评测、加 RAG 和工具。这个顺序和模型真实工作的路径一致。
本系列把这条路线转成我的中文学习记录。目标不是照搬资料,而是把它变成可以执行的项目清单,并和本站已有的 mini-gpt、ml-basics、inference-opt、vLLM、llm-app、ai-agent 系列接起来。
核心循环:Build、Plot、Break、Explain、Ship
每个项目都按同一套动作推进。
Build:先自己实现核心机制。哪怕实现很小、很慢、很丑,也要先让它跑起来。比如手写 BPE、手写一个 attention head、手写 KV cache。
Plot:把行为画出来。loss 曲线、attention heatmap、token 长度分布、延迟曲线、显存曲线、专家路由直方图、检索命中率、失败样例,都比一句“我理解了”更可靠。
Break:故意破坏它。去掉位置编码、关掉 causal mask、把温度调到极值、把上下文拉很长、把量化压得过激、让 router 偏向一个 expert。破坏之后才知道机制真正保护了什么。
Explain:写短复盘。记录预期是什么,实际发生了什么,哪里反直觉,下次怎么改。
Ship:留下可复现产物。代码、notebook、图表、失败样例、短文都可以。学习记录不是为了好看,而是为了以后能重新验证。
先按模型内部路径走一遍
第一段路线只处理模型内部。
| 顺序 | 项目 | 对应本站内容 |
|---|---|---|
| 1 | tokenizer 与词表 | mini-gpt/02-把文字变成数字 |
| 2 | embedding 与向量几何 | ai-for-python/番外11-从One-Hot到LLM |
| 3 | 位置编码 | mini-gpt/06-拼出一个真正的GPT结构 |
| 4 | scaled dot-product attention | mini-gpt/05-注意力机制让模型看见上下文 |
| 5 | multi-head attention | ml-basics/注意力机制、ml-basics/Transformer |
| 6 | decoder block | mini-gpt/06-拼出一个真正的GPT结构 |
| 7 | mini-former 训练 | mini-gpt/07-完整训练看它从胡言乱语到像模像样 |
| 8 | objective 对比 | llm-roadmap/03-PositionAttentionTransformer项目、llm-roadmap/07-34个项目验收清单 |
这一段的目标很明确:用最少依赖把一个 decoder-only 小模型训练出来。模型不需要聪明,但每个部件都要能解释。
再进入推理系统
第二段路线处理生成和服务。
| 顺序 | 项目 | 要观察什么 |
|---|---|---|
| 9 | sampling dashboard | temperature、top-k、top-p 对输出和熵的影响 |
| 10 | speculative decoding | draft model 与 target model 如何换速度 |
| 11 | KV cache | 有无 cache 的延迟和显存差异 |
| 12 | MQA / GQA / MLA | KV 头数量如何影响吞吐与质量 |
| 13 | long context | 长上下文下信息丢失、注意力漂移、成本膨胀 |
| 14 | FlashAttention / SDPA | 同一数学操作为什么工程性能差很多 |
这一段会和本站 inference-opt、vLLM 系列接上。很多人把推理优化理解成“换个部署框架”,但路线图强调的是先理解瓶颈:自回归生成是串行的,KV cache 吃显存,attention 很容易被内存带宽限制,batching 和 paged attention 改的是系统吞吐。
最后补齐数据、训练后处理、应用与安全
第三段路线开始离开单个模型,进入完整系统。
| 模块 | 项目 |
|---|---|
| 数据 | 预训练数据管线、去重、过滤、合成数据、eval split |
| 规模 | tiny/small/medium 模型训练,拟合 scaling curve |
| 后训练 | SFT、LoRA/QLoRA、DPO、RLHF、PPO、GRPO、RLVR |
| 压缩 | PTQ、QAT、GGUF、AWQ、量化误差分析 |
| 服务 | vLLM、TensorRT-LLM、SGLang、llama.cpp 对比 |
| 应用 | RAG、工具调用、Agent loop、多模态 adapter |
| 评测 | benchmark harness、失败样例库、安全红队 |
这一段最容易变成“工具堆砌”。所以每个项目都要回答一个问题:它解决的是模型本身不会、模型记不住、模型太慢、模型太贵、模型不可靠,还是系统不可控。
我的执行原则
这条路线不追求一次性学完。它更像一张地图,告诉我遇到问题时应该往哪一层钻。
如果模型输出乱码,先看 tokenizer、数据切分、训练目标。
如果模型能复述但不会泛化,先看训练集/验证集、loss 曲线、过拟合。
如果模型会生成但很慢,先看 KV cache、batching、量化、推理引擎。
如果 RAG 回答不好,先看切分、embedding、召回、rerank、上下文拼接、评测集。
如果 Agent 不稳定,先看工具定义、状态机、失败恢复、上下文管理、安全边界。
本篇要点
- LLM 学习应该按系统路径推进:tokenizer -> embedding -> position -> attention -> block -> training -> decoding -> cache -> serving -> evaluation。
- 每个项目都要留下代码、图表、失败样例和复盘。
- 不要把框架当成理解本身。框架可以加速工程,但不能替代对模型、数据、推理、评测的判断。
- 本系列是本站 AI 模块的“导航层”,后续文章会把已有内容串成一条可执行路线。
延伸阅读
- Attention Is All You Need
- The Illustrated Transformer
- Hugging Face NLP Course: Tokenizers
- Karpathy: Neural Networks Zero to Hero
版权声明: 如无特别声明,本文版权归 sshipanoo 所有,转载请注明本文链接。
(采用 CC BY-NC-SA 4.0 许可协议进行授权)
本文标题:LLM 工程路线图:从概念理解到可运行系统
本文链接:https://www.sshipanoo.com/blog/ai/llm-roadmap/01-从路线图到项目清单/
本文最后一次更新为 天前,文章中的某些内容可能已过时!