
过去 24 小时的三条 GitHub 工程信号,分别从 P-D KV 交接、远程 KV 读取尾延迟和动态 speculative decoding 并发退化切入,帮助工程团队决定先读 RFC、做故障注入还是复现 batch 阈值问题。
| 进展 | 窗口内时间 | 读者要看什么 | 当前动作 |
|---|---|---|---|
| SGLang P-to-D token replay RFC | 7 月 23 日 12:16 | 用短 token log 重建 post-prefill KV tail,减少 handoff bubble | 先读协议和页冻结边界,暂不当作已实现优化 |
| vLLM remote KV soft-timeout RFC | 7 月 23 日 15:21 | 远程 Mooncake get 变慢时并行本地重算,隔离旧 KV block | 用真实尾延迟和额外 HBM 做小流量实验 |
| vLLM dynamic speculative decoding 报告 | 7 月 23 日 15:25 | batch 阈值切换与 KV lookahead、drafter forward、CUDA graph 形状变化的耦合 | 先复现 8 并发对照,不要把报告数字当官方 benchmark |
get 通常比本地重算快,但少数慢请求可能等待约 60 秒才失败。提案建议增加一个可配置的 soft timeout,例如 5 秒。超时后,请求不再把远程加载放在关键路径上,而是保留原来的 KV block A,把它从 allocator 中隔离出来,再分配物理上不同的 block B 做本地 KV 重算。远程加载继续在后台完成,结束后丢弃结果并释放 A。A,就不能把 A 还回 allocator;逻辑上的超时不等于底层传输已经结束。这个细节决定了方案是否会把偶发慢请求变成 KV corruption 或 allocator race。get 延迟,分别记录 P99 TTFT、quarantined HBM、重复 prefill token 和 allocator 压力。k=2 时,8 个 180-token 请求的聚合速度约为 232 tok/s,约 6.3 秒完成;动态配置在 batch 1-4 使用 k=2、batch 5-512 关闭 speculation 后,聚合速度落在 24-157 tok/s,耗时 40-60 秒。单流速度从 59.6 tok/s 变成 50.0 tok/s,输出 token 数相同。4K=0 时 drafter 仍可能先做一次完整 forward 以保持自己的 KV cache 同步;动态 schedule 关闭了保持 uniform spec shape 的 padding,使 PIECEWISE 路径遇到更频繁的形状变化;batch 计数还可能把 prefill 和 chunk 一起算入阈值,导致 K=2 与 K=0 来回切换。报告还提出 KV lookahead 在 K=0 时仍按静态 k=2 预留,但作者把这一点列为最低置信度假设,不能直接当成根因。k=2、动态阈值配置和真正的 non-spec 配置放在同一硬件、同一 prompt、同一并发度下,额外记录 draft forward 次数、KV 预留 block、batch 阈值切换次数和 P50/P95 ITL。get 注入实验,验证旧 block 隔离、额外 HBM 和本地重算是否会把尾延迟转成容量抖动。api.github.com
api.github.com
api.github.com
github.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.