使用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则通过量化,使模型变小,轻量部署,适用于不同的场景。
相关推荐
雨大王5123 分钟前
汽车产业链如何通过数字化平台实现研发协同升级
大数据·人工智能
冴羽10 分钟前
不知道怎么写 Nano Banana Pro 提示词?分享你一个结构化示例,复刻任意图片
前端·人工智能·aigc
新知图书10 分钟前
FastGPT企业知识库介绍
人工智能·ai agent·智能体·大模型应用开发·大模型应用
IT_陈寒10 分钟前
JavaScript 性能优化:7个 V8 引擎隐藏技巧让你的代码提速200%
前端·人工智能·后端
JustNow_Man11 分钟前
【UV】 推荐使用UV管理Python
人工智能·python·uv
清月电子12 分钟前
充电宝新规适配方案:KT6368A 蓝牙芯片应用技术说明
人工智能·单片机·嵌入式硬件·物联网
BRUCE_WUANG13 分钟前
【人工智能】FP8的scale的种类和各自区别是什么?
人工智能
Lay_鑫辰16 分钟前
西门子1200PLC控制禾川X5ER伺服配置AC4模式全流程
运维·人工智能·单片机·嵌入式硬件·自动化
新加坡内哥谈技术20 分钟前
OpenAI 因 Google 逼近而宣布“红色警戒”
人工智能