跳到主要内容
#公告 #更新日志

AIInfraGuide 文章更新日志

记录 AIInfraGuide 知识库的每一次内容更新,方便读者追踪最新变化

本文持续记录 AIInfraGuide 知识库的内容更新,按时间倒序排列,方便大家了解最新动态。


2026-11-07

新增内容

模块四 · 推理优化 第 6 章「分布式推理与大模型部署」上线,从推理场景下的四种并行切法讲到 vLLM 的单机、多节点部署与对照实验,配置基于 vLLM v0.32.0,新增 10 张手绘风格示意图:

调整内容


2026-11-01

调整内容

模块四 · 推理优化 第 3 章「nano-vllm 源码解读」6 篇文章修订:源码走读对齐 nano-vllm main 分支 2026-04-26 的提交,新增 3 张示意图,原有 8 张 Mermaid 图全部改为手绘风格 SVG,并修正了部分不准确的表述:

  • 文章: 3.1 项目全景与四层架构 | 项目信息表更新代码行数、版本与依赖、Star 数;四层架构图与请求生命周期图改为 SVG;补充 Prefill 与 Decode 不混批的说明

  • 文章: 3.2 配置、入口与一次 generate 的全流程 | 补充 tensor_parallel_size、ignore_eos 等参数的约束;说明 nano-vllm 不支持贪心采样,以及 README 示例不套对话模板的问题;补充 step 返回的 num_tokens 用正负号区分阶段

  • 文章: 3.3 模型骨架与核心算子 | 张量并行切分图改为 SVG;新增 Sampler 一节;补充每层 2 次 all_reduce 的来源,以及 KV 头数限制 TP 度的说明

  • 文章: 3.4 KV Cache 与 BlockManager | 前缀缓存一节拆成哈希链、登记、匹配三部分;新增前缀命中分配示意图,匹配流程图改为 SVG;补充最后一块不查表、命中在用块与空闲块的区别,以及整块粒度带来的复用截断

  • 文章: 3.5 Scheduler 与连续批处理 | 序列状态图与调度闭环图改为 SVG;逐条解释 prefill 分支的三处 break、严格先来先服务带来的队头阻塞;补充抢占走重计算、while ... else 的执行条件

  • 文章: 3.6 ModelRunner、CUDA Graph 与性能基准 | 新增 slot_mapping 计算图与 CUDA Graph 档位图,run 流程图与全章调用链图改为 SVG;补充 KV Cache 的 6 维布局、档位上限与 max_num_seqs 的关系;性能基准补充测试条件和结论的适用范围

模块四 · 推理优化 第 4 章「量化」6 篇文章修订:新增 7 张示意图,原有 4 张扁平风格插图重画为手绘风格,原有 Mermaid 图全部改为 SVG,并对照 vLLM v0.32.0 源码修正了部分表述:

  • 文章: 4.1 量化基础 | 新增四种量化粒度图,重画对称/非对称量化数轴;补充 4-bit 对称量化的编码范围;PyTorch 量化参考资料改为 torchao 文档

  • 文章: 4.2 W8A8 与 SmoothQuant | 重画配对缩放图,离线量化流程图改为 SVG

  • 文章: 4.3 Weight-only INT4 | 新增 W4A16 打包与片上反量化图、GPTQ/AWQ 对比图,Marlin 流水线图改为 SVG

  • 文章: 4.4 KV Cache 量化 | 重画 KIVI 分组示意图;补充 Value 残留区按滑动窗口逐 Token 量化移出的说明

  • 文章: 4.5 FP8 与 NVFP4/MXFP4 | 新增 FP8 与 INT8 刻度分布对比图,重画 FP4 微块缩放图;在线 FP8 方案补充 fp8_per_channel

  • 文章: 4.6 量化选型与 vLLM 实战 | 选型流程图改为 SVG;修正在线 FP8 的加载方式(v0.32.0 先建在 meta 设备上逐层转换,不会整份载入 16-bit 权重)

模块四 · 推理优化 第 5 章「Speculative Decoding」修订:新增 1 张示意图,原有 4 张 Mermaid 图全部改为手绘风格 SVG,并对照 vLLM v0.32.0 源码修正了部分表述:

  • 文章: 5.1 投机解码核心原理 | Draft + Verify 一轮流程图改为 SVG,按 γ = 4 标出接受、修正与作废的位置;新增残差采样保分布示意图,用第 7 节的数值演示两条路径相加等于 p

  • 文章: 5.2 Draft 模型与无模型方案 | N-gram 查找流程图改为 SVG,标出 vLLM 取最长、最早匹配的规则;修正 ngram_gpu 的适用范围(V1、V2 Model Runner 都可用);补充 Suffix 不设候选上限时的默认值

  • 文章: 5.3 Medusa、EAGLE 与 MTP | Draft Tree 图改为 SVG,与第 8 节实验同一棵树,画出树形 Mask 与按深度编号的 Position ID;补充 Block 验收只在 V2 Model Runner 中实现;修正 MTP 免版本错配的适用条件

  • 文章: 5.4 收益边界与限制 | 调度循环图改为 SVG,补充同一 Batch 内不同请求步长不同的示例;修正 Adaptive Verification 的支持范围(不只 DSpark),以及 N-gram/Suffix 在高 QPS 下的收益描述

  • 文章: 5.5 vLLM 投机解码实战 | 逐位置接受指标改用实际暴露的 ..._per_pos_total 名称并说明计数含义;补充 --speculative-config 的简写 -sc


