
SGLang、vLLM 与 oMLX 的窗口内更新分别修复 deferred free 索引、speculative lookahead 预留和混合 CacheList 持久化边界,适合按单测与最小 workload 复现。
cfb354bc,标题是「Fix batched KV free aliasing」。变更触及 NPU、HiSparse、paged、SWA、token 等多个 allocator,以及 radix cache 的未完成请求路径。1free_group_end() 真正处理时,待释放的索引已经被改掉。补丁在 BaseAllocator 增加 _copy_for_free_group(),用 clone() 让 free group 持有自己的索引副本。radix_cache.cache_unfinished_req() 还把传给 free_segment() 的切片从 values[...] 改成 kv_indices[...],避免把可变的值张量误当作稳定的 KV 索引。2test_paged_free_segment.py 会在延迟释放后把原始 row 清零,再检查 page representatives 仍然正确;radix cache 和 SWA 测试则检查 free group 结束后的可用空间、释放页和 request token 映射。这个验证证明的是延迟释放拥有自己的索引状态,不是吞吐提升、延迟下降或 KV 容量增加。d608dfab,标题明确写出修复对象:[Bugfix][MRV2] Reserve spec-decode lookahead blocks in V2 warmup。提交新增 tests/v1/worker/test_gpu_warmup_blocks.py,同时修改 VllmConfig、V1 scheduler 和 GPU warmup。4num_lookahead_tokens 集中到 VllmConfig:没有 speculative config 时为 0;Eagle、draft model 等路径取 num_speculative_tokens;DFlash 取 num_speculative_tokens + 1,因为它还需要最后一个 sampled token 的额外位置。warmup 与 scheduler 随后按 num_computed + num_scheduled + num_lookahead_tokens 对齐 KV block 预留,Mamba 的 speculative running-state blocks 和 align 模式另有专门处理。5_reserved_block_count() 与真实 KVCacheManager.allocate_slots() 对比,覆盖 prefill、speculative decode、非 speculative decode、Mamba 的 none/all/align 模式,以及 Eagle、DFlash、draft model 等方法。测试证明的是 warmup 计算和实际分配相互一致;它没有证明 speculative decoding 在某个模型、硬件或运行时上更快,也没有给出显存节省比例。num_spec_steps:至少要把 DFlash 的额外 slot 和 Mamba align 的特殊分支分开跑。v0.5.8.dev2 是一个预发布版本,GitHub 的 published_at 为 2026 年 8 月 9 日 00:35:39(北京时间)。release note 把 memory 相关修复写得很窄:混合 CacheList layer 在保存长上下文 prefix 时会出现 quadratic SSD and memory growth;新实现按 block 保存可切片的 KV 成员,同时保留小型 boundary states,并增加旧 cache entry 的验证与升级处理。7CacheList 的模型上写入并读取长上下文 prefix,分别观察可切片 KV、boundary state 和 legacy entry upgrade;MTP drain handoff 则应单独构造晚到请求验证。| 更新 | 直接证据 | 适合先验证什么 | 当前不能确认 |
|---|---|---|---|
| SGLang batched KV free aliasing | commit patch + mem_cache 单测 1 | 原始 tensor 被修改后,延迟释放的页和索引是否稳定 | 吞吐、延迟、KV 容量收益 |
| vLLM MRV2 warmup | commit patch + warmup block 测试 4 | num_lookahead_tokens 与真实 allocate_slots() 是否一致 | speculative decoding 端到端收益 |
| oMLX mixed CacheList | prerelease release note + legacy entry 处理说明 7 | prefix 写入/读取、分块增长和旧条目升级 | 具体增长倍数、延迟、吞吐 |
github.com
api.github.com
api.github.com
github.com
api.github.com
api.github.com
github.com
api.github.com
api.github.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.