docs: MoE perf-path progress + remaining work (#7-#10)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -199,3 +199,29 @@ o = scores @ v -> merge heads -> @Wo + bo
|
|||||||
3. `ls -la ~/models/gpt-oss-20b/` 看下载进度,续传缺的分片(§2)。
|
3. `ls -la ~/models/gpt-oss-20b/` 看下载进度,续传缺的分片(§2)。
|
||||||
4. 重新 `pip download transformers` 取参考源码(/tmp 已清)。
|
4. 重新 `pip download transformers` 取参考源码(/tmp 已清)。
|
||||||
5. 从 §6 的 P19.1 接着干。
|
5. 从 §6 的 P19.1 接着干。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 性能版进度(2026-05-29 深夜,续)
|
||||||
|
|
||||||
|
目标:让 gpt-oss 解码够快,真跑 AIME/GSM8K。当前「正确优先」版(host attention、无 KV
|
||||||
|
cache、experts 常驻 CPU 按需上传)只能跑几个 token 的前向,不可能跑 2400 token 生成。
|
||||||
|
|
||||||
|
四块拆解(task #7-#10):
|
||||||
|
- ✅ **#7 GPU sink-attention(decode)**:`decode_attention_sink` kernel 已写、已编译通过、
|
||||||
|
已 push(commit 2f9e69a)。sink 作为 softmax 分母额外一列、不贡献 value;带 sliding window。
|
||||||
|
**还差**:flash PREFILL kernel 也要加 sink(多 token 一次性),否则 prefill 仍走 host。
|
||||||
|
- ⬜ **#8 MXFP4 experts 放 GPU + dequant kernel(关键阻塞)**:BF16 全量 experts 36GB 单卡放不下;
|
||||||
|
必须把 experts 以 MXFP4(13GB)放 GPU,用一个小 CUDA kernel 在每个 expert GEMM 前现解到
|
||||||
|
BF16 scratch。否则 decode 每 token 要从 CPU 上传 ~5GB experts(2400 token = 数 TB),不可行。
|
||||||
|
- ⬜ **#9 GPU MoE + KV-cache 解码**:router matmul + top-k(1 token 时 host 取 top4 即可)、
|
||||||
|
4 个 expert GEMV、KV cache(复用 GpuKVCache/paged)让 decode 变 O(1)/token。
|
||||||
|
- ⬜ **#10 接 server + 跑 AIME/GSM8K**:engine 识别 gpt_oss arch、HTTP 服务、`tools/bench`
|
||||||
|
对比 llama.cpp 金标准。
|
||||||
|
|
||||||
|
**关键依赖**:#8 是单卡跑通的前置(显存);或者把 gptoss 接进 Phase 18 的 PP(BF16 experts 切到
|
||||||
|
多卡)。单卡走 MXFP4-on-GPU 更省事。建议顺序 #8 → #9 → #7(prefill) → #10。
|
||||||
|
|
||||||
|
**已确认可用资产**:BF16 dequant 模型在 dash5 `/opt/wjh/models/gpt-oss-20b-bf16`;
|
||||||
|
MXFP4 原始模型 `/opt/wjh/models/gpt-oss-20b`;llama.cpp 金标准 GGUF
|
||||||
|
`/opt/wjh/models/gpt-oss-20b-gguf/gpt-oss-20b-mxfp4.gguf`(已验证 "Paris" / "408")。
|
||||||
|
|||||||
Reference in New Issue
Block a user