2026-10-29

调整内容

模块四 · 推理优化 第 2 章「推理引擎核心技术」全面修订:5 篇文章新增 9 张示意图,参数默认值与源码走读对齐 vLLM v0.32.0,并修正了部分过时或不准确的表述:


2026-10-26

调整内容

模块四 · 推理优化 第 4 章「量化」6 篇文章修订,框架相关内容对齐 vLLM v0.32.0,各篇补充信息时效说明,并重新组织章节结构:

  • 文章: 4.1 量化基础:Scale、粒度与 PTQ/QAT | 用”刻度有限的尺子”重写量化与反量化的讲解;位宽、矩阵轴与量化粒度拆成独立小节;校准单列一章,讲清量程选择与静态、动态校准

  • 文章: 4.2 W8A8 量化:SmoothQuant 如何处理激活离群值 | 等价缩放补充公式与单个点积的直观推导;平滑系数一节改为讲迁移强度 α 的选择;补充离线流程、收益与适用条件,以及可动手验证的点积示例

  • 文章: 4.3 Weight-only INT4:GPTQ、AWQ 与 Marlin | 补充 GPTQ 的代价与效果、AWQ 用缩放代替混合精度的思路;新增 vLLM 中的 Kernel 选择、量化工具选择与排查顺序

  • 文章: 4.4 KV Cache 量化:KIVI 与 FP8 缓存 | 新增 KV 占用估算;FP8 KV Cache 一节按 v0.32.0 重写,覆盖格式选择、Scale 校准、跳过敏感层,以及存储精度与计算精度的区别;注明旧版 calculate_kv_scales 参数已移除

  • 文章: 4.5 FP8 与 NVFP4/MXFP4:低比特浮点怎样工作 | 补充 E2M1 的 8 个幅值、微块粒度的形状写法与 Scale 自身的格式;对比 NVFP4 两层 Scale 与 MXFP4 一层 Scale;新增在 vLLM v0.32.0 中的使用方式

  • 文章: 4.6 量化选型与 vLLM 实战 | 区分量化方法、检查点格式与 Kernel 三层,补充 vLLM 各量化入口的含义;实验基准更新到 v0.32.0

模块四 · 推理优化 第 5 章「Speculative Decoding」5 篇文章修订,配置基准从 vLLM v0.31.0 升级到 v0.32.0,并新增 MTP 相关内容:


2026-10-12

新增内容

模块四 · 推理优化 第 3 章「nano-vllm 源码解读」上线,以约 1200 行的极简推理引擎 nano-vllm 为主线,逐模块读懂连续批处理、PagedAttention、FlashAttention、张量并行与 CUDA Graph 在真实代码里的组织方式:

  • 文章: 3.1 项目全景与四层架构 | 认识 nano-vllm 的定位与目录结构,用一张四层架构图读懂从用户请求到 token 输出的完整数据流

  • 文章: 3.2 配置、入口与一次 generate 的全流程 | 从 example.py 出发拆解 Config/SamplingParams/LLM/LLMEngine,看懂 generate 主循环如何驱动 add_request、step 与 postprocess

  • 文章: 3.3 模型骨架与核心算子 | 逐层拆解 Qwen3 实现:RMSNorm、RoPE、SwiGLU、并行 Linear 与张量并行切分、词表并行 Embedding/LMHead,以及 Attention 的 KV 写入与 FlashAttention 两条路径

  • 文章: 3.4 KV Cache 与 BlockManager | 拆解分块 KV 管理:Block 结构、PagedAttention 的分块思想、基于 xxhash 的前缀缓存、块的分配回收,以及 Sequence 的状态机与 block_table

  • 文章: 3.5 Scheduler 与连续批处理 | 读懂调度核心:Waiting/Running 双队列、Prefill/Decode 分离调度、Token Budget 预算、chunked prefill,以及显存不足时的抢占与重计算

  • 文章: 3.6 ModelRunner、CUDA Graph 与性能基准 | 序列张量化、全局 Context 注入、KV Cache 显存切分、CUDA Graph 的捕获与回放,以及官方性能基准与 vLLM 对比

