使用vLLM镜像快速构建模型的推理环境

2025-06-26   访问量:1003


GPU的实例上部署vLLM镜像后,可以帮助您快速且方便地构建大语言模型(例如Llama模型、ChatGLM模型、百川Baichuan模型或通义千问Qwen模型)的推理环境,主要应用在智能对话系统、文本分类或分析等自然语言处理业务场景,您无需深入了解底层硬件,也无需额外配置即可开箱即用。本文为您介绍如何在GPU实例上使用vLLM容器镜像来快速构建大语言模型的推理服务。

说明

vLLM是一个开源的大语言模型的推理框架,与HuggingFace模型无缝集成,将vLLM打包成vLLM镜像后,可以快速且方便地构建大语言模型推理服务,更多信息,请参见vLLM

准备工作

获取vLLM容器镜像详细信息,以便您在GPU实例上部署该容器镜像时使用。例如,创建GPU实例时需要提前了解容器镜像适用的GPU实例类型,拉取容器镜像时需要提前获取镜像地址等信息。

  1. 登录容器镜像服务控制台

  2. 在左侧导航栏,单击制品中心

  3. 仓库名称搜索框,搜索vllm,并选择目标镜像egs/vllm

    vLLM容器镜像大概每3个月更新一次。镜像列表详情如下所示:




    镜像名称

    组件信息

    镜像地址

    vLLM(推荐)


    egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm:0.8.2-pytorch2.6-cu124-20250328

    vLLM


    egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm:0.7.2-sglang0.4.3.post2-pytorch2.5-cuda12.4-20250224

    vLLM


    egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm:0.7.2-pytorch2.5.1-cuda12.4-ubuntu22.04

    vLLM


    egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm:0.6.4.post1-pytorch2.5.1-cuda12.4-ubuntu22.04

    vLLM


    egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm:0.5.4-pytorch2.4.0-cuda12.4.1-ubuntu22.04

    • vLLM:0.5.4

    • Python:3.10

    • PyTorch:2.4.0

    • CUDA:12.4.1

    • 基础镜像:Ubuntu 22.04

    • vLLM:0.6.4.post1

    • Python:3.10

    • PyTorch:2.5.1

    • CUDA:12.4.1

    • 基础镜像:Ubuntu 22.04

    • vLLM:0.7.2

    • Python:3.10

    • PyTorch:2.5.1

    • CUDA:12.4.1

    • 基础镜像:Ubuntu 22.04

    • vLLM:0.7.2

    • sglang:0.4.3.post2

    • Python:3.10

    • PyTorch:2.5.1

    • CUDA:12.4.1

    • 基础镜像:Ubuntu 22.04

    • vLLM:0.8.2

    • Python:3.10

    • PyTorch:2.6.0

    • CUDA:12.4.1

    • 基础镜像:Ubuntu 22.04

    操作步骤

    1. 创建GPU实例并安装Tesla驱动。

      llm.png

      • gn6e、ebmgn6e

      • gn7i、ebmgn7i、ebmgn7ix

      • gn7e、ebmgn7e、ebmgn7ex

      • ebmgn8v、ebmgn8is

      • 实例:vLLM镜像仅支持以下GPU实例规格族

      • 镜像:选择以Ubuntu 20.04操作系统为例。在GPU实例上使用vLLM容器镜像,需要提前在该实例上安装Tesla驱动且驱动版本应为535或更高,建议您通过ECS控制台购买GPU实例时,同步选中安装GPU驱动

        说明

        GPU实例创建完成后,会同时自动安装Tesla驱动、CUDA、cuDNN库等,相比手动安装方式更快捷。

    2. 远程连接GPU实例。

      具体操作,请参见使用Workbench工具以SSH协议登录Linux实例

    3. 执行以下命令,安装Docker环境。

       

      sudo apt-get update
      sudo apt-get -y install ca-certificates curl
      
      sudo install -m 0755 -d /etc/apt/keyrings
      sudo curl -fsSL http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
      sudo chmod a+r /etc/apt/keyrings/docker.asc
      
      
      echo \
        "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu \  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
        sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt-get update
      sudo apt-get install -y docker-ce docker-ce-cli containerd.io
    4. 执行以下命令,检查Docker是否安装成功。

       

      docker -v

      如下图回显信息所示,表示Docker已安装成功。

      version.jpg

    5. 执行以下命令,安装nvidia-container-toolkit。

       

      curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
        && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
          sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
          sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
      sudo apt-get update
      sudo apt-get install -y nvidia-container-toolkit
    6. 设置Docker开机自启动并重启Docker服务。

       

      sudo systemctl enable docker 
      sudo systemctl restart docker
    7. 执行以下命令,查看Docker是否已启动。

       

      sudo systemctl status docker

      如下图回显所示,表示Docker已启动。

      docker restart.jpg

    8. 执行以下命令,拉取vLLM镜像。

      说明

      拉取vLLM镜像大约需要30分钟左右,请您耐心等待。

       

      sudo docker pull <vLLM镜像地址>

      请将代码中的<vLLM镜像地址>替换为您在准备工作中获取的vLLM镜像地址。

      示例代码

       

      sudo docker pull egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm:0.5.4-pytorch2.4.0-cuda12.4.1-ubuntu22.04
    9. 执行以下命令,运行vLLM容器。

       

      sudo docker run -d -t --net=host --gpus all \
       --privileged \
       --ipc=host \
       --name vllm \
       -v /root:/root \
       <vLLM镜像地址>

      请将代码中的<vLLM镜像地址>替换为您在准备工作中获取的vLLM镜像地址。

    10. 执行以下命令,查看vLLM容器是否启动成功。

       

      docker ps

      如下图回显所示,表示vLLM容器已启动。

      2024-12-06_15-47-08.png

    测试验证

    本测试以Qwen2.5-7B模型为例,展示使用vLLM的推理效果。

    1. 执行以下命令,安装git-lfs便于下载大语言模型。

       

      apt install git-lfs
      cd /root
    2. 执行以下命令,下载modelscope格式的Qwen2.5-7B模型。

       

      git lfs clone https://www.modelscope.cn/Qwen/Qwen2.5-7B-Instruct.git

      说明

      下载模型过程中,如果显示内存不足导致模型下载失败,您可以通过扩容云盘来解决,具体操作,请参见云盘扩容指引

    3. 执行以下命令,进入vLLM容器。

       

      docker exec -it vllm bash
    4. 测试vLLM的推理效果。

      • 离线推理测试

        vllm提供了测试脚本demo脚本(vllm_demo.py)。

         

        python3 /workspace/demo/vllm_demo.py

        例如可以快速地处理对话问答任务,推理示例如下:

        vllm推理测试.jpg

      • 在线推理测试

      1. 执行以下命令,启动vLLM推理服务。

         

        python3 -m vllm.entrypoints.openai.api_server \
        --model /root/Qwen2.5-7B-Instruct \
        --trust-remote-code \
        --tensor-parallel-size 1

        如下所示,表示vLLM推理服务已启动。

        screenshot_2024-12-09_14-46-09.png

      2. 执行以下命令,测试推理效果。

         

        curl http://localhost:8000/v1/chat/completions \
            -H "Content-Type: application/json" \
            -d '{
            "model": "/root/Qwen2.5-7B-Instruct",   
            "messages": [
            {"role": "system", "content": "你是个友善的AI助手。"},
            {"role": "user", "content": "介绍一下什么是大模型推理。" }
            ]}'

        2024-12-18_11-02-22.png

        说明

        上述在线推理仅以一个demo的形式展示了推理效果。如果您想通过其他脚本测试在线推理的性能,请参考vllm官网中benchmarksbenchmark_serving.py的测试脚本。

      3. 执行以下命令,编辑vllm_demo.py脚本。

         

        cd demo
        vim vllm_demo.py
      4. vllm_demo.py脚本中,将模型路径替换为您模型实际下载的路径,然后退出并保存脚本。

        screenshot_2024-12-09_14-08-32.png

      5. 执行以下命令,测试vLLM的推理效果。


    热门文章
    更多>