概述

PD分离介绍

Prefill & Decode分离部署(简称:PD分离部署)是将Prefill(预填充)和Decode(解码)这两个推理阶段分开处理的技术,通常适用于对时延有严格要求的场景。PD分离部署可以提高NPU的利用率,尤其是大语言模型,将Prefill实例和Decode实例分开部署,减少Prefill阶段和Decode阶段分时复用在时延上造成的互相干扰,实现同时延下吞吐提升。PD分离工作原理如图1所示。

图1 PD分离工作原理

大语言模型推理的阶段可以分为Prefill与Decode阶段:

部署方案

PD分离部署在线下K8s集群的参考部署方案:

通过创建3个K8s的Deployment分别部署MindIE MS Controller(单Pod副本)、MindIE MS Coordinator(单Pod副本)以及MindIE Server(多Pod副本)。

通过K8s的Service为Coordinator Pod开放PD集群的推理入口。

图2 PD分离的部署形态

PD分离优势

PD分离主要包括以下优势:

限制与约束

特性兼容性:MindIE RC3版本PD分离场景不支持停止词特性下不返回stop string功能,即不支持include_stop_str_in_output=false。