调整内容

  • 原《vLLM 快速入门》下沉至第 1 章,调整为 1.2 vLLM 快速入门,作为推理基础的实操入门。

2026-10-08

新增内容

模块四 · 推理优化 第 4 章「量化」6 篇文章上线:


2026-10-07

新增内容

模块四 · 推理优化 第 5 章「Speculative Decoding」5 篇文章上线:


2026-09-15

新增内容

模块四 · 推理优化 新增第 12 章「端侧推理」:


2026-07-09

新增内容

模块四 · 推理优化 第 1、2 章文章上线:

  • 文章: 1.1 LLM 推理基础 | 一篇讲透 LLM 推理的底层逻辑:Prefill/Decode 两阶段、KV Cache 显存账本、TTFT/TPOT 等性能指标,以及用 Roofline 解释为什么 Decode 是 Memory Bound

  • 文章: 2.1 PagedAttention | 深入 vLLM 的核心技术 PagedAttention:借鉴虚拟内存分页思想,用 Block Table 消除 KV Cache 碎片化,并支持前缀共享与 Copy-on-Write

  • 文章: 2.2 Continuous Batching | 深入 Continuous Batching 的原理:Iteration-level Scheduling 让请求随到随拼、完成即退,把 GPU 利用率从三成拉到八成以上

  • 文章: 2.3 Prefix Cache 与 RadixAttention | 深入前缀缓存:vLLM 基于 Hash 的自动前缀缓存如何复用共享前缀的 KV 块,SGLang 的 RadixAttention 如何用 Radix Tree 做更高效的前缀共享

  • 文章: 2.4 Chunked Prefill 与统一调度 | 深入 Chunked Prefill:把长 Prompt 的 Prefill 切块,消除它对 Decode 请求的干扰;理解 vLLM V1 如何用统一 Token 预算调度器抹平 Prefill/Decode 边界

  • 文章: 2.5 Attention 后端与图优化 | 深入 vLLM 的可插拔 Attention 后端(FlashAttention/FlashInfer/FlashMLA/Triton)与图优化:用 CUDA Graph 和 torch.compile 消除 Decode 阶段的 CPU 启动开销

模块三 · 分布式训练 集合通信、优化器与数据并行章节文章上线:

  • 文章: 2.1 集合通信原语详解 | 讲清 AllReduce/ReduceScatter/AllGather/All-to-All 的输入输出语义、Ring AllReduce 算法原理,以及单次通信耗时的量化方法

  • 文章: 3.1 优化器:从 SGD 到 AdamW 与显存开销分析 | 梳理优化器从 SGD 到 AdamW 的演进,算清优化器状态的显存开销与 FP32 主权重的必要性,并介绍大 Batch 场景下的 LARS/LAMB

  • 文章: 4.1 数据并行详解 | 深入 DP/DDP/FSDP 三代方案的演进逻辑、梯度同步机制与通信量/显存账本的数学推导,理解 AllReduce 与参数分片的本质区别

  • 文章: 4.2 PyTorch 数据并行从原理到实战 | 系统掌握 PyTorch 数据并行全栈:通信原语、DDP、FSDP 参数分片与多机多卡实战,附完整代码示例


2026-07-07

新增内容


2026-07-06

新增内容

更新了分布式训练部分的教程大纲:

章节主要内容
第 1 章 分布式训练总论为什么需要分布式训练、训练显存账本、五大并行策略全景、环境搭建与 DDP 启动
第 2 章 集合通信原语AllReduce/ReduceScatter/AllGather/All-to-All 语义、Ring 算法、通信量量化分析
第 3 章 优化器SGD/Adam/AdamW 演进、优化器状态显存开销分析、大 Batch 优化器 LAMB/LARS
第 4 章 数据并行DataParallel、DistributedDataParallel、FSDP
第 5 章 ZeRO 系列ZeRO-1/2/3 切分策略与通信代价、ZeRO-Offload/Infinity 异构内存卸载
第 6 章 张量并行与序列并行Megatron Column/Row Parallel Linear、通信插入位置、序列并行激活显存优化
第 7 章 流水线并行Bubble 问题本质、GPipe、1F1B、Interleaved 调度
第 8 章 混合精度与显存优化FP16/BF16/FP8 混合精度、梯度累积、Activation Checkpointing
第 9 章 长序列训练与上下文并行Attention 的 O(s²) 困境、Ring Attention、DeepSpeed-Ulysses、Megatron Context Parallel
第 10 章 MoE 并行Router 机制、Expert Parallelism 的 All-to-All 通信、EP×DP×TP×PP 组合与负载均衡
第 11 章 3D 并行与混合并行策略TP×PP×DP×EP×CP 拓扑设计、通信域映射、rank 编排、集群选型

2026-06-25

