Skip to content

feat: 支持 DeepSeek V4 Flash 推理 - #24

Draft
kuma-loong wants to merge 35 commits into
CURRENTF:mainfrom
kuma-loong:codex/deepseek-v4-flash
Draft

feat: 支持 DeepSeek V4 Flash 推理#24
kuma-loong wants to merge 35 commits into
CURRENTF:mainfrom
kuma-loong:codex/deepseek-v4-flash

Conversation

@kuma-loong

Copy link
Copy Markdown
Collaborator

Important

本 PR 依赖 #23,请先合并 #23。本分支基于 #23 的最新提交 187c69b 开发;在 #23 合并前,本 PR 的 Files changed 会同时包含其提交。

变更内容

  • 新增 DeepSeek V4 Flash 模型架构与权重加载支持,覆盖 sliding attention、CSA、HCA、mHC connection、hyper head、hash/softplus router 和 routed/shared expert。
  • 新增 DeepSeek 风格 DPA+EP 并行模式:固定 TP=1DP=EP,attention 按 DP owner 分片,MoE 在重叠 EP group 中执行 all-gather、local expert 和 reduce-scatter。
  • 新增 DeepSeek V4 专用 cache manager,使 compressed attention 状态可预分配、原地更新并参与 CUDA Graph capture/replay。
  • 接入 FlashInfer Hopper W4A16 fused MoE,支持 checkpoint 中的 MXFP4 expert;dense projection 复用 FP8 linear provider。
  • 新增 tiny-random 开发配置、checkpoint 严格校验、模型/并行/算子/loader 测试,以及中文实现和性能文档。

架构对齐

实现遵循 #23 引入的新架构:

  • ModelSpec 声明模型类、cache manager、并行模式和 tiny-random 策略;
  • models/checkpoint.py 集中校验模型结构和 FP8/MXFP4 格式;
  • RuntimeLayout 统一描述 CSA/HCA 的 43 层 cache 布局;
  • ParallelTopology.DPA_EP 负责 world size、rank mapping 和通信 group;
  • runtime compatibility 按 (model_type, parallel_mode) 注册;
  • model_runner.py 只保留运行期 owner 分片、shape 补齐、logits 重排和 CUDA Graph 约束。

首版支持边界

  • 仅支持 vanilla 方法,不叠加可选稀疏方法;
  • 不执行 checkpoint 中的 MTP;
  • 不包含额外稀疏化方法;
  • 正式 MXFP4 路径要求 Hopper、CUDA runtime 12.8+ 和 FlashInfer;
  • DPA+EP 要求 TP=1DP=EP

验证

  • DeepSeek V4 及相关算子/并行/加载测试:140 passed, 1 skipped
  • 全仓 CPU 测试:1357 passed, 138 skipped, 205 subtests passed
  • 真实 checkpoint 配置链:确认 DeepseekV4ForCausalLMDeepseekV4CacheManagerDPA_EP、43 层 cache,以及正式 FP8/MXFP4 量化配置
  • 完整 checkpoint index:72,317 tensor,0 mapping error、0 unexpected skip
  • 正式 DP=EP=2 双 H100 推理:48/48 shard 加载完成,CUDA Graph capture/replay 成功,生成 token [294, 201]
  • 正式双卡基线:初始化 35.43 s,decode P50 52.31 ms / 19.12 tok/s,每 rank 常驻约 76.78 GiB
  • git diff --check codex/qwen36-moe-sparse-methods..HEAD

正式 GPU 数据采集于架构 rebase 之前;rebase 收尾时物理 GPU 4–7 均被其他任务占用,遵循设备隔离要求未抢占重跑。rebase 后已完成专项测试、全仓 CPU 测试和真实 checkpoint 配置链验证,文档中已明确区分两组证据。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant