open-compass / T-Eval

[ACL2024] T-Eval: Evaluating Tool Utilization Capability of Large Language Models Step by Step
https://open-compass.github.io/T-Eval/
Apache License 2.0
228 stars 14 forks source link

vllm兼容性问题 #11

Open Double-bear opened 10 months ago

Double-bear commented 10 months ago

您好,我在使用这个项目进行测评时,由于推理速度太慢想切换到vllm推理,但是在使用过程中vllm的版本会和requirements中包的版本有些冲突会报错,请问您那边有尝试过切换vllm推理呢?如果有的话想请问一下您那边包的版本依赖版本是多少?

zehuichen123 commented 10 months ago

我们这边没有尝试过vllm infer,具体是哪个包的冲突呢?

Double-bear commented 10 months ago

我们这边没有尝试过vllm infer,具体是哪个包的冲突呢?

程序运行的时候报错报的不是包的某个版本冲突,只是一开始我的环境是vllm==0.2.4 torch==2.0.1 cu118,可以正常进行70B模型的多卡推理,但是当我在环境里装了requirement的依赖后就报错,进行一系列操纵修改主要是还是会出现下面几种错:

ImportError: libcudart.so.12: cannot open shared object file: No such file or directory

或者

ImportError: /usr/local/lib/python3.10/dist-packages/vllm/_C.cpython-310-x86_64-linux-gnu.so: undefined symbol: _ZN3c104cuda9SetDeviceEi

之后我升级了torch版本,vllm版本等,在import的时候不会报错了,但是在进行vllm模型加载的时候就会出现

ray.exceptions.RayTaskError(OutOfMemoryError): ray::RayWorkerVllm.execute_method() (pid=7410, ip=10.100.187.58, actor_id=14e303e425140c4fd3c5935e01000000, repr=<vllm.engine.ray_utils.RayWorkerVllm object at 0x7ed06e66e200>)
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 328.00 MiB. GPU 0 has a total capacty of 79.33 GiB of which 196.44 MiB is free. Process 1284914 has 33.50 GiB memory in use. Process 1284913 has 45.63 GiB memory in use. Of the allocated memory 44.32 GiB is allocated by PyTorch, and 101.83 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

这一类的显存报错,但是我卡的显存是充足的。 我在vllm仓库了搜了一堆都没有得到很好的解决,主要是安装了requirement的包之后就跑不通了,我也不知道是不是包之间有什么冲突,所以才来请教一下您这边有没有尝试过vllm推理

zehuichen123 commented 10 months ago

你可以关注一下在install requirements的时候具体装的包是哪些,第一个error看起来像是装到了某些依赖cuda12的包,同时vllm本身如果用cu118的话需要另外重新装torch和xformer的(https://docs.vllm.ai/en/latest/getting_started/installation.html#install-with-pip) 这里可能需要注意一下 其他的暂时不大清楚了2333

Double-bear commented 10 months ago

你可以关注一下在install requirements的时候具体装的包是哪些,第一个error看起来像是装到了某些依赖cuda12的包,同时vllm本身如果用cu118的话需要另外重新装torch和xformer的(https://docs.vllm.ai/en/latest/getting_started/installation.html#install-with-pip) 这里可能需要注意一下 其他的暂时不大清楚了2333

好的好的,非常感谢,我再尝试一下。

Double-bear commented 9 months ago

你可以关注一下在install requirements的时候具体装的包是哪些,第一个error看起来像是装到了某些依赖cuda12的包,同时vllm本身如果用cu118的话需要另外重新装torch和xformer的(https://docs.vllm.ai/en/latest/getting_started/installation.html#install-with-pip) 这里可能需要注意一下 其他的暂时不大清楚了2333

您好,还有一个问题想请教一下,您这边模型的打分都是用同一个template推理的吗?我这边用Llama2-7bj进行复现,和您这边的单项分数差距有一点大,想请教一下

zehuichen123 commented 9 months ago

默认的template是适配internlm的,如果需要用llama2-7b-chat推理需要修改meta-template与llama2匹配

Double-bear commented 9 months ago

默认的template是适配internlm的,如果需要用llama2-7b-chat推理需要修改meta-template与llama2匹配

我复现的时候使用的是用了跟llama2匹配的推理模版,但是似乎结果差别比较大,请问一下您这边这个分数如果用您这边代码是可以稳定复现的吗?

zehuichen123 commented 9 months ago

你们这边llama2的推理结果有看过吗,里面是否还有eos_token之类的东西?论文里开源的结果是走opencompass测的,闭源的是走的这个code,我们最近会在这个代码试一下开源模型的结果

Double-bear commented 9 months ago

你们这边llama2的推理结果有看过吗,里面是否还有eos_token之类的东西?论文里开源的结果是走opencompass测的,闭源的是走的这个code,我们最近会在这个代码试一下开源模型的结果

那我这边再去检查一下,谢谢!