RuntimeError: cancelled

用户启动 vLLM server 时指定了 --kv-offloading-backend native 和 --kv-offloading-size 300 ,在处理长上下文场景(超长 prompt 或超长生成)时会随机崩溃,报出 RuntimeError: cancelled 。运行环境为 Ub

RuntimeError: cancelled

RuntimeError: cancelled

快速结论:此报错通常在使用 vLLM 服务器启用 --kv-offloading-backend native --kv-offloading-size 300 参数处理超长上下文时触发。优先排查 KV Offloading 后端与显存资源的兼容性,或者检查是否有其他后台任务(如 Concurrent GC)干扰了异步操作。

问题场景

用户启动 vLLM server 时指定了 --kv-offloading-backend native--kv-offloading-size 300,在处理长上下文场景(超长 prompt 或超长生成)时会随机崩溃,报出 RuntimeError: cancelled。运行环境为 Ubuntu 22.04,4 卡 NVIDIA H20,CUDA 13.0,PyTorch 2.11.0。

报错原文

RuntimeError: cancelled

原因分析

可能原因:
– KV Offloading 的 native 后端在处理大容量卸载时,异步任务(例如 GPU 到 CPU 的数据传输或内存回收)被外部中断或取消,触发 RuntimeError。
– 问题可能与 concurrent_gc 或某个异步线程池机制冲突有关,Issue 中已经有用户上传了解决方案(PR 待审核),但核心根因尚未在讨论中明确确认。

环境排查

  • vLLM 版本(用户未提供,可优先确认是否为最新版)
  • Python 3.12.13
  • PyTorch 2.11.0+cu130
  • CUDA 13.0 / Driver 535.161.08
  • GPU:NVIDIA H20(4卡)
  • 是否同时使用了 concurrent_gc 或自定义的异步调度器

解决步骤

  1. 完全关闭 KV Offloading 特性:移除 --kv-offloading-backend--kv-offloading-size 参数后重启服务,确认问题不再复现。
  2. 更换 KV Offloading 后端(如有其他后端):尝试使用 --kv-offloading-backend auto 或显式指定 cpu 后端(需确认 vLLM 版本支持)。
  3. 降低 --kv-offloading-size 的值(可优先尝试):例如从 300 减少到 100 或更低,观察是否仍然崩溃。
  4. 检查是否有其他异步操作冲突:如果开启了 --concurrent-gc 或其他队列调度参数,建议暂时禁用。
  5. 更新到最新的 vLLM 版本:Issue 已于 2026-06-16 关闭,可能有修复合并到了主分支。

验证方法

复现方式:使用引发崩溃的相同长上下文 prompt 频繁调用 vLLM server,连续运行 10 次以上无报错即视为修复成功。

参考来源

vllm-project/vllm #44780

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

celebrityanime
celebrityanime
文章: 8047

发表回复

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