You need to enable JavaScript to run this app.
文档中心
GPU云服务器

GPU云服务器

复制全文
下载 pdf
DeepSeek系列模型
GPU-小EP部署DeepSeek-R1/V3模型
复制全文
下载 pdf
GPU-小EP部署DeepSeek-R1/V3模型
本文以在2台ecs.hpcpni3ln.45xlarge实例中,利用小规模专家并行(EP)技术部署DeepSeek-R1/V3模型为例,介绍如何在计算资源有限的情况下获得较好的模型推理性能。​
背景信息​
EP​
EP(Expert Parallelism,专家并行)是混合专家(MoE)模型中的核心并行策略,其核心思想是将MoE模型中的专家(Expert)分布到多个计算设备(例如GPU)上,解决单卡内存和算力的瓶颈限制,并通过负载均衡、通信优化和硬件亲和性设计,实现性能与资源效率的平衡。​
DeepSeek-V3​
DeepSeek-V3是一款强大的混合专家(MoE)语言模型,其总参数量达到了671 B,每个Token激活37 B参数,且在14.8 T Token上进行了预训练。了解更多。​
DeepSeek-V3-0324​
DeepSeek-V3-0324是DeepSeek发布的V3小版本,其参数量达到685 B。相较于DeepSeek-V3模型,DeepSeek-V3-0324在推理能力、代码能力、语言能力上都有明显提升。了解更多。​
DeepSeek-R1​
DeepSeek-R1是基于DeepSeek-V3-Base训练生成的推理模型。相较于DeepSeek-V3模型,DeepSeek-R1更擅长数学、代码和自然语言推理等复杂任务,其凭借模型开源、算法创新、极致性价比吸引全球注意。了解更多。​
DeepSeek-R1-0528​
DeepSeek-R1-0528是DeepSeek发布的R1小版本,该继续使用DeepSeek-V3-Base模型作为基座,但在后训练过程中投入了更多算力,显著提升了模型的思维深度与推理能力。在数学、编程与通用逻辑等多个基准测评中取得了优异成绩,并且在整体表现上已接近其他国际顶尖模型。了解更多。​
软件要求​
  • NVIDIA驱动:​
  • GPU驱动:用来驱动NVIDIA GPU的程序。本文以535.161.08为例。​
  • 运行环境:​
  • SGLang框架:SGLang是一个用于大型语言模型和视觉语言模型的快速服务框架,本文以v0.4.6.post2版本为例。​
操作步骤​
步骤一:准备环境​
  1. 创建GPU计算型实例。​
  • ​
    配置项​
    推荐配置​
    基础配置​
    ​
    计算规格​
    ecs.hpcpni3ln.45xlarge​
    说明​
    ecs.hpcpni3ln.45xlarge规格实例正在邀测中,如需试用,请提交工单或联系客户经理申请。​
    镜像​
    Ubuntu 22.04 with GPU Driver 535.161.08 and doca​
    说明​
    若您选用其他发行版本的镜像,需在创建实例后自行安装GPU驱动。​
    实例数量​
    2​
    说明​
    本文创建的两台GPU实例,分别作为“节点0”、“节点1”。​
    存储​
    • 规格:吞吐型SSD TL0云盘​
    • 容量:不低于1 TiB​
    说明​
    本文使用的DeepSeek-R1/DeepSeek-V3模型参数量均为671 B、DeepSeek-V3-0324模型参数量为685 B,您可以根据实际部署的模型参数量级,调整云盘容量。​
    网络配置​
    ​
    私有网络​
    两台实例需处于同一私有网络。​
    公网IP​
    勾选“分配弹性公网IP”。​
    ​
  1. 安装依赖的软件、工具。​
  1. 分别登录购买的两台GPU实例。了解更多。​
  1. 在两台实例中分别执行如下命令,安装、配置Docker。​
  • ​
    sudo apt update​
    sudo apt install ca-certificates curl gnupg lsb-release​
    sudo mkdir -p /etc/apt/keyrings​
    curl -fsSL https://mirrors.ivolces.com/docker/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg​
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.ivolces.com/docker/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null​
    sudo apt update​
    sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y​
    ​
  1. 在两台实例中分别执行如下命令,安装NVIDIA Container Toolkit。​
  • ​
    curl -s https://mirrors.ivolces.com/nvidia_all/ubuntu2204/x86_64/3bf863cc.pub | sudo apt-key add -​
    cat <<EOF >/etc/apt/sources.list.d/nvidia.list​
    deb http://mirrors.ivolces.com/nvidia_all/ubuntu2204/x86_64/ /​
    EOF​
    apt update​
    apt install nvidia-container-toolkit -y​
    ​
  1. 在两台实例中分别执行如下命令配置Docker,使容器可以使用实例的GPU资源。​
  • ​
    sudo nvidia-ctk runtime configure --runtime=docker​
    sudo systemctl restart docker​
    ​
  1. (可选)初始化本地盘。​
  • 若您选用的实例规格搭配有本地盘,建议您执行如下命令将本地盘挂载到存储模型的目录“/data01”,提升模型加载速度。​
  • ​
    mkfs -t ext4 /dev/nvme0n1​
    mount -t ext4 /dev/nvme0n1 /data01​
    ​
