使用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则通过量化,使模型变小,轻量部署,适用于不同的场景。
相关推荐
Mxsoft61911 分钟前
电力避雷器多参数融合监测与深度学习驱动的寿命预测技术
人工智能·深度学习
王哈哈^_^13 分钟前
CV三大核心任务:目标检测、图像分割、关键点检测
人工智能·算法·yolo·目标检测·计算机视觉·视觉检测
Chef_Chen19 分钟前
数据科学每日总结--Day14--数据挖掘
人工智能·数据挖掘
Macbethad31 分钟前
如何开发机器人的运动控制系统
人工智能·深度学习·机器人
newxtc31 分钟前
【河北政务服务网-注册_登录安全分析报告】
人工智能·selenium·安全·yolo·政务·安全爆破
Mr.Winter`1 小时前
无人船 | 图解基于MPC控制的路径跟踪算法(以全驱动无人艇WAMV为例)
人工智能·算法·机器人·自动驾驶·ros·路径规划
唔皇万睡万万睡1 小时前
基于模板匹配的数字和大写字母识别(Matlab)
图像处理·人工智能·机器学习·计算机视觉·matlab
阿里云云原生1 小时前
阿里巴巴 AI Coding 分享会 —— Qoder Together 广州站来啦!
人工智能
DO_Community1 小时前
在 DigitalOcean GPU 云服务上使用 LangChain 构建Serverless AI 应用
人工智能·langchain·serverless
亚马逊云开发者2 小时前
Agentic AI基础设施实践经验系列(六):Agent质量评估
人工智能