
RuntimeError: Worker failed with error ‘Current vLLM config is not set.
快速结论:该报错通常在使用 vLLM 进行 CPU 推理时触发,优先排查是否使用了过时的 vLLM 版本。此问题已在 PR #45961 中修复,建议升级到 vLLM 最新 main 分支。
问题场景
用户在使用 vLLM 进行 CPU 推理(基于 AMD EPYC 7302 处理器,Ubuntu 24.04,PyTorch 2.11.0+cpu)时,启动模型服务或执行推理任务时触发此错误。
报错原文
RuntimeError: Worker failed with error 'Current vLLM config is not set.
原因分析
根本原因是 _CPU_MOE_ACT_FN 中的 SILU 条目在 forward 时构造了一个 SiluAndMul(一个 CustomOp),该操作在 set_current_vllm_config() 上下文之外读取了当前的 vLLM config,导致报错。这是已知的同类问题第二次出现(首次 #32368 → #32777),两次修复均未添加回归测试,因此问题在特定条件下重新暴露。当前 main 分支已引用静态 SiluAndMul.forward_native,不再重现此问题。
环境排查
- vLLM 版本:确认是否低于 PR #45961 的合并日期(2026-06-29),尤其是非
main分支的版本。 - Python 版本:本例中为 3.12.13。
- PyTorch 版本:本例中为 2.11.0+cpu。
- 操作系统:Ubuntu 24.04.4 LTS(x86_64)。
- CPU 架构:AMD EPYC 7302(x86_64),使用 CPU 推理模式。
解决步骤
- 升级 vLLM 版本:将 vLLM 更新至
main分支的最新提交(至少包含 PR #45961 的合并,即 2026-06-29 之后)。该 PR 修改了_CPU_MOE_ACT_FN中的SILU条目,避免在 forward 时动态构造SiluAndMul对象。 - 可优先尝试:如果无法立即升级,可考虑回退至 PR #45480 中提到的修补方法,但该 PR 未合并,因此不推荐作为长期方案。
- 注意无测试覆盖:现有 CPU MoE 测试在
default_vllm_configfixture 下运行,会掩盖此条件。PR #47471 已提议添加回归测试,以在未设置 config 的情况下显式调用每个表条目,防止再次回退。建议在后续版本中关注此测试是否合并。
验证方法
升级 vLLM 后,重新运行相同的 CPU 推理任务或调用模型服务,确认不再出现 RuntimeError: Worker failed with error 'Current vLLM config is not set. 报错。也可以运行 vLLM 的现有 CPU MoE 测试(尽管原有测试可能无法覆盖此场景,但升级后报错即消失)。



