使用vllm部署大模型

使用 vllm 部署大模型

部署前准备

需要把想运行的模型下载到服务器上
  • 以 通义千问-7B 为案例
下载模型
shell 复制代码
git lfs install
pip install -U huggingface_hub
huggingface-cli download --resume-download Qwen/Qwen-7B-Chat --local-dir Qwen-7B-Chat

开始部署

第一步 设置 conda 环境

shell 复制代码
# 创建新的 conda 环境.
conda create -n llm python=3.9 -y

conda activate llm

第二步 安装 vllm

shell 复制代码
pip install vllm

第三步 安装 modelscope

用于下载镜像加速

shell 复制代码
pip install modelscope

第四步 运行我们的模型

shell 复制代码
VLLM_USE_MODELSCOPE=True python -m vllm.entrypoints.openai.api_server  --model="/home/Qwen-7B-Chat" --trust-remote-code --port 6006

第五步测试:

记得把下面的地址换成自己服务的地址

shell 复制代码
curl http://localhost:6006/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "/home/Qwen-7B-Chat",
        "max_tokens":60,
        "messages": [
            {
                "role": "user",
                "content": "你是谁?"
            }
        ]
    }'

扩展

自定义api-key:

  • 如果想带上api-key,可以在执行命令的时候带上:

    shell 复制代码
    VLLM_USE_MODELSCOPE=True python -m vllm.entrypoints.openai.api_server  --model="/home/Qwen-7B-Chat" --dtype auto --api-key sk-llm --trust-remote-code --port 6006
  • 测试

    shell 复制代码
    curl http://localhost:6006/v1/chat/completions \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer sk-llm" \
        -d '{
           "model": "/home/Qwen-7B-Chat",
            "max_tokens":60,
            "messages": [
                {
                    "role": "user",
                    "content": "你是谁?"
                }
            ]
        }'

启动多GPU服务:

  • 要运行多GPU服务,在启动命令加上--tensor-parallel-size参数,比如2张GPU卡:
shell 复制代码
VLLM_USE_MODELSCOPE=True python -m vllm.entrypoints.openai.api_server --model="/home/Qwen-7B-Chat" --dtype auto --api-key sk-llm  --trust-remote-code --port 6006 --tensor-parallel-size 2
  • 测试

    shell 复制代码
    curl http://localhost:6006/v1/chat/completions \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer sk-llm" \
        -d '{
           "model": "/home/Qwen-7B-Chat",
            "max_tokens":60,
            "messages": [
                {
                    "role": "user",
                    "content": "你是谁?"
                }
            ]
        }'

总结

  • 在huggingface hub拉取镜像,推荐用 官方提供的专门下载而设计的工具链huggingface-cli。不仅可以下载模型、数据、还可以登录huggingface、上传模型和数据等。但缺点是不支持多线程。
  • 不建议用git clone的方式,虽然很简单,但是不支持断点续传,主要是clone会下载历史版本占用磁盘空间,.git文件夹会比较大。
  • ollama和vllm两个都是目前流行的部署大模型的工具,各有优势。vllm有对内存做了优化和推理加速;ollama则通过量化,使模型变小,轻量部署,适用于不同的场景。
相关推荐
lynn-fish8 分钟前
机器人对人工智能未来发展的影响
人工智能·机器人
旗晟机器人10 分钟前
A4-C四驱高防变电站巡检机器人
大数据·人工智能·安全·机器人
weixi_kelaile52014 分钟前
ai智能语音电销机器人可以做哪些事情?
java·linux·服务器·人工智能·机器人·云计算·腾讯云
雪兽软件5 小时前
人工智能和大数据如何改变企业?
大数据·人工智能
UMS攸信技术7 小时前
汽车电子行业数字化转型的实践与探索——以盈趣汽车电子为例
人工智能·汽车
ws2019077 小时前
聚焦汽车智能化与电动化︱AUTO TECH 2025 华南展,以展带会,已全面启动,与您相约11月广州!
大数据·人工智能·汽车
堇舟8 小时前
斯皮尔曼相关(Spearman correlation)系数
人工智能·算法·机器学习
爱写代码的小朋友8 小时前
使用 OpenCV 进行人脸检测
人工智能·opencv·计算机视觉
Cici_ovo9 小时前
摄像头点击器常见问题——摄像头视窗打开慢
人工智能·单片机·嵌入式硬件·物联网·计算机视觉·硬件工程