DeepSeek-V3/R1是拥有600B以上参数量的专家混合(MoE)模型,并已经开源了模型权重。本文为您介绍在GPU实例上部署DeepSeek-R1蒸馏模型推理服务。
模型的参数量越大,其处理数据和生成内容的复杂性也随之增加,且运行所需的计算资源也会相应增多。每个模型在计算和存储需求上存在差异,以下列出了DeepSeek-R1各型号所需的硬件配置。根据不同的使用需求选择合适的模型,不仅可以降低成本,还能提升部署效率。 模型名称 模型版本 模型大小 vCPU 内存 GPU显存 系统盘 推荐实例规格 DeepSeek-R1-Distill-Qwen-1.5B 1.5B(15亿参数) 6.7 GB 4核或6核处理器 30 GB RAM 24 GB 至少50 GB空闲空间 ecs.gn7i-c8g1.2xlarge DeepSeek-R1-Distill-Qwen-7B 7B(70亿参数) 29 GB 6核或8核处理器 32 GB RAM 24 GB 至少100 GB空闲空间 ecs.gn7i-c16g1.4xlarge DeepSeek-R1-Distill-Llama-8B 8B(80亿参数) 30 GB 6核或8核处理器 32 GB RAM 24 GB 至少100 GB空闲空间 ecs.gn7i-c16g1.4xlarge DeepSeek-R1-Distill-Qwen-14B 14B(140亿参数) 56 GB 8核以上处理器 64 GB RAM 2*24 GB 至少200 GB空闲空间 ecs.gn7i-2x.8xlarge DeepSeek-R1-Distill-Qwen-32B 32B(320亿参数) 123 GB 8核以上处理器 128 GB RAM 4*24 GB 至少500 GB空闲空间 ecs.gn7i-4x.8xlarge DeepSeek-R1-Distill-Llama-70B 70B(700亿参数) 263 GB 12核以上处理器 128 GB RAM 8*24 GB 至少1 TB空闲空间 ecs.gn7i-8x.16xlarge NVIDIA GPU驱动:用来驱动NVIDIA GPU的程序,本文以Driver版本 550.127.08为例。 vLLM:是一个有助于更高效地完成大语言模型推理的开源库,本文以其v0.6.4.post1版本为例。 Open WebUI:基于Web的交互界面,提供类似ChatGPT的用户体验,支持对话记录管理、多模型切换及插件扩展,适合非技术用户直接操作。背景信息
估算模型所需配置
核心工具介绍
创建GPU实例并正确安装驱动。具体操作,请参见创建GPU实例。关键参数说明如下。 实例规格:参考估算模型所需配置,选择满足对应模型版本的实例规格。 镜像:选择公共镜像,本文以Alibaba Cloud Linux 3.2104 LTS 64位版本的镜像为例。 在GPU实例上部署DeepSeek-V3/R1模型,需要提前在该实例上安装GPU驱动且驱动版本应为550及以上版本,建议您通过ECS控制台购买GPU实例时,同步选中安装GPU驱动。实例创建完成后,会自动安装Tesla驱动、CUDA、cuDNN库等,相比手动安装方式更快捷。 系统盘:参考估算模型所需配置,设置满足对应模型版本的系统盘大小规格,建议系统盘大小设置1 TiB以上。 公网IP:选中分配公网IPv4地址,带宽计费方式选择按使用流量,建议带宽峰值选择100 Mbps,以加快模型下载速度。 安全组:开放22和8080端口。 安装Docker。具体操作,请参见安装Docker。 安装NVIDIA容器工具包。 Alibaba Cloud Linux/CentOS Ubuntu/Debian (可选)购买数据盘并完成挂载。 由于模型较大,如果您的系统盘容量不足,建议您单独购买数据盘用于存储下载的模型。建议挂载点以 执行以下命令,拉取推理镜像。 下载模型文件,您可以访问阿里云魔搭社区Modelscope选择模型,在模型详情页获取名称。 执行以下命令,实时监控下载进度,等待下载结束。 下载模型耗时较长,请您耐心等待。当下载任务完成后,会停止输出新的日志,您可以随时按下 启动模型推理服务。 运行以下命令,检查服务是否正常启动。 在日志输出中寻找类似以下的消息: 这表示服务已经成功启动并在端口 执行以下命令,拉取基础环境镜像。 执行以下命令,启动Open WebUI服务。 执行以下命令,实时监控下载进度,等待下载结束。 在日志输出中寻找类似以下的消息: 这表示服务已经成功启动并在端口 在本地物理机上使用浏览器访问 在Open WebUI界面中进行问答测试。 单击右上角的头像,选择管理员面板。 进入管理员后台,在顶部菜单栏单击设置。 在左侧导航栏单击通用,打开允许新用户注册的开关,设置默认用户角色为用户。 在左侧导航栏单击模型,单击模型后的 在可见性的下拉列表中,选择Public,单击保存并更新。 配置完成后,新用户通过访问 记录日志采集,请参考采集Docker容器的标准输出。步骤一:准备环境
#配置生产存储库curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \
sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo#安装 NVIDIA Container Toolkit 软件包sudo yum install -y nvidia-container-toolkit#重启dockersudo systemctl restart docker
/mnt
为例。具体操作,请参见挂载数据盘。步骤二:部署和运行DeepSeek模型
sudo docker pull egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm:0.6.4.post1-pytorch2.5.1-cuda12.4-ubuntu22.04
# 定义要下载的模型名称。MODEL_NAME需要访问Modelscope选择模型,在模型详情页获取名称,脚本以DeepSeek-R1-Distill-Qwen-7B为例MODEL_NAME="DeepSeek-R1-Distill-Qwen-7B"# 设置本地存储路径。确保该路径有足够的空间来存放模型文件(建议预留模型大小的1.5倍空间),此处以/mnt/7B为例LOCAL_SAVE_PATH="/mnt/7B"# 如果/mnt/7B目录不存在,则创建它sudo mkdir -p ${LOCAL_SAVE_PATH}# 确保当前用户对该目录有写权限,根据实际情况调整权限sudo chmod ugo+rw ${LOCAL_SAVE_PATH}# 启动下载,下载完成后自动销毁sudo docker run -d -t --network=host --rm --name download \
-v ${LOCAL_SAVE_PATH}:/data \
egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm:0.6.4.post1-pytorch2.5.1-cuda12.4-ubuntu22.04 \
/bin/bash -c "git-lfs clone https://www.modelscope.cn/models/deepseek-ai/${MODEL_NAME}.git /data"
sudo docker logs -f download
Ctrl+C
退出,这不会影响容器的运行,即使退出终端也不会中断下载。# 定义要下载的模型名称。MODEL_NAME需要访问Modelscope选择模型,在模型详情页获取名称,脚本以DeepSeek-R1-Distill-Qwen-7B为例MODEL_NAME="DeepSeek-R1-Distill-Qwen-7B"# 设置本地存储路径。确保该路径有足够的空间来存放模型文件(建议预留模型大小的1.5倍空间),此处以/mnt/7B为例LOCAL_SAVE_PATH="/mnt/7B"# 定义服务运行时监听的端口号。可以根据实际需求进行调整,默认使用30000端口PORT="30000"# 定义使用的GPU数量。这取决于实例上可用的GPU数量,可以通过nvidia-smi -L命令查询# 这里假设使用4个GPUTENSOR_PARALLEL_SIZE="4"# 创建目录并设置权限。如果目录不存在,则创建它,并确保当前用户对该目录有读写权限。sudo mkdir -p ${LOCAL_SAVE_PATH}sudo chmod ugo+rw ${LOCAL_SAVE_PATH}# 启动Docker容器并运行服务sudo docker run -d -t --network=host --gpus all \
--privileged \
--ipc=host \
--name ${MODEL_NAME} \
-v ${LOCAL_SAVE_PATH}:/data \
egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm:0.6.4.post1-pytorch2.5.1-cuda12.4-ubuntu22.04 \
/bin/bash -c "vllm serve /data \
--port ${PORT} \
--served-model-name ${MODEL_NAME} \
--tensor-parallel-size ${TENSOR_PARALLEL_SIZE} \
--max-model-len=16384 \
--enforce-eager \
--dtype=half"
sudo docker logs ${MODEL_NAME}
INFO: Uvicorn running on http://0.0.0.0:30000 (Press CTRL+C to quit)
30000
上监听。步骤三:启动Open WebUI
sudo docker pull alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/python:3.11.1
#设置模型服务地址OPENAI_API_BASE_URL=http://127.0.0.1:30000/v1# 创建数据目录,确保数据目录存在并位于/mnt下sudo mkdir -p /mnt/open-webui-data#启动open-webui服务sudo docker run -d -t --network=host --name open-webui \
-e ENABLE_OLLAMA_API=False \
-e OPENAI_API_BASE_URL=${OPENAI_API_BASE_URL} \
-e DATA_DIR=/mnt/open-webui-data \
-e HF_HUB_OFFLINE=1 \
-v /mnt/open-webui-data:/mnt/open-webui-data \
alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/python:3.11.1 \
/bin/bash -c "pip config set global.index-url http://mirrors.cloud.aliyuncs.com/pypi/simple/ && \
pip config set install.trusted-host mirrors.cloud.aliyuncs.com && \
pip install --upgrade pip && \
pip install open-webui==0.5.10 && \
mkdir -p /usr/local/lib/python3.11/site-packages/google/colab && \
open-webui serve"
sudo docker logs -f open-webui
INFO: Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)
8080
上监听。http://<ECS公网IP地址>:8080
,首次登录时,请根据提示创建管理员账号。按钮。
http://<ECS公网IP地址>:8080
,即可注册登录您部署的Open WebUI,与DeepSeek-R1-Distill模型进行对话问答了。相关操作