通过百舸平台PD分离部署DeepSeek R1
为了应对复杂模型和大规模数据处理的需求,提升推理效率、资源利用率和服务管理的灵活性。百舸平台支持根据Prefill和Decode阶段对资源需求的差异性,合理分配调度算力资源。本文将介绍如何使用AIAK推理加速镜像在2台H20机器 PD分离1:1部署DeepSeek R1模型。
前置条件
准备资源
- 购买2台H20机器并创建百舸通用资源池(H20需开通白名单,请联系百度售前工程师)
- 开通PFS或CFS存储并与资源池绑定。
准备数据
平台已提供DeepSeek R1模型权重文件存储在BOS对象存储中,您可以从对应地域的BOS路径中下载模型。
下载DeepSeek-R1模型文件
./bcecmd bos sync bos:/aihc-models-bj/deepseek-ai/DeepSeek-R1 /mnt/pfs/DeepSeek-R1
下载MTP使能依赖的小模型文件
./bcecmd bos sync bos:/aihc-models-bj/deepseek-ai/DeepSeek-R1-NextN /mnt/pfs/DeepSeek-R1-NextN
部署服务
登录百舸异构计算平台,在左侧导航中选择 在线服务部署 部署自定义服务。
部署Prefill服务
- 基本信息
填写服务名称,资源池类型选择通用资源池,加速芯片类型选择H20;
- Prefill-Decode设置
开启Prefill-Decode 分离,设置服务类型为 Prefill 并开启RDMA;
- 服务镜像
Prefill-Decode 分离模式部署服务,仅支持使用百舸预置的AIAK推理加速镜像,不支持修改;
- 资源申请
加速芯片卡数设置为8卡;
-
存储挂载
按顺序先挂载DeepSeek-R1模型文件,再挂载MTP使能依赖的小模型文件,源路径填写存储模型权重文件PFS或CFS的路径,目标路径填写为 /mnt/model;
-
环境变量
输入MODEL_NAME,调用服务时将根据MODEL_NAME进行路由;
注意:同一服务的Prefill和Decode MODEL_NAME需要相同,不同服务的MODEL_NAME不能重复
- 流量接入
按需填写服务端口,PD分离部署将默认开启云原生AI网关,仅支持HTTP请求;
部署Decode服务
- 基本信息
填写服务名称,资源池类型选择通用资源池,加速芯片类型选择H20;
- Prefill-Decode设置
开启Prefill-Decode 分离,设置服务类型为 Decode 并开启RDMA;
- 服务镜像
Prefill-Decode 分离模式部署服务,仅支持使用百舸预置的AIAK推理加速镜像,不支持修改;
- 资源申请
加速芯片卡数设置为8卡;
- 存储挂载
按顺序先挂载DeepSeek-R1模型文件,再挂载MTP使能依赖的小模型文件,源路径填写存储模型权重文件PFS或CFS的路径,目标路径填写为 /mnt/model;
- 环境变量
输入MODEL_NAME,调用服务时将根据MODEL_NAME进行路由;
注意:同一服务的Prefill和Decode MODEL_NAME需要相同,不同服务的MODEL_NAME不能重复
- 流量接入
按需填写服务端口,PD分离部署将默认开启云原生AI网关,仅支持HTTP请求;
模型调用
- Prefill和Decode服务部署成功后,可在列表查看,服务状态均为“运行中”即可调用;
- 在Prefill或Decode服务的调用信息中可获取HTTP调用地址和Token信息;
- 您可以通过OpenAI兼容的API调用方式调用服务,调用示例如下:
注意:model需要替换为部署服务时环境变量中填写的 $MODEL NAME
curl --location '192.168.12.235/auth/ap-f3450f14c/8088' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImNzbSIsInR5cCI6IkpXVCJ9.eyJpYXQiO***' \
--data '{
"model": "deepseek r1-pd",
"prompt": "hello",
"max_tokens": 10,
"temperature": 0
}'