vllm [Bug]: --max-model-len configuration robustness

uurity8g  于 2个月前  发布在  其他
关注(0)|答案(1)|浏览(27)

当前环境信息如下:

  • PyTorch版本:2.3.1+cu121
  • 是否为调试构建:否
  • 用于构建PyTorch的CUDA版本:12.1
  • 是否使用ROCM进行构建:否
  • 操作系统:Oracle Linux Server 9.4 (x86_64)
  • GCC版本:(GCC) 11.4.1 20231218 (Red Hat 11.4.1-3.0.1)
  • Clang版本:无法收集
  • CMake版本:3.30.1
  • Libc版本:glibc-2.34
  • Python版本:3.11.9(主,2024年4月19日 16:48:06) [GCC 11.2.0] (64位运行时)
  • Python平台:Linux-5.15.0-203.146.5.1.el8uek.x86_64-x86_64-with-glibc2.34
  • 是否支持CUDA:是
  • CUDA运行时版本:无法收集
  • GPU模型和配置:
    GPU0:NVIDIA A10
    GPU1:NVIDIA A10
    GPU2:NVIDIA A10
    GPU3:NVIDIA A10
  • Nvidia驱动版本:535.154.05
  • cuDNN版本:无法收集
  • HIP运行时版本:N/A
  • MIOpen运行时版本:N/A
  • XNNPACK是否可用:是

🐛 描述bug

错误时间:07-25 06:11:22
错误位置:multiproc_worker_utils.py的第226行
错误信息:在处理方法initialize_cache时,模型的最大序列长度(20000)大于KV缓存中可以存储的最大令牌数(1504)。尝试在初始化引擎时增加gpu_memory_utilization或减少max_model_len
回溯信息:max_model_len参数通常会根据剩余内存发出警告。由于GPU成本高且回收时间长,我们应该为这个配置增加一些鲁棒性。例如,而不是像上面那样报错,我们可以给出一个警告,表示将max_model_len设置为1504,因为这是KV缓存中剩余的唯一空间。这样客户仍然可以使用他们的GPU和模型,并可以根据这个错误信息在下一次迭代中调整这个配置。

wribegjk

wribegjk1#

+1. 警告和自动计算并设置max_model_len要好得多,比失败要好。这无疑会减少提交的问题数量和Discord中提出的问题数量。随着我们看到的上下文长度的增加,我只能想象新用户为这个问题提交的问题数量将继续增长。

相关问题