LLM Infer Infra 学习资料库

SGLang:学习大纲与知识地图

返回导航 · 下一篇:28 天计划

1. 优先级

模块 核心知识 达标要求 优先级
推理基础 Transformer、因果 Attention、RoPE、Prefill、Decode、采样 解释一次生成的计算与内存访问 P0
性能基础 FLOPs、有效带宽、算术强度、Roofline、TTFT、ITL、TPOT、Goodput 用数据定位瓶颈 P0
服务架构 HTTP、Tokenizer、IPC、Scheduler、ModelRunner、Detokenizer 画请求链路并定位源码 P0
请求调度 Continuous batching、Chunked prefill、预算、抢占、回退、公平性 解释吞吐与延迟取舍 P0
GPU KV 管理 分页、地址映射、allocator、pool、共享、引用计数、淘汰 计算容量并解释生命周期 P0
前缀复用 Radix tree、最长前缀匹配、节点拆分、命名空间 手工模拟插入、匹配、淘汰 P0
GPU 执行优化 FlashAttention、FlashInfer、CUDA Graph、融合、CPU/GPU overlap 从 trace 识别优化机会 P1
分布式推理 TP、PP、Replica DP、Attention DP、EP、CP/DCP、NCCL、拓扑 解释通信、容量与扩展性 P1
分层缓存 HiCache、异步预取、写回、布局、跨 rank 一致性 解释缓存数据流及收益条件 P0
共享缓存与传输 Mooncake TE、Mooncake Store、LMCache、RDMA、NUMA 选择方案并验证成本 P0,重点
PD 分离 Bootstrap、KV 移交、资源预留、路由、独立扩缩容 解释收益与失败恢复 P1
模型优化 GQA、MLA、量化、MoE、投机解码、混合 Attention/SSM 说清每种技术优化了什么 P1
生产工程 限流、背压、超时、取消、可观测性、容量规划、灰度 设计可运维服务 P1
扩展功能 多模态 EPD、LoRA、结构化输出、前端编程接口、Diffusion 知道适用场景、边界与入口 P2
底层开发 CUDA/Triton、C++、内存布局、算子精度验证 编写与验证专用优化 P2

2. 依赖关系图

查看图源
flowchart TD
    A["数学与系统基础<br/>Transformer / Linux / Python / C++"] --> B["推理计算模型<br/>Prefill / Decode / Attention"]
    B --> C["性能模型<br/>算力 / 带宽 / 显存 / 排队"]
    B --> D["SGLang 请求执行链路"]
    D --> E["Scheduler<br/>动态批处理 / 分块 Prefill / 重叠调度"]
    D --> F["ModelRunner<br/>模型 / Attention backend / Kernels"]
    E --> G["KV Cache 管理<br/>索引 / 分配 / 引用 / 淘汰"]
    F --> G
    G --> H["Radix / Unified Cache<br/>前缀复用 / Full / SWA / SSM"]
    H --> I["HiCache<br/>GPU / CPU / 外部存储"]
    I --> J["Mooncake Store<br/>分布式共享缓存"]
    H --> K["LMCache<br/>缓存中间件与独立服务"]
    K --> J
    E --> L["PD 分离与缓存感知路由"]
    L --> M["Mooncake Transfer Engine<br/>跨设备与跨节点传输"]
    F --> N["TP / PP / DP / EP / CP"]
    C --> O["Benchmark / Profiling / SLO"]
    I --> O
    L --> O
    N --> O
    O --> P["容量规划 / 故障排查 / 系统设计"]

图中的连接表示知识依赖或可选组件组合,不代表所有功能可以在当前版本同时启用。具体限制见 框架对比与兼容性。

3. 系统基础知识地图

3.1 CPU 与操作系统

学习问题:请求取消后,哪些进程仍然可能持有它的资源?如何避免已经释放的 buffer 被异步操作继续访问?

3.2 GPU

学习问题:GPU 利用率高是否意味着算力打满?为什么一个更高 occupancy 的 kernel 不一定更快?

3.3 网络与分布式

学习问题:传输接口返回成功是“已提交”还是“目标可读”?不同 rank 如何对下一次 collective 达成相同执行顺序?

4. 按岗位选择深度

方向 必修主线 额外重点 最有说服力的成果
Serving runtime 请求链路、调度、KV、性能 取消、抢占、公平性、SLO 对混合负载调度退化的可复现分析
KV / 缓存系统 KV、HiCache、Mooncake、LMCache 键空间、布局、生命周期、共享 冷热分层命中对比和跨实例复用实验
分布式推理 并行、MoE、PD 通信拓扑、NCCL、RDMA、跨 rank 状态 多卡瓶颈与传输成本分析
GPU Kernel Attention、Roofline、layout CUDA/Triton、融合、精度与硬件计数器 算子基准加端到端收益与精度验证
平台与生产 SLO、容量、路由、监控 调度平台、灰度、容灾、多租户 有容量模型和失败路径的服务设计

5. 必须区分的概念

  1. KV 物理内存管理与前缀索引。
  2. 模型数学结构与 Attention backend 实现。
  3. GPU 显存占用与实际有用缓存容量。
  4. Prefix hit、数据加载成功与真正省掉计算。
  5. 请求结束与缓存物理内存释放。
  6. 传输提交与传输完成。
  7. PD 传输与跨请求缓存共享。
  8. 服务副本 DP 与模型内部 Attention DP。
  9. 缓存容量扩展与单个超长上下文的执行能力。
  10. 单 kernel 加速与端到端 Goodput 改善。

6. 扩展方向的边界

7. 自测

不查资料回答:

输入主题、术语或问题