[Bug]: meta-llama/Llama-3.2-1B-Instruct Fails With ROCM_ATTN Due To Seg Fault

用户在使用 ROCm 7.0 环境(HIP 7.0.51831,PyTorch 2.9.1)运行 vLLM 时,加载 meta-llama/Llama-3.2-1B-Instruct 模型,启用了 ROCM_ATTN 注意力后端,导致进程因 Seg Fault 崩溃。运行环境为 AMD EPYC 9

快速结论:该报错在使用 ROCm 环境下的 vLLM 推理 Llama-3.2-1B-Instruct 模型时触发,表现为段错误(Seg Fault),可能与 ROCM_ATTN 后端兼容性问题相关。优先尝试更新至 vllm/vllm-openai-rocm:nightly 版本。

问题场景

用户在使用 ROCm 7.0 环境(HIP 7.0.51831,PyTorch 2.9.1)运行 vLLM 时,加载 meta-llama/Llama-3.2-1B-Instruct 模型,启用了 ROCM_ATTN 注意力后端,导致进程因 Seg Fault 崩溃。运行环境为 AMD EPYC 9575F CPU、AMD GPU(gfx942)。

报错原文

Seg Fault (核心段错误,未提供详细日志,但问题标题及标签确认由 ROCM_ATTN 导致)

原因分析

可能原因:ROCm 7.0 版本与 vLLM 中 ROCM_ATTN 后端的代码不兼容,在特定模型(如 Llama-3.2-1B)的注意力计算中触发段错误。社区反馈该问题在 nightly 构建的镜像中已修复,表明可能是已合入的补丁解决了底层的指针或内存访问错误。

环境排查

  • 确认 ROCm 版本(用户使用 7.0.51831)
  • 确认 PyTorch 版本(2.9.1+git8907517)
  • 确认 vLLM 版本(未在环境信息中明确,但应确认是否为官方发行版)
  • 确认是否显式启用了 ROCM_ATTN(可通过环境变量 VLLM_USE_ROCM_ATTN=1 检查)
  • 确认 GPU 架构(gfx942)是否在 vLLM ROCm 支持列表中

解决步骤

  1. 可优先尝试:将 vLLM 更新至 vllm/vllm-openai-rocm:nightly 镜像。该镜像已包含修复,官方推荐使用。
  2. 若仍需使用当前版本,可尝试禁用 ROCM_ATTN 后端:设置环境变量 VLLM_USE_ROCM_ATTN=0 后重新启动服务,使用默认注意力实现作为临时绕过方案。
  3. 收集完整的 Seg Fault 核心转储日志(如 dmesg 或 GDB backtrace),提交给 vLLM 社区进一步定位。

验证方法

更新至 vllm/vllm-openai-rocm:nightly 后,重新加载 meta-llama/Llama-3.2-1B-Instruct 模型并执行推理请求,确认不再触发 Seg Fault。或禁用 ROCM_ATTN 后运行同样流程,检查是否稳定。

参考来源

vllm-project/vllm #36180

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 16346

发表回复

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