NANO-VLLM · PREFILL / DECODE LAB

先预测输入形状,再观察同一批请求如何换节奏

你将让两条请求先批量 Prefill,再切换到每条一个 token 的 Decode。重点不是记住函数名,而是观察 is_prefill、输入形状、历史 KV 与用户体验指标如何一起变化。

概念模拟,不执行真实模型
1设定任务
调整第二条 prompt
2写下预测
总 token 与 Decode 形状
3运行并解释
看阶段、形状与 KV

同一批请求的两条路径

当前阶段等待预测
本轮 input_ids
本轮结果

Sequence A · prompt=8

Sequence B · prompt=12

概念化代码锚点(不等同于逐行源码)is_prefill=True → prepare_prefill
is_prefill=False → prepare_decode
观察 input_ids、context_lens、block_tables
先装载任务并写下预测。不要把“同一条请求”误解为“每一轮输入形状相同”。
你的解释锚点:Prefill 的工作量是所有尚未缓存 prompt token 的总和;Decode 的输入每条通常只保留一个 last_token,但历史 KV 和 context_lens 会继续增长。