执行摘要
- 一句话:为 DeepSeek-V4-Flash 添加 GSM8K 评估配置
- 推荐动作:该 PR 值得 CI 维护者和 DeepSeek 模型负责人关注,以确认 server_args 的实际解析行为并验证阈值合理性。当前配置可作为 baseline,后续宜在真实环境中验证其有效性。
功能与动机
为了将 DeepSeek-V4-Flash 纳入 GSM8K MoE 重构评估集合,验证 deep_gemm_mega_moe 后端的正确性和性能。PR body 未详细说明动机,但从变更看是为了扩展 CI 测试覆盖。
实现拆解
- 新增 GSM8K 评估配置文件(
tests/evals/gsm8k/configs/moe-refactor/DeepSeek-V4-Flash-deepgemm-mega-moe.yaml),指定模型名称、准确率阈值(0.95)、问题数、fewshot 数及 server 参数,启用 MoE 后端、MTP 推测解码等特性。
- 更新 safetensors 依赖:将
requirements/test/cuda.txt 中的 safetensors 版本从 0.4.5 升级至 0.7.0,并在 requirements/common.txt 中添加最低版本约束(>=0.6.2)以支持 MXFP4/MXFP6 dtype。同步更新 rocm.txt 和 xpu.txt 的注释格式。
- 注册新配置到测试列表(
tests/evals/gsm8k/configs/moe-refactor/config-b200.txt),追加一行引用新 YAML 文件,使其在批量评估时被包含。
关键文件:
tests/evals/gsm8k/configs/moe-refactor/DeepSeek-V4-Flash-deepgemm-mega-moe.yaml(模块 评估配置;类别 test;类型 test-coverage): 核心新增文件,定义了 DeepSeek-V4-Flash 在 GSM8K 上的评估参数和 MoE 后端配置,影响测试覆盖。
requirements/test/cuda.txt(模块 依赖配置;类别 infra;类型 configuration): 升级 safetensors 依赖版本以支持新 dtype,并同步更新注释格式,影响测试环境依赖。
requirements/common.txt(模块 依赖配置;类别 infra;类型 configuration): 添加 safetensors 最低版本(>=0.6.2)以支持 MXFP4/MXFP6 dtype,确保全局兼容性。
tests/evals/gsm8k/configs/moe-refactor/config-b200.txt(模块 评估列表;类别 infra;类型 configuration): 注册新配置文件到测试列表,使其被批量评估包含,影响测试执行覆盖。
requirements/test/rocm.txt(模块 依赖配置;类别 infra;类型 configuration): 同步更新注释和依赖引用,保持各平台一致。
requirements/test/xpu.txt(模块 依赖配置;类别 infra;类型 configuration): 同步更新注释和依赖引用,保持各平台一致。
关键符号:未识别
关键源码片段
tests/evals/gsm8k/configs/moe-refactor/DeepSeek-V4-Flash-deepgemm-mega-moe.yaml
核心新增文件,定义了 DeepSeek-V4-Flash 在 GSM8K 上的评估参数和 MoE 后端配置,影响测试覆盖。
# DeepSeek-V4-Flash 的 GSM8K 评估配置
# 指定模型、阈值、问题数及 MoE 相关启动参数
model_name: "deepseek-ai/DeepSeek-V4-Flash"
# 准确率阈值,若低于此值测试将被视为失败
accuracy_threshold: 0.95
# 评估问题总数(1319 对应于 GSM8K 测试集规模)
num_questions: 1319
# 上下文示例(few-shot)个数
num_fewshot: 5
# 服务启动参数,注意点记法参数(如 --attention_config.use_fp4_indexer_cache)
# 可能依赖自定义参数解析器,标准 CLI 可能不兼容
server_args: "--trust-remote-code --kv-cache-dtype fp8 --block-size 256 --enable-expert-parallel --tensor-parallel-size 2 --attention_config.use_fp4_indexer_cache=True --moe-backend deep_gemm_mega_moe --tokenizer-mode deepseek_v4 --tool-call-parser deepseek_v4 --enable-auto-tool-choice --reasoning-parser deepseek_v4 --speculative_config.method=mtp --speculative_config.num_speculative_tokens=2"
评论区精华
风险与影响
- 风险:
- 测试有效性风险:若 server_args 格式不被标准解析器支持,实际测试可能未按预期参数运行,导致 MoE 后端未得到验证。
- 依赖升级风险:safetensors 版本从 0.4.5 提升至 0.7.0(跳过大版本),可能引入与旧权重格式的兼容问题。已在 common.txt 增加最小版本约束,但未覆盖全部路径。
- 阈值合理性:0.95 的阈值仍低于 DeepSeek-V4 类模型典型表现(可达 95%+),可能遗漏轻微精度退化。
- 影响:影响范围:仅影响 CI 中的 GSM8K 评估流水线,不涉及核心推理或训练代码。若配置正确,可为 MoE 后端性能回归提供预警;若配置有误,则测试无效且不阻塞其他变更。影响程度:低至中,取决于测试的可信度。
- 风险标记:测试有效性不足, 依赖升级范围, 配置兼容性未验证
关联脉络
- PR #42976 [Bugfix][MoE] FlashInfer one-sided: workspace union across heterogeneous layers: 同为 MoE 相关 bugfix,可能影响同一测试模型的执行。
- PR #43143 [Cohere] Enable Cohere MoE: 同为 MoE 后端支持,但模型不同,共享测试框架。
参与讨论