Require distinct Q and K projections in native HRX Qwen fusion
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 72/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- cpp
调研方向
从 ggml/src/ggml-hrx/dispatch_registration/qwen/dispatch-qwen-attention-postprocess.cpp 中 match_qwen_attention_postprocess 附近的第 623 行开始,然后检查 build-hrx-prefill-repair/evidence/key-first-scheduler-red.{json,log} 中 key-first scheduler 的证据。验证 matcher 要求不同的 query 和 key 投影节点,同时保留现有 defaults 和完整 fusion,然后使用 BF16 Q16/KV8 及 token count 1 重新运行 CPU regression,以确认不再存在通用 RMSNorm。
由索引模型根据 Issue 内容生成。
描述
Row: BACKEND-ROCM
The pinned AMD llama.cpp Qwen attention matcher accepts a K projection as both the query and key chain. When a complete graph visits K before Q, it emits one partial Qwen postprocess and leaves the real query to generic RMSNorm and RoPE. match_qwen_attention_postprocess in ggml/src/ggml-hrx/dispatch_registration/qwen/dispatch-qwen-attention-postprocess.cpp:623 does not require distinct query and key projection nodes.
The #3083 implementer owns the in-flow scheduling correction. The reservation helper already rejects this ambiguity, but the actual matcher must enforce the same complete-region invariant. Preserve the original matching and traversal defaults, numerical tolerances, and the complete Qwen fusion.
The CPU regression enters the public dispatch scheduler with BF16 Q16/KV8, token count1, and K-before-Q graph order. It fails at the assertion that a complete Qwen postprocess leaves no generic RMSNorm: exit -6, test ELF 1fe0b0bbf1a22a84fb652816ad943e678e415d167da8bfb9383c3db9afb613a8, unchanged backend fb2301563318df2253bc681272247a2a5587a42921a9b376b89fa103de70b2a9. Evidence: build-hrx-prefill-repair/evidence/key-first-scheduler-red.{json,log} in the #3083 worktree.
The #3083 spec will record this narrow matcher obligation before its implementation. A separate sequential GPU regression currently rejects NaN in the first decode K cache. This issue does not yet attribute that numerical failure to this matcher ambiguity; the operator will rerun it after the scoped correction.
- 主要语言
- C++
- 星标
- 423
- 派生
- 53
- 平均合并
- 1 天 5 小时
- 30 天内合并 PR
- 376
环境准备
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
mudler/vllm.cpp 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 88/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复
相似的 Issue
-
component: split-view platform: windows
难度 2/5 1-3 小时 新手友好度 74/100
zen-browser/desktop#15616 · 1 个 reaction ·
维护者通常 1 天内回复
-
area/ysql kind/bug priority/medium status/awaiting-triage
难度 2/5 1-3 小时 新手友好度 84/100
yugabyte/yugabyte-db#34415 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 86/100
WayfireWM/wayfire#3148 · 1 条评论 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复
-
backend:DirectX
难度 2/5 1-3 小时 新手友好度 84/100
llvm/llvm-project#227530 ·
维护者通常 1 天内回复