说明​
  • 请将/dev/nvme0n1替换为实际本地盘名称。​
  • 请将ext4替换为您期望使用的文件系统。​
步骤二:部署、运行模型​
  1. 分别登录购买的两台GPU实例。了解更多。​
  1. 在相应节点的实例中启动Docker容器和模型服务。​
  • ​
    “节点0”实例
    “节点1”实例
    ​
    请根据实例所在地域,执行相应命令部署、运行模型。​
    • 华北2(北京)​
    • ​
      docker run -d --network host --privileged --gpus=all --ipc=host -v /var/run/nvidia-topologyd/:/var/run/nvidia-topologyd/ -v /data01:/data -e MODEL_LENGTH=131072 -e TP=16 -e TOTAL_RANKS=2 -e RANKS=0 -e RANK0_ADDR=192.168.0.2:10240 -e NCCL_MIN_NCHANNELS=24 -e NCCL_IB_QPS_PER_CONNECTION=8 -e SGL_ENABLE_JIT_DEEPGEMM=1 -e CMD_ARGS="--cuda-graph-bs 1 2 4 8 10 16 20 24 28 32 40 44 48 50 52 56 60 64 66 68 70 72 74 76 78 80 82 --cuda-graph-max-bs 82 --attention-backend fa3 --speculative-algo NEXTN --speculative-draft /data/models/DeepSeek-R1-NextN --speculative-num-steps 3 --speculative-eagle-topk 2 --speculative-num-draft-tokens 4 --enable-ep-moe --max-running-requests 256 --mem-fraction-static 0.8" ai-containers-cn-beijing.cr.volces.com/deeplearning/sglang:v0.4.6.post2.byted.0.0.2.202505132143​
      ​
    • 华东2(上海)​
    • ​
      docker run -d --network host --privileged --gpus=all --ipc=host -v /var/run/nvidia-topologyd/:/var/run/nvidia-topologyd/ -v /data01:/data -e MODEL_LENGTH=131072 -e TP=16 -e TOTAL_RANKS=2 -e RANKS=0 -e RANK0_ADDR=192.168.0.2:10240 -e NCCL_MIN_NCHANNELS=24 -e NCCL_IB_QPS_PER_CONNECTION=8 -e SGL_ENABLE_JIT_DEEPGEMM=1 -e CMD_ARGS="--cuda-graph-bs 1 2 4 8 10 16 20 24 28 32 40 44 48 50 52 56 60 64 66 68 70 72 74 76 78 80 82 --cuda-graph-max-bs 82 --attention-backend fa3 --speculative-algo NEXTN --speculative-draft /data/models/DeepSeek-R1-NextN --speculative-num-steps 3 --speculative-eagle-topk 2 --speculative-num-draft-tokens 4 --enable-ep-moe --max-running-requests 256 --mem-fraction-static 0.8" ai-containers-cn-shanghai.cr.volces.com/deeplearning/sglang:v0.4.6.post2.byted.0.0.2.202505132143​
      ​
    ​
    ​
  • 参数说明:​
  • 如上命令以部署、启动DeepSeek-R1模型为例,如需部署、启动其他模型,可根据如下说明替换对应环境变量的参数值。​
  • ​
    环境变量​
    说明​
    取值样例​
    MODEL_PATH​
    容器内模型存储路径,默认值/data/models。​
    /data/models​
    MODEL_NAME​
    部署的模型名称。取值:​
    • DeepSeek-R1:默认值,部署DeepSeek-R1模型。​
    • DeepSeek-R1-0528:部署DeepSeek-R1-0528模型。​
    • DeepSeek-V3:部署DeepSeek-V3模型。​
    • DeepSeek-V3-0324:部署DeepSeek-V3-0324模型。​
    DeepSeek-R1​
    MODEL_LENGTH​
    模型的最大长度(Token数),默认值131072。​
    131072​
    TP​
    Tensor Parallelism 并行度,默认值16。​
    16​
    TOTAL_RANKS​
    总节点数,默认值1。​
    2​
    RANKS​
    指定当前节点的Rank号,默认值0。​
    0​
    RANK0_ADDR​
    配置访问Rank号为0的节点其IP地址与端口号,格式为IP地址:端口号。​
    • IP地址:建议配置为0号节点的私网IP地址。​
    • 端口号:节点间通信的端口号。​
    192.168.0.2:10240​
    PORT​
    服务监听的端口号,默认值8080。 ​
    8080​
    CMD_ARGS​
    指定SGLang框架启动的额外参数。格式为-e CMD_ARGS="<参数 参数值>"。例如:​
    添加--mem-fraction-static与--disable-cuda-graph两个参数时,可追加参数:-e CMD_ARGS="--mem-fraction-static 0.95 --disable-cuda-graph"​
    "--mem-fraction-static 0.95"​
    ​
