diff --git a/docs/MOE_PROGRESS.md b/docs/MOE_PROGRESS.md index 6445b85..79c4f84 100644 --- a/docs/MOE_PROGRESS.md +++ b/docs/MOE_PROGRESS.md @@ -8,6 +8,29 @@ --- +## 最新状态(2026-05-29 晚) + +**里程碑:xserv 的 gpt-oss MoE 前向已数值验证正确。** +- 模型已下载(hf-mirror,绕过被墙代理)+ MXFP4→BF16 反量化(`tools/gptoss_dequant.py`, + 产物 `/opt/wjh/models/gpt-oss-20b-bf16`,35.6GB 单 safetensors)+ 拷到 dash5。 +- **llama.cpp 金标准就位**:dash5 的 llama.cpp 原生支持 gpt-oss(`LLM_ARCH_OPENAI_MOE`), + 用官方 MXFP4 GGUF 验证「17×24=408」正确。**无需升级 submodule。** +- **`gptoss.rs` 前向正确**:输入 "The capital of France is" → top-1 = token 12366 = " Paris" + (logit 19.75)。打通了全部新组件:top-4 router(softmax-after-topk)、interleaved + clamped `(up+1)*glu` experts、attention sinks、sliding window、MXFP4 权重、**YaRN RoPE** + (关键 bug:gpt-oss 是 yarn rope_type,plain RoPE 会让注意力乱掉→输出回声 prompt)、 + head_dim 64、q/k/v/o bias。 +- 已 commit + push(分支 `phase18-pipeline-parallelism`)。 + +**还没做(要跑通 AIME/GSM8K 必须补,工作量大):** +1. **GPU attention with sinks + 滑窗 kernel**(现在是 host CPU 三重循环,O(seq²),太慢)。 +2. **KV cache 增量解码**(现在每生成 1 token 重算整段 prefill,O(n²),不可行)。 +3. **MoE 提速**(现在逐 token、逐 expert host 路由 + 每 expert 50MB H2D 上传)。 +4. **显存**:BF16 全模型 36GB 单卡放不下 → experts 现在常驻 CPU 按需上传(能单卡跑但慢), + 或接 Phase 18 的 PP(需把 gptoss 接进 pp_engine)。 +> 现状能正确跑「几个 token 的前向」,但要跑 30 题 × 上千 token 的 AIME/GSM8K, +> 必须先做 1–3(KV cache + GPU sink-attention + MoE 提速)。这是实打实的下几个阶段。 + ## 0. 一句话现状 - ✅ **Phase 18 流水线并行 (PP)** 全部完成、验证、benchmark,已 commit 并 push 到