当前环境信息如下:
- 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和模型,并可以根据这个错误信息在下一次迭代中调整这个配置。
1条答案
按热度按时间wribegjk1#
+1. 警告和自动计算并设置
max_model_len
要好得多,比失败要好。这无疑会减少提交的问题数量和Discord中提出的问题数量。随着我们看到的上下文长度的增加,我只能想象新用户为这个问题提交的问题数量将继续增长。