使用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则通过量化,使模型变小,轻量部署,适用于不同的场景。
相关推荐
NAGNIP7 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab9 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab9 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP12 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年12 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼13 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS13 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区14 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈14 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang14 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx