VLLM简单使用
编辑
993
2024-04-10
VLLM简单使用
前提配置
CUDA >= 11.8
torch >= 2.1.2
我的环境:
CUDA=12.2
gpu=A800*8
model=Qwen1.5-72b-Chat | Qwen1.5-72b-Chat-GPTQ-Int4 | Qwen1.5-32b-Chat
1.安装
方式一:
直接使用pip
pip install vllm
该方法最方便,能直接把vllm所需环境和依赖都安装完成
截止到写文章日期,执行上述命令会安装torch==2.1.2 和 CUDA = 12.1的环境 并且会直接把 ncll 安装完成 非常方便
但是这边需要注意 使用 该命令 需要在 CUDA=12.1 环境下执行 否则出问题
方式二:
git clone https://github.com/vllm-project/vllm.git
cd vllm
pip install -e .
该方法体现在“追新”,能第一时间得到官方的bug修复以及特性支持(比如截止写作日期官方目前已经支持到torch 2.2.1)
该方法我在执行 pip install -e .
时会出现错误 具体是 cmake 的报错 在官方寻找相关 issue 没有得到解决
因此该方法我没测试成功
2.部署服务
需要先启动ray服务
ray start --head --port 9877
ray start --address='127.0.0.1:9877'
单卡:
python -m vllm.entrypoints.openai.api_server \
--model /data/public/Qwen1.5-32B-Chat \
--tokenizer /data/public/Qwen1.5-34B-Chat \ # 可以不写
--max-model-len 8192 \
--gpu-memory-utilization 0.9
多卡:
python -m vllm.entrypoints.openai.api_server \
--host 0.0.0.0 \
--port 4667 \
--served-model-name Qwen1.5-72B-Chat \
--model /data/public/Qwen1.5-72B-Chat \
--tokenizer /data/public/Qwen1.5-72B-Chat \ # 可以不写
--max-model-len 4096 \ # 这个参数有点恶心 我在72b上写8192 会卡在ray加载
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.9
3.使用
使用上述方式部署的服务接口与oai接口相同,直接与oai的请求相同即可
curl http://localhost:4667/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen1.5-72B-Chat",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Tell me something about large language models."}
]
}'
4.踩过的一些坑
1.最好一开始就放下模型的路径、模型名字、几张卡这些参数信息就好,否则你可能会自我怀疑,为什么卡ray载入不动了,为什么一堆问题等等。
2.CUDA如果是11.8 需要参考官方文档 重新编译 vllm 这边就没实现了 因为没有11.8的环境
3.一定一定一定要把 ray 给起起来 不然会遇到非常非常多的bug!!!
- 1
- 0
-
分享