说明​
  • 火山引擎基于社区版SGLang 0.4.6.post2版本框架进行了如下优化,提升模型推理性能。​
  • 调优EPMoE算子性能。​
  • 通过配置文件调优fused_moe参数。​
  • 添加运行参数--speculative-num-steps 3 --speculative-eagle-topk 2 --speculative-num-draft-tokens 4,调优DeepSeek模型的MTP(Multi-Token Prediction)模块。​
  • 通过命令启动容器时,会自动拉取推理引擎镜像和权重文件,由于模型文件较大,安装过程相对耗时,请耐心等待。​
  • 若您需要自行下载推理引擎与模型文件,参考附录进行下载。​
  1. 在两台实例中分别执行如下命令,通过Docker日志确认容器及模型是否成功启动。​
  1. 查看容器ID。​
  • ​
    docker ps​
    ​
  1. 查看对应容器的运行日志。​
  • ​
    docker logs -f <CONTAINER_ID>​
    ​
说明​
请将<CONTAINER_ID>替换为实际容器ID。 ​
步骤三:调用模型​
  1. 执行如下命令调用模型,确保部署的模型可以正常进行推理。​
  • ​
    curl -X POST http://0.0.0.0:8080/v1/chat/completions -H "Content-Type: application/json" -d '{​
    "model": "/data/models/DeepSeek-R1",​
    "messages": [​
    {​
    "role": "user",​
    "content": "Please prove the Riemann Hypothesis."​
    }​
    ],​
    "max_tokens": 100,​
    "temperature": 0.7​
    }'​
    ​
  • 参数说明:​
  • 本文仅说明验证使用到的参数信息,更多参数详情可查看DeepSeek API文档。​
  • ​
    参数名​
    说明​
    取值样例​
    model​
    使用的模型。​
    /data/models/DeepSeek-R1​
    messages​
    对话的消息列表。​
    • role:该消息的发起角色。​
    • content:消息的内容。​
    -​
    max_tokens​
    指定一次请求中模型生成Completion的最大Token数。取值:​
    • 介于1 到 8192 间的整数。​
    • 默认值为 4096。​
    100​
    temperature​
    采样温度,值越高(例如1)会使输出更随机,而值越低(例如0.2)会使其更加集中和确定。取值:介于 0 和 2 之间。​
    0.7​
    ​
附录​
您可自行下载火山引擎缓存的推理引擎及模型文件,或前往DeepSeek官网下载相应内容。​
​
资源​
​
地域​
下载方式​
推理引擎​
​
华北2(北京)​
​
docker pull ai-containers-cn-beijing.cr.volces.com/deeplearning/sglang:v0.4.6.post2.byted.0.0.2.202505132143​
​
​
​
华东2(上海)​
​
docker pull ai-containers-cn-shanghai.cr.volces.com/deeplearning/sglang:v0.4.6.post2.byted.0.0.2.202505132143​
​
模型文件​
说明​
  • 请使用tosutil下载模型文件。​
  • 请在tosutil所在目录中执行下载命令,建议将/root替换为实际存放模型文件路径。​
DeepSeek-V3​
华北2(北京)​
​
./tosutil cp tos://iaas-public-model-cn-beijing/models/DeepSeek-V3/ /root -r​
​
​
​
华东2(上海)​
​
./tosutil cp tos://iaas-public-model-cn-shanghai/models/DeepSeek-V3/ /root -r​
​
​
DeepSeek-V3-0324​
华北2(北京)​
​
./tosutil cp tos://iaas-public-model-cn-beijing/models/DeepSeek-V3-0324/ /root -r​
​
​
​
华东2(上海)​
​
./tosutil cp tos://iaas-public-model-cn-shanghai/models/DeepSeek-V3-0324/ /root -r​
​
​
DeepSeek-R1​
华北2(北京)​
​
./tosutil cp tos://iaas-public-model-cn-beijing/models/DeepSeek-R1/ /root -r​
​
​
​
华东2(上海)​
​
./tosutil cp tos://iaas-public-model-cn-shanghai/models/DeepSeek-R1/ /root -r​
​
​
​
最近更新时间:2025.06.09 19:14:58
这个页面对您有帮助吗?
有用
有用
无用
无用