当前环境
在两个L40 GPU(48G)上运行deepseek-coder-33b-instruct模型时,内存不足。尝试了--enforce-eager --gpu-memory-utilization,但没有帮助。
python -m vllm.entrypoints.openai.api_server --dtype float16 --trust-remote-code --model /models/deepseek-coder-33b-instruct --served-model-name deepseek-coder-33b-instruct --port 8000 --host 0.0.0.0 --tensor-parallel-size 2
它报告错误:
ERROR 04-28 15:55:45 worker_base.py:157] Error executing method initialize_cache. This might cause deadlock in distributed execution.
ERROR 04-28 15:55:45 worker_base.py:157] Traceback (most recent call last):
ERROR 04-28 15:55:45 worker_base.py:157] File "/root/miniconda3/envs/deepseek/lib/python3.10/site-packages/vllm/worker/worker_base.py", line 149, in execute_method
ERROR 04-28 15:55:45 worker_base.py:157] return executor(*args, **kwargs)
ERROR 04-28 15:55:45 worker_base.py:157] File "/root/miniconda3/envs/deepseek/lib/python3.10/site-packages/vllm/worker/worker.py", line 171, in initialize_cache
ERROR 04-28 15:55:45 worker_base.py:157] raise_if_cache_size_invalid(num_gpu_blocks,
ERROR 04-28 15:55:45 worker_base.py:157] File "/root/miniconda3/envs/deepseek/lib/python3.10/site-packages/vllm/worker/worker.py", line 335, in raise_if_cache_size_invalid
ERROR 04-28 15:55:45 worker_base.py:157] raise ValueError("No available memory for the cache blocks. "
ERROR 04-28 15:55:45 worker_base.py:157] ValueError: No available memory for the cache blocks. Try increasing `gpu_memory_utilization` when initializing the engine.
但是使用fastchat可以正常工作,总共大约有30G的空闲内存。
python3 -m fastchat.serve.model_worker --model-path /models/deepseek-coder-33b-instruct --num-gpus=2 --gpus=0,1 --max-gpu-memory=46GB --model-names=deepseek-coder-33b-instruct
我想知道vllm是否支持这样的推理场景。33b模型在两个48G GPU上使用float16?谢谢。
6条答案
按热度按时间plicqrtu1#
我也尝试使用DeepSeek Coder 33B,但是遇到了错误:
我正在运行4个GPU(NVIDIA L4s),总共98GB。
bq3bfh9z2#
+1
ztmd8pv53#
我正在使用类似的配置,在2H100-80GB上运行llama3-70B,并遇到了相同的错误。
有趣的是,使用
--enforce-eager
解决了这个问题,但我猜这会导致推理延迟显著增加(对于100个令牌的输入,大约每秒16个令牌)。有什么建议吗?
mo49yndu4#
在两个A800 GPU(80G)上部署qwen1.5_72b_chat,使用vllm 0.4.2,同时出现错误
。
8oomwypt5#
对于4xA100的设置也是如此。
ki1q1bka6#
当我将gpu_memory_utilization设置为较小的速率时,这种情况就发生了,导致预分配内存不足。但实际上,我得到了足够的内存,只是没有将vllm分配给k&v缓存。