Learning paths

技术系列

发布日期记录写作时间,系列顺序还原技术演进。选择一条路径,从问题的起点连续读到当前实现。

Series 1

Attention 与长上下文

从 IO-aware 精确注意力出发,理解 KV 头共享、跨设备长序列计算与稀疏注意力。

8 篇文章
  1. 01

    RoPE:相对位置怎样进入 Attention,长上下文又改变了什么

    从二维旋转与多频率相位,推导位置插值、基数调整以及 KV Cache 的一致性边界

  2. 02

    FlashAttention:IO-aware 的精确注意力

    从在线 Softmax 到 GPU 分块流水线

  3. 03

    GQA 分组查询注意力:KV Cache 与模型质量的折中

    从多头注意力到缓存、带宽与并行切分

  4. 04

    FlashAttention-2:从 IO-aware 到更好的并行划分

    为什么同一个精确注意力算法,还能通过 Thread Block 与 Warp 重排再快一倍

  5. 05

    Ring Attention:把超长序列沿设备环流动

    从分块 Online Softmax 到 KV 通信与本地 Attention 计算重叠

  6. 06

    MLA:为什么一份 Latent 可以代替多头 KV Cache

    从联合低秩压缩、矩阵吸收到 Decoupled RoPE 与 FlashMLA 执行模式

  7. 07

    FlashAttention-3:用异步流水榨出 Hopper 的 Attention 性能

    从 TMA、WGMMA、Warp Specialization 到更准确的 FP8 Attention

  8. 08

    DeepSeek V3.2 稀疏注意力:Lightning Indexer 与 Top-k 选择

    从 MLA 全量访问到内容相关的细粒度稀疏化

Series 2

KV Cache 与内存系统

沿着缓存的生成、分配、复用、迁移和量化路径,理解 LLM Serving 的状态管理。

6 篇文章
  1. 01

    KV Cache:自回归推理为什么必须保存历史状态

    从重复计算、每 Token 显存到 MHA/GQA/MQA 与缓存生命周期

  2. 02

    PagedAttention 与 vLLM KV Cache 管理

    一条请求的分块、映射、共享与回收

  3. 03

    SGLang 与 RadixAttention:跨请求复用 KV Cache

    从最长前缀匹配到缓存感知调度

  4. 04

    Mooncake:让 KV Cache 跨 Prefill 与 Decode 流动

    从分离式推理、分布式缓存池到缓存感知调度与高速传输

  5. 05

    NIXL 与 KV Connector:把推理引擎和传输后端解耦

    从内存注册、元数据握手到异步 P/D KV Cache 交接

  6. 06

    NVFP4 KV Cache:Blackwell 上的 4-bit 缓存量化

    从 E2M1 与双层缩放到容量、内核和精度验证

Series 3

Serving 引擎与请求调度

从批次形成到 GPU 执行,拆解请求如何进入调度器、缓存管理器和模型运行时。

8 篇文章
  1. 01

    Continuous Batching:为什么 Batch 可以动态变化

    从请求粒度到 Iteration-Level Scheduling,理解生成式推理的批次重组

  2. 02

    Chunked Prefill:长 Prompt 为什么要切片执行

    从 Prefill/Decode 干扰到 Token Budget 与 Stall-Free Scheduling

  3. 03

    长请求治理:Chunked Prefill 之后,KV Cache 怎样避免被长输出占满

    从输入公平调度、动态 KV 准入到高水位保护,理解长尾请求的完整生命周期

  4. 04

    vLLM V1 EngineCore:引擎进程与执行核心的解耦

    沿一次请求理解 Client、Scheduler、KV Cache 与 GPU Worker

  5. 05

    FairBatching:面向 LLM 推理的公平批次形成

    从延迟契约、进度余量到 Prefill Admission Budget

  6. 06

    异步连续批处理:CPU/GPU 重叠与正确同步

    沿着相邻两个 Engine Step 拆解调度流水线

  7. 07

    vLLM Model Runner V2:GPU-native 与 async-first 的执行核心

    从稳定状态表到无 CPU 同步的 CUDA Stream

  8. 08

    大模型推理引擎对比:vLLM、SGLang 与 TensorRT-LLM

    从请求路径、工作负载到可复现选型

Series 4

推测解码

从无损接受与校正出发,追踪 EAGLE、量化自推测和动态验证的发展路径。

