快速结论:该报错发生在使用 vLLM 0.27.1 运行 DeepSeek-V4-Flash-0731 模型,且触发 MoE 内核基准测试(benchmark_moe.py)时。优先确认 vLLM 是否已升级到包含修复的版本,或检查 `benchmarks/kernels/benchmark_moe.py` 是否已识别 DeepSeek-V4 架构。
适用环境:vLLM 0.27.1;Ubuntu 22.04.5 LTS(aarch64);Python 3.12.13;PyTorch 2.13.0+cu130;CUDA 13.0;NVIDIA GH200 144G HBM3e(双卡)。
最快修复方案:暂无确认的一步修复方案。Issue 中已定位根因并准备提交 PR,但修复尚未合入。可优先尝试等待官方修复版本,或自行修改 `benchmarks/kernels/benchmark_moe.py` 中 `get_model_params()` 函数,为 `DeepseekV4ForCausalLM` 架构添加 DeepSeek-V2/V3 分支。
注意事项:该修复仅针对基准测试脚本,不影响 vLLM 正常推理路径;修改脚本属于临时方案,后续官方 PR 合入后建议同步更新。
问题场景
用户在使用 vLLM 0.27.1 运行 DeepSeek-V4-Flash-0731 模型时,执行 MoE 内核基准测试(`benchmarks/kernels/benchmark_moe.py`)触发报错。该脚本在获取模型参数时,因未识别模型架构而抛出属性错误。
报错原文
AttributeError: 'DeepseekV4Config' object has no attribute 'num_local_experts'
原因分析
根因已由维护者确认:`benchmarks/kernels/benchmark_moe.py` 中的 `get_model_params()` 函数没有为 `DeepseekV4ForCausalLM` 架构匹配任何 `elif` 分支,导致代码落入默认的 Mixtral 分支,读取了 `config.num_local_experts` 属性,而该属性不存在于 `DeepseekV4Config` 中。根据模型 `config.json`,DeepSeek-V4 使用的 MoE 字段名与 DeepSeek-V2/V3 相同(`n_routed_experts`、`num_experts_per_tok`、`moe_intermediate_size`、`hidden_size`),因此正确做法是将该架构加入 DeepSeek-V2/V3 分支。
环境排查
- 确认 vLLM 版本:0.27.1(触发报错的版本)
- 确认 Python 版本:3.12.13
- 确认 PyTorch 版本:2.13.0+cu130
- 确认 CUDA 版本:13.0
- 确认 GPU 型号:NVIDIA GH200 144G HBM3e(双卡)
解决步骤
- 检查 `benchmarks/kernels/benchmark_moe.py` 中 `get_model_params()` 函数是否包含 DeepSeek-V4 分支。
- 若未包含,在 DeepSeek-V2/V3 分支中补充 `DeepseekV4ForCausalLM` 架构匹配,并沿用 `n_routed_experts`、`num_experts_per_tok`、`moe_intermediate_size`、`hidden_size` 等字段读取参数。
- 关注官方 PR 合并状态,合入后升级 vLLM 到修复版本,或直接使用最新源码重新安装。
验证方法
修改后重新运行触发报错的基准测试命令,确认不再抛出 `AttributeError`,且正确读取到模型 MoE 参数。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


