RuntimeError: Engine core initialization failed. See root cause above.

该报错出现在 vLLM 加载带 LoRA 适配器的 Qwen3.5-122B 模型时,TP worker 在 LoRA 注入阶段因 MoE 专家后端不匹配而启动失败,核心英文报错为 RuntimeError: Engine core initialization failed. See root c

快速结论:该报错出现在 vLLM 加载带 LoRA 适配器的 Qwen3.5-122B 模型时,TP worker 在 LoRA 注入阶段因 MoE 专家后端不匹配而启动失败,核心英文报错为 RuntimeError: Engine core initialization failed. See root cause above.。优先排查 vLLM 版本是否过旧,以及 LoRA 注入路径与自动选中的 MoE 后端是否一致。

适用环境:Issue 中确认的环境为 Ubuntu 22.04.5、Python 3.12.11、PyTorch 2.9.0+cu128、CUDA 12.8、NVIDIA H200 ×4、vLLM 0.17.0(官方 vllm/vllm-openai:v0.17.0 镜像,无自定义编译)。维护者在 4× H20 GPU 上未能复现。

最快修复方案:升级到最新版 vLLM 后再试。维护者指出该问题很可能已由 #40273 修复,并明确表示 v0.17.0 已相当过旧。

注意事项:Issue 中未给出升级后成功的验证记录,维护者也只是“看起来已被 #40273 修复”,因此升级属于可优先尝试的方案而非已确认修复。维护者在 4× H20 上无法复现,说明结果可能与硬件或配置相关;升级前建议先记录当前版本信息,便于回退对比。

问题场景

用户在官方 vllm/vllm-openai:v0.17.0 镜像中部署 Qwen3.5-122B,使用张量并行(TP)多卡推理。模型单独服务正常,一旦挂载 LoRA 适配器,所有 TP worker 则在 LoRA 注入阶段启动失败。从标题和路径看,问题指向 _inject_lora_into_fused_moe 强制要求 TritonExperts,但实际自动选中的是 FlashInferExperts。

报错原文

(Worker pid=613) (Worker_TP3 pid=613) ERROR 11-05 03:12:46 [multiproc_executor.py:800] Traceback (most recent call last):
(Worker pid=613) (Worker_TP3 pid=613) ERROR 11-05 03:12:46 [multiproc_executor.py:800]   File "/opt/venv/lib/python3.12/site-packages/vllm/v1/executor/multiproc_executor.py", line 796, in worker_busy_loop
(Worker pid=613) (Worker_TP3 pid=613) ERROR 11-05 03:12:46 [multiproc_executor.py:800]     output = func(*args, **kwargs)
(Worker pid=613) (Worker_TP3 pid=613) ERROR 11-05 03:12:46 [multiproc_executor.py:800]   File "/opt/venv/lib/python3.12/site-packages/vllm/worker/worker_base.py", line 331, in initialize_cache
...

RuntimeError: Engine core initialization failed. See root cause above.

原因分析

根据 Issue 标题,最可能的原因是 LoRA 注入逻辑 _inject_lora_into_fused_moe 对 MoE 专家实现做了假设,断言当前后端为 TritonExperts;而在该模型与硬件组合下,vLLM 自动选择了 FlashInferExperts,导致断言失败,进而使每个 TP worker 在 LoRA 注入阶段崩溃。由于单模型服务正常、挂 LoRA 才出错,普通推理路径本身并无问题,故障集中在 LoRA 与 MoE 后端的组合上。维护者倾向于认为这是 v0.17.0 中已存在的旧问题,并指出可能已由 #40273 修复。

环境排查

  • 确认 vLLM 版本:Issue 中为 0.17.0,需重点确认是否仍停留在这一旧版本。
  • 确认部署方式:Issue 使用官方 vllm/vllm-openai:v0.17.0 镜像,未自定义编译;若自行编译需重新对照。
  • 确认 Python 版本:Issue 为 3.12.11。
  • 确认 PyTorch 与 CUDA:Issue 为 PyTorch 2.9.0+cu128、CUDA 12.8。
  • 确认显卡型号与数量:Issue 为 4× NVIDIA H200,TP=4;维护者测试环境为 4× H20,未能复现,可留作对照。
  • 确认是否挂载 LoRA 适配器,以及是否可复现“仅模型正常、加载 LoRA 即崩溃”的现象。
  • 确认日志中实际选中的 MoE 专家后端是 TritonExperts 还是 FlashInferExperts。

解决步骤

  1. 保持现有模型、LoRA 适配器和 TP 配置不变,先复现一次启动失败,记录日志中的完整 traceback 与运行时版本信息。
  2. 升级 vLLM 至最新版本,替换 Issue 中的 0.17.0;若使用 Docker,同步更换镜像标签,并确保未残留旧镜像中的虚拟环境。
  3. 升级后在相同硬件与相同 LoRA 配置下重新启动服务。
  4. 若最新版本仍报同样错误,再到原 Issue 下补充最新版本信息与日志并重新打开。

验证方法

使用升级后的 vLLM 重新启动 Qwen3.5-122B + LoRA 服务,确认所有 TP worker 都能完成初始化、不再出现 RuntimeError: Engine core initialization failed. See root cause above.,并且模型在挂载 LoRA 的情况下能正常响应推理请求。Issue 中未记录升级后的验证结果,因此这一步需自行确认。

参考来源

vllm-project/vllm #65811

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 33094

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注