Learning paths
技术系列
发布日期记录写作时间,系列顺序还原技术演进。选择一条路径,从问题的起点连续读到当前实现。
Series 1
Attention 与长上下文
从 IO-aware 精确注意力出发,理解 KV 头共享、跨设备长序列计算与稀疏注意力。
-
01→
RoPE:相对位置怎样进入 Attention,长上下文又改变了什么
从二维旋转与多频率相位,推导位置插值、基数调整以及 KV Cache 的一致性边界
-
02→
FlashAttention:IO-aware 的精确注意力
从在线 Softmax 到 GPU 分块流水线
-
03→
GQA 分组查询注意力:KV Cache 与模型质量的折中
从多头注意力到缓存、带宽与并行切分
-
04→
FlashAttention-2:从 IO-aware 到更好的并行划分
为什么同一个精确注意力算法,还能通过 Thread Block 与 Warp 重排再快一倍
-
05→
Ring Attention:把超长序列沿设备环流动
从分块 Online Softmax 到 KV 通信与本地 Attention 计算重叠
-
06→
MLA:为什么一份 Latent 可以代替多头 KV Cache
从联合低秩压缩、矩阵吸收到 Decoupled RoPE 与 FlashMLA 执行模式
-
07→
FlashAttention-3:用异步流水榨出 Hopper 的 Attention 性能
从 TMA、WGMMA、Warp Specialization 到更准确的 FP8 Attention
-
08→
DeepSeek V3.2 稀疏注意力:Lightning Indexer 与 Top-k 选择
从 MLA 全量访问到内容相关的细粒度稀疏化
Series 2
KV Cache 与内存系统
沿着缓存的生成、分配、复用、迁移和量化路径,理解 LLM Serving 的状态管理。
-
01→
KV Cache:自回归推理为什么必须保存历史状态
从重复计算、每 Token 显存到 MHA/GQA/MQA 与缓存生命周期
-
02→
PagedAttention 与 vLLM KV Cache 管理
一条请求的分块、映射、共享与回收
-
03→
SGLang 与 RadixAttention:跨请求复用 KV Cache
从最长前缀匹配到缓存感知调度
-
04→
Mooncake:让 KV Cache 跨 Prefill 与 Decode 流动
从分离式推理、分布式缓存池到缓存感知调度与高速传输
-
05→
NIXL 与 KV Connector:把推理引擎和传输后端解耦
从内存注册、元数据握手到异步 P/D KV Cache 交接
-
06→
NVFP4 KV Cache:Blackwell 上的 4-bit 缓存量化
从 E2M1 与双层缩放到容量、内核和精度验证
Series 3
Serving 引擎与请求调度
从批次形成到 GPU 执行,拆解请求如何进入调度器、缓存管理器和模型运行时。
-
01→
Continuous Batching:为什么 Batch 可以动态变化
从请求粒度到 Iteration-Level Scheduling,理解生成式推理的批次重组
-
02→
Chunked Prefill:长 Prompt 为什么要切片执行
从 Prefill/Decode 干扰到 Token Budget 与 Stall-Free Scheduling
-
03→
长请求治理:Chunked Prefill 之后,KV Cache 怎样避免被长输出占满
从输入公平调度、动态 KV 准入到高水位保护,理解长尾请求的完整生命周期
-
04→
vLLM V1 EngineCore:引擎进程与执行核心的解耦
沿一次请求理解 Client、Scheduler、KV Cache 与 GPU Worker
-
05→
FairBatching:面向 LLM 推理的公平批次形成
从延迟契约、进度余量到 Prefill Admission Budget
-
06→
异步连续批处理:CPU/GPU 重叠与正确同步
沿着相邻两个 Engine Step 拆解调度流水线
-
07→
vLLM Model Runner V2:GPU-native 与 async-first 的执行核心
从稳定状态表到无 CPU 同步的 CUDA Stream
-
08→
大模型推理引擎对比:vLLM、SGLang 与 TensorRT-LLM
从请求路径、工作负载到可复现选型
Series 4
推测解码
从无损接受与校正出发,追踪 EAGLE、量化自推测和动态验证的发展路径。
-
01→
推测解码:从拒绝采样到工程实践
用并行验证减少大模型的串行解码轮次
-
02→
EAGLE:为什么推测解码要预测 Feature
从 Feature Uncertainty、Advanced Token 到树形草稿与无损验证
-
03→
QuantSpec:分层量化 KV Cache 的自推测解码
用同一份位平面同时服务 INT4 草稿与 INT8 验证
-
04→
推理模型的推测解码:Thinking Budget 与 EAGLE-3
把生成工作量与执行效率分开优化
-
05→
MoE 与推测解码:计算、通信和接受率的联合优化
从专家散射看清为什么验证更多 token 可能反而更慢
-
06→
SpecForge:把 EAGLE3 从训练样本交付到 SGLang
理解特征对齐、Training-Time Test 与草稿模型的部署契约
-
07→
DFlash:Block Diffusion 怎样一次生成一整段 Draft
从目标隐藏状态、并行块预测到前缀验证,理解扩散式推测解码的收益边界
-
08→
DSpark:用置信度决定推测解码该验证多远
从半自回归草稿、前缀存活概率到 SGLang Ragged Verification
Series 5
MoE 与分布式通信
围绕路由、专家计算、负载均衡与跨设备通信,分析稀疏模型的真实执行成本。
-
01→
Expert Parallel:MoE Token 为什么要两次穿过 GPU 网络
从 EP 分组、All-to-All 通信量到 Prefill/Decode 的并行选择
-
02→
MoE 推理优化:路由、专家并行与通信
沿着一个 token 的跨 GPU 旅程理解性能瓶颈
-
03→
MoE 负载均衡:从 Router 偏置到 Expert 副本与 EPLB
分清训练时均衡、推理时重排,以及不改变 Top-k 语义的热点分流
-
04→
DeepEP:把 MoE 的 Dispatch 与 Combine 做成专用数据面
理解变长通信、两级互联、低延迟路径、FP8 传输与计算重叠
-
05→
Wide EP:当 MoE Expert Parallel 横跨几十张 GPU
从 Attention DP、跨节点 All-to-All 到 P/D 两套并行布局
-
06→
Attention–FFN 解耦:一层 Transformer 为什么要跨两类 GPU Pool
从 KV 状态、MoE Expert 权重到逐层 Activation 传输,理解 AF Disaggregation 的容量与通信边界
Series 6
分布式推理与云原生部署
理解 Prefill/Decode 解耦、KV 传输、缓存感知路由和 GPU 集群资源编排。
-
01→
DistServe:为什么 Prefill 与 Decode 要分开配置
从阶段干扰、每 GPU Goodput 到带宽感知 Placement
-
02→
LLM 推理容量规划:从请求 Trace 推到 GPU 数量
把 ISL、OSL、KV Cache、P/D Goodput 与扩容提前量放进同一张账
-
03→
P/D 弹性:扩容决定发出后,GPU 为什么还不能接请求
从 SLO 控制环、权重分发与编译缓存到 Worker Ready Gate,拆解分离式推理的容量生效时间
-
04→
NVIDIA Dynamo:把多套推理引擎组织成一个系统
从请求路由、KV 状态到 P/D 扩缩容与 Kubernetes 编排
-
05→
llm-d:Kubernetes 原生分布式 LLM 推理栈
沿一条请求理解智能路由、KV Cache 与 Prefill/Decode 解耦
-
06→
分布式 LLM 推理故障恢复:一条流式请求怎样活下来
从健康检测、请求迁移到 KV 状态、优雅下线与过载保护
Series 7
GPU Kernel、编译器与低精度
从执行图和 kernel 组合深入采样、量化与生产性能验证。
-
01→
Roofline:从计算量、数据流量到可信的 GPU 性能判断
推导算术强度与两类资源上限,再用 GEMM、缓存层级和串行阶段解释性能测量的边界
-
02→
CUDA Graph:把动态 LLM Serving 装进可重放的静态执行图
从 Kernel Launch 开销到 Batch Bucket、静态地址与 Piecewise Capture
-
03→
Triton GEMM:从一个输出 Tile 到地址、边界与数据复用
沿一段分块矩阵乘推导 program、stride 和 mask,再解释累加精度与调优为什么必须一起考虑
-
04→
FP8 推理:E4M3、E5M2、Scale 与 Tensor Core 到底怎样配合
分清权重存储、Activation 量化、GEMM、KV Cache 与通信的五条低精度路径
-
05→
SmoothQuant:把 Activation Outlier 迁移到 Weight
从等价通道缩放到 W8A8 INT8 GEMM、Q/DQ 融合与 Serving 收益
-
06→
torch.compile:LLM Serving 从 Python Forward 到融合 GPU Kernel
沿着 Dynamo、FX、Guards、Inductor 与 Graph Break 理解编译收益和冷启动
-
07→
AWQ:为什么 4-bit 权重量化要先观察 Activation
从显著通道、等价缩放到 W4A16 Kernel 与端到端 Serving 收益
-
08→
W4A8:4-bit Weight 怎样喂给 8-bit Tensor Core
从 Progressive Quantization、寄存器解包到 QServe 的系统协同设计
-
09→
FlashInfer:面向 LLM Serving 的可组合 GPU Kernel 库
从动态请求形状到 plan/run、JIT 与后端分派
-
10→
FlashInfer Sorting-Free Sampling:无需显式排序的 GPU 采样
从目标分布到 Dual Pivot Rejection Sampling
-
11→
FlashInfer-Bench:AI 生成 GPU Kernel 的评测与上线边界
从算子契约、真实 Workload 到运行时替换
Series 8
分布式训练与后训练
讨论状态分片、并行策略、checkpoint、训练存储以及强化学习训练流水线。
-
01→
GPU 互联拓扑:数据怎样从 HBM 走到另一张 GPU 与远端 NIC
从板内互联、PCIe 层级到跨节点 RDMA,建立可验证的数据路径模型
-
02→
GPUDirect RDMA:网卡如何直接访问 GPU Memory
从 PCIe BAR、内存注册与 rkey 到有序完成和可恢复数据面
-
03→
Collective Communication:AllReduce、AllGather、ReduceScatter 与 All-to-All
从 Tensor 所有权和通信量出发,理解分布式训练中的数据重排
-
04→
NCCL 内部机制:一次 AllReduce 如何变成拓扑图、Channel 与 GPU Kernel
沿着 NCCL 2.31.2 的真实执行路径,理解调优、传输与故障诊断
-
05→
Activation Checkpointing:反向传播需要的张量,何时保存、何时重算
沿着梯度依赖推导分段重计算,理解显存收益、执行等价性与并行训练中的真实代价
-
06→
混合精度训练:从 FP16/BF16 的数值边界到一次正确的参数更新
区分计算与持久状态的精度,推导 loss scaling,并沿梯度累积、裁剪和跳步追踪训练目标
-
07→
Pipeline Parallel:Micro-batch 怎样流过 Transformer Stages
从 GPipe、1F1B 到 Interleaving,理解流水气泡、Activation 生命周期与并行组合
-
08→
Tensor Parallel:怎样把一个 Transformer Layer 切到多张 GPU
从 Column/Row Parallel MLP 到 Attention、Sequence Parallel 与二维设备网格
-
09→
从 Data Parallel 到 ZeRO/FSDP:训练显存到底怎样被切开
逐项计算参数、梯度、Optimizer State、Activation 与 Collective 的生命周期
-
10→
序列打包与变长 Attention:少算 Padding 之后,怎样保持训练目标不变
从 cu_seqlens 和段内可见性追踪位置、shifted labels 与有效 target 分母,区分布局优化和训练语义变化
-
11→
RLHF/GRPO 系统数据流:一次训练迭代里四类模型怎样协作
从 Policy Snapshot、Rollout 与 Reward,到 Advantage、参数更新和一致性边界
-
12→
Sequence Parallel 与 Context Parallel:Token 维到底怎样切
从 LayerNorm Activation 分片到跨卡 Attention,厘清 SP、CP、Ring 与 All-to-All 的边界
-
13→
Distributed Checkpoint:怎样保存并重分片多维训练状态
从 Sharded State Dict、两阶段提交到异步 I/O,构建真正可恢复的训练快照
-
14→
Zero-Bubble Pipeline Parallel:为什么 Weight Gradient 可以延后计算
从 Backward 依赖拆分、显存生命周期到优化器版本边界,理解接近零气泡的同步流水线
Series 9
模型服务能力与 Agent Infra
连接 Adapter、多模态编码、结构化生成、工具协议和可恢复的 Agent 工作流。
-
01→
多模态 Serving:图片进入 LLM 之前发生了什么
拆解 Media I/O、Processor、Encoder、Connector、Embedding Cache 与语言模型调度
-
02→
结构化生成:Grammar 怎样约束每一个 Token
从 JSON Schema、Regex 与 CFG 到 Token Mask,理解 Constrained Decoding 的正确性与性能边界
-
03→
Multi-LoRA Serving:一份 Base Model 怎样服务不同 Adapter
从低秩增量、异构批处理到 Adapter Cache,理解多租户推理的计算与隔离边界
-
04→
Program-Aware Serving:Agent 等待工具时,GPU 状态该放在哪里
从 Call 依赖、PLAS/ATLAS 调度到 KV Preserve、Swap 与 Recompute,理解 Agent 工作流的推理数据面
-
05→
LangGraph + MCP:构建可恢复的 Agent 工作流
状态机负责执行语义,协议负责外部能力边界