RuntimeError: Worker failed with error ‘MLA kv_data_type torch.uint8 is not supported. Supported dtypes: [torch.float16, torch.bfloat16, torch.float8_e4m3fn].’, please check the stack trace abov

这个报错通常出现在 vLLM 用 H100 等 Hopper 显卡加载 GLM5.3-Flash 并启用 --kv-cache-dtype fp8 时,MLA 的 KV Cache 实际收到了 torch.uint8 ,而当前支持的 dtype 只有 torch.float16 、 torch.bf

快速结论:这个报错通常出现在 vLLM 用 H100 等 Hopper 显卡加载 GLM5.3-Flash 并启用 --kv-cache-dtype fp8 时,MLA 的 KV Cache 实际收到了 torch.uint8,而当前支持的 dtype 只有 torch.float16、torch.bfloat16、torch.float8_e4m3fn。优先排查 KV Cache dtype 的转换/映射逻辑是否把 fp8 误映射成了 uint8。

适用环境:Issue 中确认的环境为 H100(Hopper),使用 vLLM 启动 GLM5.3-Flash,开启 --kv-cache-dtype fp8,并启用 MLA 相关能力。Python、CUDA、PyTorch、驱动版本在 Issue 中未明确给出。

最快修复方案:Issue 中验证过的路径是等待/使用已修复该问题的 PR #55222;该 Issue 最终标记为 fixed。若无法立即升级,则暂时不要对 GLM5.3-Flash 使用 --kv-cache-dtype fp8,避免触发 torch.uint8 进入 MLA 不支持分支。

注意事项:Issue 讨论中先出现了一个候选修复链接,但维护者明确表示需要验证;后续才指向可工作的 PR #55222 并确认 fixed。因此不要把未合并的候选 diff 当成稳定修复,优先使用包含 PR #55222 的版本或补丁。

问题场景

用户在 H100 上通过 vllm serve 启动 GLM5.3-Flash,服务参数中显式指定了 --kv-cache-dtype fp8,同时使用 tensor parallel、expert parallel、MTP 投机解码等配置。启动后 EngineCore 报错并退出,报错发生在 Worker 初始化/运行阶段的 MLA KV Cache dtype 检查处。

报错原文

RuntimeError: Worker failed with error 'MLA kv_data_type torch.uint8 is not supported. Supported dtypes: [torch.float16, torch.bfloat16, torch.float8_e4m3fn].', please check the stack trace above for the root cause

原因分析

最可能的原因是 GLM5.3-Flash 在 Hopper 上配合 MLA 时,KV Cache 的 fp8 类型没有正确转换为 torch.float8_e4m3fn,而是落到了 torch.uint8。MLA 的 KV Cache 校验只接受 torch.float16、torch.bfloat16、torch.float8_e4m3fn,因此直接抛出 RuntimeError。Issue 标题也明确描述了“GLM5.3-Flash does not support fp8 kv cache dtype on hopper”,说明问题集中在 Hopper 平台的 fp8 KV Cache 支持路径上。

环境排查

  • 确认是否使用 Hopper 架构显卡,例如 H100;Issue 中已确认环境为 H100。
  • 确认启动命令中是否包含 --kv-cache-dtype fp8。
  • 确认模型是否为 GLM5.3-Flash,并启用了 MLA 相关路径。
  • 确认 vLLM 版本是否包含 PR #55222 的修复;Issue 中未给出具体版本号,需要结合当前安装版本核对。
  • Issue 未提供 Python、CUDA、PyTorch、驱动、tensor parallel 具体数值等信息,排查时可按实际部署环境记录。

解决步骤

  1. 先确认当前问题是否由 --kv-cache-dtype fp8 触发:在 GLM5.3-Flash 启动命令中移除该参数后重试,观察是否仍出现同一 MLA dtype 报错。
  2. 如果移除后不再报错,说明问题集中在 fp8 KV Cache 在 Hopper + MLA + GLM5.3-Flash 的处理路径。
  3. 优先查找并应用/升级到包含 PR #55222 的 vLLM 版本;Issue 评论中明确表示“There’s an working PR for this: #55222”,随后标记 fixed。
  4. 如果暂时无法升级,可先不使用 --kv-cache-dtype fp8 启动服务,作为规避方案。
  5. 不要直接使用 Issue 中早期带有 “claude thinks this will fix it, but need to validate it” 的候选对比链接作为生产修复,除非你已自行验证并通过测试。

验证方法

使用包含 PR #55222 修复的 vLLM 版本,在 H100 上以 GLM5.3-Flash 重新执行带 --kv-cache-dtype fp8 的启动命令。确认服务不再抛出 MLA kv_data_type torch.uint8 is not supported,并且 Worker/EngineCore 能正常初始化、模型可以完成推理请求。如果验证通过,即可认为该问题已解决。

参考来源

vllm-project/vllm #57713

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 27283

发表回复

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