feat: duplicated kv cache.#804
Conversation
LLLLKKKK
left a comment
There was a problem hiding this comment.
Code Review
KV head 不整除 TP 时使用 GCD 复制策略,方向正确。
问题 1: 移除了 std::max(1, ...) 防护
MHAKVCacheSpec.h 旧代码有 std::max(1, ...) 保证每个 rank 至少 1 个 KV head。新代码移除了这个防护,如果 kv_head_num 为 0(配置错误),local_head_num_kv 会变成 0,导致下游除零或零大小分配。
问题 2: 相同的 8 行 KV head 分区注释在 5 个文件中重复
MHAKVCacheSpec.h、ModelConfig.cc、model_weight.py(3 处)都有完全相同的逻辑注释。建议提取为共享工具函数,避免后续修改遗漏。
问题 3: 缺少 duplicated weights 正确性测试
diff 中只改了分区数学,没有测试验证 duplicated KV weights 在多 rank 下产生正确的 attention 输出。
|
🤖 AI Code Review 概述对 GenerateStream 状态机进行重构:消除 优点
建议改进P0 - Bug
P1 - 重要
P2 - 建议
总结P0 死锁问题必须修复。建议同时增加 |
|
🤖 AI Code Review (修正版 — 之前的评论误贴了其他 PR 的内容,非常抱歉) 概述当 优点
建议改进P1 - 重要
P2 - 建议
总结核心思路正确,但缺少整除关系校验和测试覆盖。建议补充后合入。 |
ef1ca66 to
8bc90b7
Compare
|
🤖 AI Code Review — PR #804 — feat: duplicated kv cache. 概述本 PR 通过 GCD(最大公约数)策略解决了 优点
建议改进P1 - 重要
P2 - 建议
P3 - Nit
总结GCD 策略数学上正确,权重切分和 KV cache 规格计算保持一致,测试覆盖了核心场景。主要风险是 GCD 逻辑在两处独立实现以及 |
|
🤖 AI Code Review — PR #804 — feat: duplicated kv cache. (增量 Review v2) 概述增量 review,基于新增 commits 8bc90b7 / e7fac91(对比首次 review 基线 e59018e)。新增了 首次 Review 问题跟踪
优点
建议改进P1 - 重要(遗留)
P2 - 建议
P3 - Nit
总结增量提交回应了测试覆盖的关切,测试质量不错。但首次 review 的 3 个 P1 中仅 #2 部分修复,#1(逻辑重复)和 #5(partition 兼容性)仍需关注。建议合并前至少确认 |
|
🤖 AI Code Review — PR #804 SummaryAdds GCD-based KV head partitioning for tensor parallelism when Findings
The GCD approach is mathematically sound and the test is thorough. Good generalization of the previous special cases. |
e7fac91 to
d3b5bf8
Compare
|
|
Add duplicate kv cache logic for num_kv_heads can not be divided by tp_size.