基于GPU实例单机部署满血版Deepseek模型

更新时间:2025-02-26 07:36:23

DeepSeek-V3/R1是拥有600B以上参数量的专家混合(MoE)模型,并已经开源了模型权重。在ebmgn8v实例上快速方便地构建DeepSeek-V3/R1的推理服务,您无需深入了解底层硬件,也无需额外配置即可开箱即用。本文为您介绍如何在ebmgn8v实例上构建DeepSeek-V3/R1的推理服务。

操作步骤

步骤一:创建GPU实例并安装Tesla驱动

具体操作,请参见创建GPU实例。关键参数说明如下:

  • 实例规格:目前可选的实例规格为ecs.ebmgn8v.48xlarge(内存1024 GiB、GPU显存96 GB以及192 vCPU)。更多信息,请参见GPU计算型(gn/ebm/scc系列)

  • 镜像:选择公共镜像,本文以Ubuntu 22.04版本的镜像为例。

    GPU实例上部署DeepSeek-V3/R1模型,需要提前在该实例上安装Tesla驱动且驱动版本应为550及以上版本,建议您通过ECS控制台购买GPU实例时,同步选中安装GPU驱动。实例创建完成后,会自动安装Tesla驱动、CUDA、cuDNN库等,相比手动安装方式更快捷。

    ebmgn8v

  • 数据盘:DeepSeek-V3/R1模型较大,会占用大量存储空间,为了保证模型顺利运行,建议您添加3 TiB以上数据盘。

    说明

    系统盘大小不限制,您可以根据自己实际需要选择。由于DeepSeek-R1模型和DeepSeek-V3模型的权重大小分别约1.3 TiB,数据盘建议选择3 TiB以上。

  • 公网IP:选中分配公网IPv4地址,带宽计费方式选择按使用流量,建议带宽峰值选择100 Mbps,以加快模型下载速度。

步骤二:在GPU上配置Docker容器

  1. 远程连接GPU实例。

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

  2. 执行以下命令,安装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/null
    
    sudo apt-get update
    sudo apt-get install -y docker-ce docker-ce-cli containerd.io
  3. 执行以下命令,检查Docker是否安装成功。

    docker -v

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

    docker

  4. 执行以下命令,安装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
  5. 设置Docker开机自启动并重启Docker服务。

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

    sudo systemctl status docker

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

    running

  7. (可选)初始化数据盘,将数据盘挂载到/mnt目录。

    如果购买GPU实例时选择了添加数据盘,则您需要初始化数据盘,并将数据盘挂载到/mnt目录。

    1. 执行lsblk命令,查看数据盘的信息。

      数据盘

    2. 执行以下命令,创建并挂载文件系统至/mnt目录下。

      sudo mkfs.ext4 /dev/nvme1n1
      sudo mount /dev/nvme1n1 /mnt
    3. 执行lsblk命令,查看数据盘已挂载至/mnt目录下。

      挂载

步骤三:下载DeepSeek-V3/R1模型并运行容器

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

    sudo apt install git-lfs -y
  2. 下载tmux并创建一个tmux session。

    sudo apt install tmux
    sudo tmux
    说明

    下载模型耗时较长,建议在tmux session中启动部署,以免ECS断开连接导致下载中断。

  3. 执行cd /mnt命令,进入/mnt目录,然后下载DeepSeek-V3/R1模型。

    • 下载DeepSeek-V3模型

      sudo git lfs clone https://www.modelscope.cn/deepseek-ai/DeepSeek-V3.git
    • 下载DeepSeek-R1模型

      sudo git lfs clone https://www.modelscope.cn/deepseek-ai/DeepSeek-R1.git
  4. 执行以下命令,拉取sglang容器镜像。

    sudo docker pull egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-nv-pytorch:preview-25.02-vllm0.6.4.post1-sglang0.4.2.post1-pytorch2.5-cuda12.4-20250207
    说明

    拉取镜像可能需要较长时间(30分钟甚至更久),请您耐心等待。

  5. 执行以下命令,启动sglang-test容器。

    sudo docker run -t -d --name="sglang-test"  --ipc=host --cap-add=SYS_PTRACE --network=host --gpus all --privileged --ulimit memlock=-1 --ulimit stack=67108864 -v /mnt:/mnt egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-nv-pytorch:preview-25.02-vllm0.6.4.post1-sglang0.4.2.post1-pytorch2.5-cuda12.4-20250207

推理测试验证

  1. 执行以下命令,进入sglang-test容器。

    docker exec -it sglang-test bash
  2. 执行以下命令,启动DeepSeek-V3DeepSeek-R1的推理服务。

    python3 -m sglang.launch_server --model-path /path/to/DeepSeek-V3 --port 30000 --mem-fraction-static 0.9 --tp 8 --trust-remote-code

    其中,/path/to/DeepSeek-V3替换为DeepSeek-V3DeepSeek-R1的存放目录,本文示例中替换为/mnt/DeepSeek-V3

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

    sglang

  3. 打开另一个远程终端窗口,运行如下命令,进入sglang-test容器。

    等待推理服务完成初始化正常运行后,进入sglang-test容器验证推理结果。

    docker exec -it sglang-test bash
  4. 执行以下命令,发送推理请求并验证模型的推理结果。

    curl http://localhost:30000/generate \
     -H "Content-Type: application/json" \
     -d '{
      "text": "deepseek中有几个e?",
      "sampling_params": {
      "max_new_tokens": 3000,
      "temperature": 0
     }
    }'

    结果

  • 本页导读 (1)
  • 操作步骤
  • 步骤一:创建GPU实例并安装Tesla驱动
  • 步骤二:在GPU上配置Docker容器
  • 步骤三:下载DeepSeek-V3/R1模型并运行容器
  • 推理测试验证
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等