8 篇文章
  1. 01

    推测解码:从拒绝采样到工程实践

    用并行验证减少大模型的串行解码轮次

  2. 02

    EAGLE:为什么推测解码要预测 Feature

    从 Feature Uncertainty、Advanced Token 到树形草稿与无损验证

  3. 03

    QuantSpec:分层量化 KV Cache 的自推测解码

    用同一份位平面同时服务 INT4 草稿与 INT8 验证

  4. 04

    推理模型的推测解码:Thinking Budget 与 EAGLE-3

    把生成工作量与执行效率分开优化

  5. 05

    MoE 与推测解码:计算、通信和接受率的联合优化

    从专家散射看清为什么验证更多 token 可能反而更慢

  6. 06

    SpecForge:把 EAGLE3 从训练样本交付到 SGLang

    理解特征对齐、Training-Time Test 与草稿模型的部署契约

  7. 07

    DFlash:Block Diffusion 怎样一次生成一整段 Draft

    从目标隐藏状态、并行块预测到前缀验证,理解扩散式推测解码的收益边界

  8. 08

    DSpark:用置信度决定推测解码该验证多远

    从半自回归草稿、前缀存活概率到 SGLang Ragged Verification

Series 5

MoE 与分布式通信

围绕路由、专家计算、负载均衡与跨设备通信,分析稀疏模型的真实执行成本。

6 篇文章
  1. 01

    Expert Parallel:MoE Token 为什么要两次穿过 GPU 网络

    从 EP 分组、All-to-All 通信量到 Prefill/Decode 的并行选择

  2. 02

    MoE 推理优化:路由、专家并行与通信

    沿着一个 token 的跨 GPU 旅程理解性能瓶颈

  3. 03

    MoE 负载均衡:从 Router 偏置到 Expert 副本与 EPLB

    分清训练时均衡、推理时重排,以及不改变 Top-k 语义的热点分流

  4. 04

    DeepEP:把 MoE 的 Dispatch 与 Combine 做成专用数据面

    理解变长通信、两级互联、低延迟路径、FP8 传输与计算重叠

  5. 05

    Wide EP:当 MoE Expert Parallel 横跨几十张 GPU

    从 Attention DP、跨节点 All-to-All 到 P/D 两套并行布局

  6. 06

    Attention–FFN 解耦:一层 Transformer 为什么要跨两类 GPU Pool

    从 KV 状态、MoE Expert 权重到逐层 Activation 传输,理解 AF Disaggregation 的容量与通信边界

Series 6

分布式推理与云原生部署

理解 Prefill/Decode 解耦、KV 传输、缓存感知路由和 GPU 集群资源编排。

6 篇文章
  1. 01

    DistServe:为什么 Prefill 与 Decode 要分开配置

    从阶段干扰、每 GPU Goodput 到带宽感知 Placement

  2. 02

    LLM 推理容量规划:从请求 Trace 推到 GPU 数量

    把 ISL、OSL、KV Cache、P/D Goodput 与扩容提前量放进同一张账

  3. 03

    P/D 弹性:扩容决定发出后,GPU 为什么还不能接请求

    从 SLO 控制环、权重分发与编译缓存到 Worker Ready Gate,拆解分离式推理的容量生效时间

  4. 04

    NVIDIA Dynamo:把多套推理引擎组织成一个系统

    从请求路由、KV 状态到 P/D 扩缩容与 Kubernetes 编排

  5. 05

    llm-d:Kubernetes 原生分布式 LLM 推理栈

    沿一条请求理解智能路由、KV Cache 与 Prefill/Decode 解耦

  6. 06

    分布式 LLM 推理故障恢复:一条流式请求怎样活下来

    从健康检测、请求迁移到 KV 状态、优雅下线与过载保护

Series 7

GPU Kernel、编译器与低精度

从执行图和 kernel 组合深入采样、量化与生产性能验证。

11 篇文章
  1. 01

    Roofline:从计算量、数据流量到可信的 GPU 性能判断

    推导算术强度与两类资源上限,再用 GEMM、缓存层级和串行阶段解释性能测量的边界

  2. 02

    CUDA Graph:把动态 LLM Serving 装进可重放的静态执行图

    从 Kernel Launch 开销到 Batch Bucket、静态地址与 Piecewise Capture

  3. 03

    Triton GEMM:从一个输出 Tile 到地址、边界与数据复用

    沿一段分块矩阵乘推导 program、stride 和 mask,再解释累加精度与调优为什么必须一起考虑

  4. 04

    FP8 推理:E4M3、E5M2、Scale 与 Tensor Core 到底怎样配合

    分清权重存储、Activation 量化、GEMM、KV Cache 与通信的五条低精度路径

  5. 05

    SmoothQuant:把 Activation Outlier 迁移到 Weight

    从等价通道缩放到 W8A8 INT8 GEMM、Q/DQ 融合与 Serving 收益

  6. 06

    torch.compile:LLM Serving 从 Python Forward 到融合 GPU Kernel

    沿着 Dynamo、FX、Guards、Inductor 与 Graph Break 理解编译收益和冷启动

  7. 07

    AWQ:为什么 4-bit 权重量化要先观察 Activation

    从显著通道、等价缩放到 W4A16 Kernel 与端到端 Serving 收益

  8. 08

    W4A8:4-bit Weight 怎样喂给 8-bit Tensor Core

    从 Progressive Quantization、寄存器解包到 QServe 的系统协同设计

  9. 09

    FlashInfer:面向 LLM Serving 的可组合 GPU Kernel 库

    从动态请求形状到 plan/run、JIT 与后端分派

  10. 10

    FlashInfer Sorting-Free Sampling:无需显式排序的 GPU 采样

    从目标分布到 Dual Pivot Rejection Sampling

  11. 11

    FlashInfer-Bench:AI 生成 GPU Kernel 的评测与上线边界

    从算子契约、真实 Workload 到运行时替换

