TP 下 hidden state 提取按需放大 KV page,修复启动断言崩溃
值得精读,尤其是维护 `vllm/v1/core/kv_cache_utils.py` 或调试 `extract_hidden_states` + TP 组合的人。关注三个设计决策:一是用 `cdiv(max_per_token, common_page)` 求最小整数倍数,而不是无条件翻倍,控制显存浪费;二是同一 scale 同时作用于 `block_size` 与已显式设置的 `page_size_padded`,维持 spec 内部比例;三是把缩放放在 `math.gcd` 之前,使 hidden-state 层仍能取到合法公约数。同时建议阅读者顺手确认两件事:复合 `UniformTypeKVCacheSpecs` 场景下子 spec 是否被漏缩,以及后续是否需要为 scale ≥ 3、MambaSpec 与已 padded 的 spec 补测试用例。
参与讨论