VLLM 0.4.1部署Llama3-70B-Instruct多次预测触发断言错误求助
解决VLLM 0.4.1部署Llama3-70B-Instruct后的断言错误
问题重现
使用VLLM 0.4.1加载meta-llama/Meta-Llama-3-70B-Instruct模型,通过FastAPI部署在GCP Vertex AI平台,多次调用预测后触发断言错误:
assert len(running_scheduled.prefill_seq_groups) == 0
模型加载代码:
from vllm import LLM ... self.model = LLM( model="meta-llama/Meta-Llama-3-70B-Instruct", tensor_parallel_size=8, enable_prefix_caching=False, max_model_len=4096, download_dir="/dev/shm/cache/huggingface", )
解决方案
升级VLLM版本:该断言错误是VLLM 0.4.x版本调度器的已知bug,官方在0.5.0及后续版本已修复。建议直接升级到最新稳定版(如0.5.3或更高),无需修改代码即可解决问题。
优化并发请求处理:FastAPI默认异步处理请求,需用VLLM异步引擎适配,避免请求堆积导致调度器状态异常:
将同步LLM替换为AsyncLLM,并调整参数优化批量处理:from vllm import AsyncLLM ... self.model = AsyncLLM( model="meta-llama/Meta-Llama-3-70B-Instruct", tensor_parallel_size=8, enable_prefix_caching=True, max_model_len=4096, download_dir="/dev/shm/cache/huggingface", max_num_batched_tokens=8192, # 根据GPU内存调整,平衡处理效率与资源占用 )调整调度器参数(临时兼容方案):若暂时无法升级版本,可通过以下参数改善调度器行为:
- 开启
enable_prefix_caching=True:减少重复预填充操作,降低调度器负载 - 合理设置
max_num_batched_tokens:避免单次批量处理过多token导致资源耗尽
- 开启
检查GCP Vertex AI资源配置:确保实例的GPU/TPU内存足够支撑模型运行(70B模型8卡并行需单卡至少24GB显存),避免因资源不足导致调度器无法正常清理序列组。
临时恢复方案:若为偶发状态异常,重启FastAPI服务可临时恢复,但需尽快通过上述方案彻底解决。
内容的提问来源于stack exchange,提问作者Tsvi Sabo
相关产品推荐
相关产品推荐

