NANO-VLLM · PREFILL / DECODE LAB
先预测输入形状,再观察同一批请求如何换节奏
你将让两条请求先批量 Prefill,再切换到每条一个 token 的 Decode。重点不是记住函数名,而是观察 is_prefill、输入形状、历史 KV 与用户体验指标如何一起变化。
1设定任务
调整第二条 prompt
调整第二条 prompt
2写下预测
总 token 与 Decode 形状
总 token 与 Decode 形状
3运行并解释
看阶段、形状与 KV
看阶段、形状与 KV
同一批请求的两条路径
当前阶段等待预测
本轮 input_ids—
本轮结果—
Sequence B · prompt=12
概念化代码锚点(不等同于逐行源码)is_prefill=True → prepare_prefill
is_prefill=False → prepare_decode
观察 input_ids、context_lens、block_tables
is_prefill=False → prepare_decode
观察 input_ids、context_lens、block_tables
先装载任务并写下预测。不要把“同一条请求”误解为“每一轮输入形状相同”。
你的解释锚点:Prefill 的工作量是所有尚未缓存 prompt token 的总和;Decode 的输入每条通常只保留一个 last_token,但历史 KV 和 context_lens 会继续增长。