Series 8

分布式训练与后训练

讨论状态分片、并行策略、checkpoint、训练存储以及强化学习训练流水线。

14 篇文章
  1. 01

    GPU 互联拓扑:数据怎样从 HBM 走到另一张 GPU 与远端 NIC

    从板内互联、PCIe 层级到跨节点 RDMA,建立可验证的数据路径模型

  2. 02

    GPUDirect RDMA:网卡如何直接访问 GPU Memory

    从 PCIe BAR、内存注册与 rkey 到有序完成和可恢复数据面

  3. 03

    Collective Communication:AllReduce、AllGather、ReduceScatter 与 All-to-All

    从 Tensor 所有权和通信量出发,理解分布式训练中的数据重排

  4. 04

    NCCL 内部机制:一次 AllReduce 如何变成拓扑图、Channel 与 GPU Kernel

    沿着 NCCL 2.31.2 的真实执行路径,理解调优、传输与故障诊断

  5. 05

    Activation Checkpointing:反向传播需要的张量,何时保存、何时重算

    沿着梯度依赖推导分段重计算,理解显存收益、执行等价性与并行训练中的真实代价

  6. 06

    混合精度训练:从 FP16/BF16 的数值边界到一次正确的参数更新

    区分计算与持久状态的精度,推导 loss scaling,并沿梯度累积、裁剪和跳步追踪训练目标

  7. 07

    Pipeline Parallel:Micro-batch 怎样流过 Transformer Stages

    从 GPipe、1F1B 到 Interleaving,理解流水气泡、Activation 生命周期与并行组合

  8. 08

    Tensor Parallel:怎样把一个 Transformer Layer 切到多张 GPU

    从 Column/Row Parallel MLP 到 Attention、Sequence Parallel 与二维设备网格

  9. 09

    从 Data Parallel 到 ZeRO/FSDP:训练显存到底怎样被切开

    逐项计算参数、梯度、Optimizer State、Activation 与 Collective 的生命周期

  10. 10

    序列打包与变长 Attention:少算 Padding 之后,怎样保持训练目标不变

    从 cu_seqlens 和段内可见性追踪位置、shifted labels 与有效 target 分母,区分布局优化和训练语义变化

  11. 11

    RLHF/GRPO 系统数据流:一次训练迭代里四类模型怎样协作

    从 Policy Snapshot、Rollout 与 Reward,到 Advantage、参数更新和一致性边界

  12. 12

    Sequence Parallel 与 Context Parallel:Token 维到底怎样切

    从 LayerNorm Activation 分片到跨卡 Attention,厘清 SP、CP、Ring 与 All-to-All 的边界

  13. 13

    Distributed Checkpoint:怎样保存并重分片多维训练状态

    从 Sharded State Dict、两阶段提交到异步 I/O,构建真正可恢复的训练快照

  14. 14

    Zero-Bubble Pipeline Parallel:为什么 Weight Gradient 可以延后计算

    从 Backward 依赖拆分、显存生命周期到优化器版本边界,理解接近零气泡的同步流水线

Series 9

模型服务能力与 Agent Infra

连接 Adapter、多模态编码、结构化生成、工具协议和可恢复的 Agent 工作流。

5 篇文章
  1. 01

    多模态 Serving:图片进入 LLM 之前发生了什么

    拆解 Media I/O、Processor、Encoder、Connector、Embedding Cache 与语言模型调度

  2. 02

    结构化生成:Grammar 怎样约束每一个 Token

    从 JSON Schema、Regex 与 CFG 到 Token Mask,理解 Constrained Decoding 的正确性与性能边界

  3. 03

    Multi-LoRA Serving:一份 Base Model 怎样服务不同 Adapter

    从低秩增量、异构批处理到 Adapter Cache,理解多租户推理的计算与隔离边界

  4. 04

    Program-Aware Serving:Agent 等待工具时,GPU 状态该放在哪里

    从 Call 依赖、PLAS/ATLAS 调度到 KV Preserve、Swap 与 Recompute,理解 Agent 工作流的推理数据面

  5. 05

    LangGraph + MCP:构建可恢复的 Agent 工作流

    状态机负责执行语义,协议负责外部能力边界