新增内容

  • 文章: 6.1 FlashAttention V1详解 | 本文深入剖析 FlashAttention V1 的核心原理与实现细节,理解如何通过 Tiling + Online Softmax 将 Attention 的额外显存占用从 O(N2)O(N^2) 降至 O(N)O(N),同时大幅减少 HBM 访问量,实现无精度损失的加速

  • 文章: 6.2 FlashAttention V2详解 | 本本文深入剖析 FlashAttention V2 相比 V1 的核心改进:调换内外循环顺序、优化线程块内的工作分配、减少非矩阵乘运算


2026-06-06

新增内容

  • 文章: 5.2 CUDA Online Softmax 实现优化 | 本文从算法推导出发,逐步实现并优化 Online Softmax 的 CUDA Kernel,这也是理解 FlashAttention 的核心前置知识

2026-06-05

新增内容


2026-06-02

新增内容

  • 文章: 4.1 CUDA GEMM算子性能优化 |本文从朴素实现出发,逐步Block-Warp-Thread三级Tiling优化、向量化访存、Bank Conflict 消除、双缓冲等优化手段,带你系统掌握 CUDA GEMM 优化的完整方法论

2026-05-18

新增内容

  • 文章: 3.1 CUDA Reduce算子优化 | Reduce(规约)是 GPU 编程中最基础、也最能体现并行思维的算子之一。本文从最朴素的实现出发,逐步引入 Warp 级原语、向量化访存、多元素处理等优化手段,每一步都有性能对比和原理解析,帮你真正搞懂”怎么写出快的 Kernel”。

2026-05-16

新增内容

  • 模块三 · 分布式训练 新增 第2章:优化器 | 理解 SGD → Momentum → Adam → AdamW 的演进逻辑与内部状态组成,手算优化器显存开销(AdamW 占训练总显存 75%),掌握大 Batch 优化器 LAMB/LARS 的适用场景,为后续 ZeRO 显存优化和混合精度训练打下基础。

结构调整

  • 模块三 · 分布式训练 章节重新编号:原第27章顺延为第38章,新增第2章”优化器”插入总论与数据并行之间
  • 同步更新 AI Infra 学习路线、README 中的模块三章节目录

2026-05-13

新增内容

  • 文章: 2.4 同步与原子操作 | 正确的同步机制是编写无 Bug 并行程序的基础。本文详解 CUDA 中的块内同步 __syncthreads()、Warp 级同步、Memory Fence,以及原子操作的使用场景、性能代价与优化技巧,帮助你在保证正确性的前提下写出高性能的并行代码。

2026-05-12

新增内容

  • 文章: 2.2 内存访问优化 | 内存访问效率是 CUDA Kernel 性能最大的杠杆。本文深入讲解合并访问(Coalesced Access)的原理与判定方法、共享内存 Bank Conflict 的成因与 Padding 解决方案,以及向量化加载(float4/int4)提升带宽利用率的实战技巧。
  • 文章: 2.3 Occupancy 与资源分配 | Occupancy 衡量 SM 上实际活跃 Warp 数与理论最大值的比例,是调优 CUDA Kernel 的核心指标之一。本文讲解 Occupancy 的定义、计算方法、三大限制因素(寄存器/共享内存/Block 大小),以及为什么 Occupancy 并非越高越好——真正的目标是在延迟隐藏与资源利用之间找到平衡点。

2026-05-11

新增内容


2026-05-09

新增内容

  • 文章: CUDA 内存模型 | 本文详解全局内存、共享内存、寄存器、常量内存和统一内存的特性、适用场景及优化技巧
  • 文章: 第一个实用 Kernel:向量加法 | 通过一个完整的向量加法案例,走通 CUDA 编程的全流程

2026-05-08

新增内容


2026-05-07

新增内容


2026-04-28

新增内容


2026-04-27

新增内容


2026-04-26

新增内容


2026-04-25

新增内容


2026-04-24

新增内容


2026-04-23

新增内容


2026-04-21

新增内容


2026-04-20

新增内容


2026-04-18

新增内容


2026-04-17

新增内容

  • 面试专区:共收录 180+ 场面试真题,覆盖 40+ 家公司,按梯队分类组织。在线浏览 →
  • 涵盖公司包括字节跳动、阿里巴巴、腾讯、百度、快手、美团、蚂蚁、英伟达、MiniMax、蔚来、小鹏、理想等。
  • 社区入口:新增wx交流群,欢迎大家加入讨论

内容优化

  • 更新 README,补充项目介绍图片

2026-04-16

重大更新

新增内容


2026-04-15

项目上线

  • AIInfraGuide 知识库正式上线
  • 发布 [AI Infra 学习路线](/AIInfraGuide/guides/AI Infra学习路线)总览
  • 发布「从零理解 AI Infra」入门指引

2026-04-14

项目初始化

  • 完成网站框架搭建(基于 Astro + Starlight)
  • 初始化项目仓库,发布首次 commit