逐步 LLM 工程项目 (2026 版)
摘要
一个基于项目的路线图,通过构建从分词器到服务栈的关键组件来学习 LLM 工程,包括硬件基础和后训练技术。
查看缓存全文
缓存时间: 2026/05/25 06:57
逐步构建LLM工程项目(2026年版)
在某个时刻,仅仅阅读关于LLM的理论已经不够了。你需要亲手搭建整个技术栈:首先是分词器,然后是嵌入、位置编码、注意力机制、Transformer模块、训练目标、解码、缓存、长上下文、路由、数据、后训练、服务部署、评估、工具以及对齐/安全。
一个基于项目的路线图,旨在将LLM基础知识转化为你可以构建、衡量、拆解并解释的实用系统。
“本地AI”系列为你提供了硬件、运行时和模型机制基础。本文是建立在该基础之上的:通过重现关键组件、观察它们失败并记录失败教训来学习该领域的构建顺序。
分词、注意力、KV缓存、MoE、量化、服务部署、RAG、智能体、评估和安全并非独立的流行词汇。它们是一个系统的不同部分。从项目循环开始:实现基本方法,绘制其行为,故意破坏它,然后解释发生了什么变化。当你已经触摸过底层的模型、内存、数据、推理和评估规则时,产品和框架会变得更有意义。
目标是从“我理解概念”转向“我能构建它”。截至 2026年5月,这意味着要同时学习模型架构、训练循环、推理路径、数据管道、服务层和评估习惯。
聚焦
这是一个 项目优先 的指南。它从机制开始:分词器、嵌入、位置方法、注意力、多头注意力、Transformer模块、训练循环、训练目标、解码、推测解码、KV缓存、MQA、GQA、MLA、长上下文、高效注意力和硬件感知建模。
之后,它进入更广泛的系统和研究层面:混合专家模型、稀疏模型权衡、状态空间和线性注意力替代方案、扩散式语言模型、数据管道、合成数据、缩放定律、后训练、RLHF、PPO、GRPO、RLVR、量化、服务技术栈、评估平台、RAG、工具、智能体、多模态适配器、可解释性、红队测试套件以及一个完整的顶点模型系统。
这个顺序很重要。你应该在训练模型之前理解为什么分词会改变上下文长度;在选择服务技术栈之前理解为什么注意力会成为内存瓶颈;在相信一个空洞的产品演示之前理解为什么评估和失败案例库很重要。
对于本路线图所依赖的基础知识,我有一个四部分的系列教程教授自托管LLM/本地AI:
- 第一部分:LLM的GPU内存计算(2026年版)。
- 第二部分:本地AI硬件的内存带宽(2026年版)。
- 第三部分:LLM与本地AI硬件的推理引擎(2026年版)。
- 第四部分:LLM 101(2026年版):模型如何逐个Token思考。
前两部分解释了硬件容量和带宽计算。第三部分解释了将硬件转化为可用推理的软件层。第四部分解释了模型侧机制:Token、Transformer、注意力、KV缓存、解码、上下文、RAG、智能体和本地部署机制。本文假设你已掌握这些基础,并将其转化为一系列你可以构建、测试和发布的项目。
原则:每个项目传授一个来之不易的概念
对于下面的每个项目,遵循相同的循环:
构建它。 在使用库版本之前,自己实现核心思想。
绘制它。 绘制损失曲线、延迟曲线、内存曲线、注意力热图、路由直方图、熵图或失败案例库。
破坏它。 消融你刚刚构建的东西。移除位置编码。禁用因果掩码。过度量化。数据匮乏。使路由器崩溃。使KV缓存过载。
解释它。 写一篇简短的技术笔记:你预期了什么,发生了什么,什么让你惊讶,以及你下一步会尝试什么。
交付成果。 一个仓库、笔记本、博客文章、小型演示、基准测试图表或可重复的实验胜过模糊的理论。
下面的技术栈从Token走向系统,然后从系统走向研究。
第一部分:文本变为张量
1. 从头构建一个分词器
在训练模型之前,你需要决定世界如何变为符号。这个决定影响压缩、多语言行为、罕见词、代码、数学、表情符号、延迟、上下文使用和模型质量。
从实现字节对编码开始。在一个小型语料库上训练一个小的子词词汇表。然后将其与unigram/SentencePiece风格的分词进行比较。BPE之所以成为核心,是因为它通过从子词单元组合来处理罕见词,而SentencePiece使分词可以直接从原始文本中训练,无需假设预先分词的空白分隔单词。
2. 独热向量、学习到的嵌入和语义几何
一个Token ID本身没有意义。当ID变为向量时,意义才开始。构建最简单的嵌入表,并在下一个Token预测目标上学习它。
第二部分:位置赋予Token顺序
3. 实现正弦、学习型、RoPE和ALiBi位置方法
仅凭注意力是排列不变的。没有位置,“狗咬人”和“人咬狗”看起来过于相似。原始Transformer使用了正弦位置编码;后来的系统通常使用学习型位置、旋转位置嵌入、ALiBi或RoPE缩放变体。RoPE通过嵌入空间中的旋转来编码相对位置,而ALiBi根据距离对注意力分数进行偏置,旨在改进长度外推。
第三部分:注意力使上下文有用
4. 为一个Token手动实现缩放点积注意力
在实现Transformer模块之前,为一个查询实现注意力。手动计算Q、K、V。计算点积。缩放它。应用Softmax。用它来形成值的加权和。
Transformer用注意力替代了循环,使得序列训练可以并行化,同时让每个Token都能关注其他Token。这一设计选择仍然是大多数LLM的基础。
5. 将注意力扩展到多头注意力
多头注意力让不同的子空间学习不同的关系模式。有些头可能专门处理局部语法、类似归纳的复制、分隔符跟踪或长距离依赖。
第四部分:Transformer模块
6. 构建一个单一的Transformer解码器模块
现在堆叠这些组件:Token嵌入、位置方法、掩码多头注意力、残差连接、归一化、前馈网络和输出投影。
现代解码器模块通常是预归一化,使用RMSNorm或LayerNorm变体,并且通常使用门控MLP(如SwiGLU),而不是最古老的ReLU风格前馈模块。RMSNorm通过聚焦于重新缩放来简化LayerNorm,而GLU/SwiGLU风格的前馈层已在多种设置中被证明可以提升Transformer性能。
7. 将模块堆叠成一个“迷你Transformer”
在一个玩具文本上训练一个仅解码器的小模型。目的不是构建一个有用的聊天机器人,而是理解训练循环。
第五部分:目标定义模型学习什么
8. 比较因果LM、掩码LM、前缀LM和去噪目标
不同的目标产生不同的能力。BERT使用掩码语言建模来构建双向表示。GPT风格模型使用因果的下一个Token预测。T5将许多NLP任务框架化为带有去噪目标的文本到文本生成。UL2混合了多种去噪模式以覆盖因果、前缀和双向行为。
第六部分:解码将概率变为文本
9. 构建一个采样仪表板
模型输出logits。产品输出文本。解码是桥梁。
10. 实现推测解码
自回归解码是顺序的:一个Token依赖于前一个Token。推测解码通过使用一个小型草稿模型提出Token,然后由一个大型模型验证,从而加速生成,并在正确实现时保持目标分布。
较新的变体减少或消除了对单独草稿模型的需求。Medusa增加了额外的解码头来提议多个未来Token,而前瞻解码探索并行候选n-gram而无需辅助模型。
第七部分:KV缓存和内存受限推理
11. 构建一个KV缓存
在自回归推理过程中,过去的键和值不需要每一步都重新计算。KV缓存存储它们。这是训练和推理之间最重要的实际区别之一。
12. 实现MQA、GQA并研究MLA
标准的多头注意力给每个查询头分配自己的键和值头。多查询注意力在所有查询头之间共享键和值,以减少内存带宽。分组查询注意力是一个折中方案,保留几个KV头而不是一个,通常可以在提高推理效率的同时保持更多质量。
到2026年,KV缓存减少已成为一个主要的架构设计轴。DeepSeek-V2引入了多头潜在注意力,这是一种低秩KV压缩方法,而DeepSeek-V3继续将MLA与稀疏MoE缩放相结合。
第八部分:长上下文是一个系统问题
13. 构建滑动窗口注意力和注意力汇聚点实验
长上下文并非仅仅通过在配置文件中增加一个数字就能解决。模型可能会丢失信息,过度关注无关Token,在长序列上崩溃,或者变得过于昂贵而无法服务。
Mistral 7B在一个开源模型中推广了一种滑动窗口注意力和分组查询注意力的实用组合。StreamingLLM表明,保留早期的“注意力汇聚点”Token可以稳定超长Token流上的流式生成。
14. 通过RoPE缩放、YaRN风格插值和记忆机制扩展上下文
上下文扩展通常结合位置插值、微调、高效注意力和评估。YaRN表明,基于RoPE的上下文扩展可以比某些先前方法更高效地利用数据和计算。Infini-Attention引入了一种压缩记忆机制,旨在将Transformer类模型扩展到无限输入长度,同时保持有限的内存和计算。
第九部分:高效注意力和硬件感知建模
15. 比较朴素注意力、PyTorch SDPA和FlashAttention
相同的数学运算可能因内存访问模式的不同而产生截然不同的运行时。FlashAttention通过减少高带宽内存的读写操作使注意力更快。FlashAttention-3通过硬件感知调度、异步操作和FP8支持,进一步针对NVIDIA Hopper GPU优化了注意力。
16. 学习硬件预算:FLOPs、带宽、内存和精度
到2026年,LLM工程深受硬件限制。NVIDIA Blackwell系统强调FP4/FP8推理和大NVLink域;DGX B200级系统提供了巨大的HBM容量和带宽。Google的Ironwood TPU代次重点定位于推理。AMD的MI300X每个加速器配备192GB HBM3,适用于内存密集型工作负载。
第十部分:混合专家模型
17. 构建一个双专家路由器
稀疏的混合专家模型增加了参数数量,但不会为每个Token激活所有参数。Switch Transformer表明,稀疏专家路由可以高效地扩展模型容量。Mixtral展示了一个实用的开源稀疏MoE设计,其中每个Token路由到一部分专家,而DeepSeek的MoE工作探索了更细粒度的专家和共享专家。
18. 重现现代稀疏模型的权衡
最近的前沿和开源权重系统大量使用稀疏激活。DeepSeek-V3报告了671B总参数,每个Token激活37B参数,使用了MLA、DeepSeekMoE、无辅助损失负载均衡和多Token预测。Llama 4引入了Meta的首个开源权重原生多模态MoE模型家族。Qwen3开源了两个MoE模型:Qwen3-235B-A22B和Qwen3-30B-A3B,以及六个密集模型。
Moonshot的Kimi K2系列延续了大型稀疏模型的趋势。Kimi K2.6模型卡描述了一个原生多模态智能体MoE模型,拥有1T总参数、32B激活参数、256K上下文窗口和MoonViT视觉编码器。
第十一部分:超越标准Transformer
19. 实现一个玩具状态空间或线性注意力模型
Transformer占主导地位,但它们并非唯一严肃的序列架构。Mamba引入了具有线性时间序列缩放和强吞吐量声明的选择性状态空间模型。Mamba-2通过状态空间对偶性更直接地连接了状态空间模型和注意力。RetNet提出了保留机制,可以并行训练同时支持循环式推理。
20. 构建一个玩具扩散式语言模型
自回归生成并非唯一的解码范式。LLaDA使用掩码和去噪从头训练了一个扩散式语言模型,挑战了高质量语言建模必须自回归的假设。Dream探索了带有并行去噪的开放扩散语言建模。Inception的Mercury模型将扩散LLM定位于非常高的生成速度。
第十二部分:数据是真正的预训练基石
21. 构建一个预训练数据管道
数据质量是技术栈中影响最大的部分之一。FineWeb发布了一个15万亿Token的数据集,基于Common Crawl快照构建,并采用了针对强开源预训练的过滤和去重选择。Dolma提供了OLMo背后的开放语料库。DataComp-LM展示了标准化的数据整理实验如何在固定计算量下显著提升模型质量。
22. 合成数据:生成、过滤并证明其有效性
当合成数据具有针对性、经过过滤并诚实评估时,它可能有所帮助。phi-1的工作表明,在高质量“教科书式”和合成代码数据上训练的小型模型可以在编码基准上表现惊人地好。但如果不小心使用,合成数据也可能放大错误、使多样性崩溃或污染评估。
第十三部分:缩放定律和容量
23. 训练微小、小型和中型模型并拟合缩放曲线
缩放定律量化了损失如何随模型大小、数据大小和计算量变化。Kaplan风格的缩放定律在几个数量级上显示了平滑的幂律关系。Chinchilla后来认为许多大型模型训练不足,计算最优训练应该更仔细地平衡参数和Token。
第十四部分:后训练将基础模型转变为助手
24. 微调、指令微调和偏好微调
基础模型预测文本。助手遵循指令。InstructGPT表明,人类反馈微调可以使模型比简单扩展预训练模型更符合用户意图。直接偏好优化后来简化了偏好训练,在许多设置中避免了显式的奖励模型和RL循环。
25. 构建一个玩具RLHF、PPO、GRPO和RLVR实验室
强化学习对于推理模型变得尤为重要。OpenAI的o1系统卡强调,随着更多强化学习和更多推理时间思考,性能会提升。DeepSeek-R1普及了对面向推理的RL的公开讨论,包括纯RL的R1-Zero阶段和最终模型的多阶段管道。DeepSeekMath引入了组相对策略优化,作为一种PPO风格的替代方案,通过避免单独的评论家模型来减少内存开销。
第十五部分:量化和压缩
26. 量化一个模型并衡量损失
量化不仅仅是“让它更小”。它会改变数值行为、延迟、内存带宽,有时还会改变模型质量。
GPTQ展示了对非常大语言模型的一次性后训练量化。AWQ表明,保护一小部分显著权重可以改善低位量化。GGUF成为一种广泛使用的
相似文章
@_avichawla: https://x.com/_avichawla/status/2053049489963811135
本文概述了2026年大语言模型(LLM)工程的路线图,详细阐述了包括提示词工程、RAG系统、上下文管理在内的八大关键支柱,并为每项支柱提供了精选的免费及开源资源。
LLMs 101:实用指南(2026年版)
一份关于LLMs的全面实用指南,涵盖推理机制、令牌、Transformer、KV缓存、本地部署硬件和量化,截至2026年5月。
@tom_doerr: 为期8周的实践型LLM工程课程,每周项目作业 https://github.com/ed-donner/llm_engineering…
由Ed Donner提供的免费开源8周实践型LLM工程课程,包含每周项目作业,涵盖Ollama、Llama 3.2及AI编程工具等主题。
@Tabbu_ai: https://x.com/Tabbu_ai/status/2058145123444347339
一篇教育性推文串,解释了理解和从头构建LLM架构的11个关键课程,涵盖token、嵌入、注意力、位置编码、数据质量和常见误解。
@Dinosn:从零开始构建现代 LLM。每行代码皆有注释。讲解得像给五岁孩子听一样通俗易懂。
一份详尽的12章指南,指导开发者利用全注释代码从零构建现代 LLM,重点讲解注意力机制和 RoPE 等 Transformer 架构基础。