Learn DeepInfer.
沿着请求,读懂 DeepInfer。
从请求入口出发,追踪每一轮调度与执行, 逐步理解 DeepInfer 的缓存、采样、状态更新与专家协作。
从一条请求,看清协作关系。
LLMEngine.step 协调调度、执行、采样与状态更新。 沿着输入、输出和共享状态,理解各模块为何分开。
# Framework pseudocode for reading responsibilities.
for request in inputs:
llm_engine.add_request(request)
while llm_engine.has_unfinished_requests():
ready_outputs = llm_engine.step()
collect(ready_outputs)
collect(llm_engine.flush_inflight_reqs())
# step: schedule -> execute -> sample -> state updates
# ZOS may commit a prior round and defer current state.
# One round may involve multiple requests and token positions.框架职责伪代码 · 一轮可涉及多请求与多个 token 位置
一次请求,逐步展开
engine.step()输入准备:预设的 token IDs 已进入请求状态,等待计划执行。
KV cache 0 个位置每次,只增加一个机制。
12 节循序渐进的课程,沿请求链路理解 DeepInfer 的架构与机制。
Follow a Request
从 LLM.generate 进入,追踪调度、执行、采样与状态更新。
Inside an Execution Step
理解 Worker 与 ModelRunner 如何传递输入元数据、缓存引用和采样结果。
Remember with KV
从 CacheEngine 与请求生命周期理解历史状态如何保留、定位和释放。
Choose the Next Token
追踪模型输出如何进入采样器,再成为可提交的请求状态。
Work in Batches
用静态 batch 对照理解请求身份、输入布局与独立停止条件。
Schedule Every Step
用 waiting、running 和 token 预算理解 continuous batching。
Page the KV Cache
用 block table 把逻辑 token 位置与物理缓存块解耦。
Reuse a Prefix
从请求分叉理解前缀复用、引用计数与写时复制。
Draft, Then Verify
把草稿、目标模型验证和置信度预算分开,理解一次推进多个 token。
Overlap the Pipeline
读懂 ZOS 的前向、后处理、采样顺序,以及滞后一轮的状态修正。
Route to Experts
沿着 gate、dispatch、专家计算和 combine 走完一次 MoE。
Balance the Hot Experts
用历史 token 计数理解 EPLB,再用下一段流量检验布局。
所有章节均可直接阅读。阅读进度只保存在当前浏览器。
把机制,放回系统里。
从四个协作层次,理解 DeepInfer 的职责与状态边界。
批处理与调度
在请求、token 预算和执行依赖之间安排每一轮工作。

读懂框架,从请求入口开始。
第一章:沿着入口、调度、执行与状态更新,建立全局视图。