vllm [Bug]: TRACKING ISSUE: CUDA OOM with Logprobs

8i9zcol2  于 3个月前  发布在  其他
关注(0)|答案(2)|浏览(30)

当前环境

The output of `python collect_env.py`

🐛 描述问题

vLLM存在一个问题,如果请求太多的 logprobs,会导致内存耗尽。
这种情况发生的原因有三个:

  • 模型权重
  • KV缓存
  • 激活值

在计算KV缓存大小时,我们会运行一个长时间的预填充操作(不带logprobs),以计算峰值内存使用量。
然而,如果提示请求许多logprobs,这将是另一个内存使用来源,在预热期间不会被考虑,可能会导致OOM,因为我们在调度器中没有设置防止此问题的措施。
我们收到了几个这样的例子:

尝试解决这个问题的方法:

我正在设计一种方法来解决这个问题

zf2sa74q

zf2sa74q1#

你好,@robertgshaw2-neuralmagic 。我在想是否有任何正在进行的解决这个问题的努力,或者 #5355 看起来像一个可接受的修复?如果能解决这个问题对我们来说会非常有帮助!

of1yzvn4

of1yzvn42#

在我的情况下,词汇量较大(200k+)且序列长度较长(8k+),logits排序是内存消耗最大的部分,并且很容易在一个单独的GPU上触发OOM。是否有可能进行某种序列并行,将其分配给所有TP工作?

相关问题