联系 AIHC-help@baidu.com 获取百度百舸 PD 分离部署方案详情和技术支持。
大语言模型推理服务由 Prefill 阶段和 Decoder 阶段组成。如果将这两个阶段分别部署在不同节点中,就可以实现 Prefill 和 Decode 阶段并行运行,实现业务效果和资源效能的同时提升。
例如,当一个请求的 Prefill 阶段完成后,通过 RDMA 网络,将中间状态(如 KV Cache)传递给 Decode 服务所在节点,Decoder 阶段就可以立即开始生成 token,同时下一个请求的 Prefill 阶段也可以启动。同时,通过流水线化处理,可以显著提高整体推理吞吐量。
为了帮助企业能够更大规模应用 DeepSeek V3/R1 服务,百度百舸上线 DeepSeek 的 PD 分离部署服务。用户可以分别设置 Prefill 和 Decoder 阶段使用的资源类型和规模,并通过 OpenAI 兼容的 API 调用方式调用服务。
通过在百度百舸平台对 DeepSeek 进行 PD 分离部署,可以有效降低首 token 延迟,提升推理速度,并提高了资源利用率,实现 DeepSeek 的大规模部署场景。
百度百舸 DeepSeek R1 PD 分离部署教程
接下来,我们将以搭载 H20 GPU 的云服务器介绍如何使用百度百舸平台的「 AIAK 推理加速镜像」进行 PD 分离 1:1 部署 DeepSeek R1 模型和调用。
整体过程如下:
详细步骤如下:
1. 准备资源
购买 2 台 H20 GPU 云服务器创建百舸通用资源池(搭载 H20 的 GPU 云服务器需开通白名单,请联系百度智能云售前工程师)。
开通并行文件存储 PFS 或文件存储 CFS 并与百舸通用资源池绑定。
2. 准备数据
百度百舸平台已提供 DeepSeek R1 模型权重文件,并放置在对象存储 BOS 中,您可以从对应地域的 BOS 路径中下载模型。
| 地域 | **BOS 路径 ** |
|---|---|
| 北京 | bos:/aihc-models-bj/deepseek-ai/DeepSeek-R1 |
| 苏州 | bos:/aihc-models-su/deepseek-ai/DeepSeek-R1 |
| 广州 | bos:/aihc-models-gz/deepseek-ai/DeepSeek-R1 |
- 登录节点安装 BOSCMD,并完成 BOSCMD 配置。
| 安装方法 | cloud.baidu.com/doc/BOS/s/q… |
|---|---|
| 配置方法 | cloud.baidu.com/doc/BOS/s/E… |
- 从平台提供的 BOS 地址中拷贝权重文件到 PFS 或 CFS 中:
./bcecmd bos sync bos:/aihc-models-bj/deepseek-ai/DeepSeek-R1 /mnt/model/DeepSeek-R1
3. 部署服务
登录百度百舸·AI 异构计算平台,在左侧导航中选择「在线服务部署」部署自定义服务。
3.1. 部署 Prefill 服务
- 基本信息
填写服务名称,资源池类型选择通用资源池,加速芯片类型选择 H20;
- Prefill-Decode 设置
开启 Prefill-Decode 分离,设置服务类型为 Prefill 并开启 RDMA;
- 服务镜像
Prefill-Decode 分离模式部署服务,仅支持使用百舸预置的 AIAK 推理加速镜像,不支持修改。
其中,AIAK 是百度百舸平台推出的大模型训推加速套件,提供对多种主流框架的加速优化。相比社区主流框架,如 Megatron 和 vLLM 等,使用 AIAK 训练和推理性能可大幅提升。
- 存储挂载
源路径填写存储模型权重文件 PFS 或 CFS 的路径,目标路径填写为 /mnt/model;
- 资源申请
Prefill 阶段加速芯片数量设置为 8。在本次示例中,即 8 张 H20 。
- 环境变量
输入 MODEL_NAME,调用服务时将根据 MODEL_NAME 进行路由;
注意:同一服务的 Prefill 和 Decode MODEL_NAME 需要相同,不同服务的 MODEL_NAME 不能重复
- 流量接入
按需填写服务端口,PD 分离部署将默认开启云原生 AI 网关,仅支持 HTTP 请求;
3.2. 部署 Decode 服务
- 基本信息
填写服务名称,资源池类型选择通用资源池,加速芯片类型选择 H20;
- Prefill-Decode 设置
开启 Prefill-Decode 分离,设置服务类型为 Decode 并开启 RDMA;
- 服务镜像
Prefill-Decode 分离模式部署服务,仅支持使用百舸预置的 AIAK 推理加速镜像,不支持修改;
- 存储挂载
源路径填写存储模型权重文件 PFS 或 CFS 的路径,目标路径填写为 /mnt/model;
- 资源申请
Decode 阶段加速芯片数量设置为 8。在本次示例中,即 8 张 H20 。
- 环境变量
输入 MODEL_NAME,调用服务时将根据 MODEL_NAME 进行路由;
注意:同一服务的Prefill 和 Decode MODEL_NAME 需要相同,不同服务的 MODEL_NAME 不能重复
- 流量接入
按需填写服务端口,PD 分离部署将默认开启云原生 AI 网关,仅支持 HTTP 请求;
4. 模型调用
在 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}'