大语言模型(LLM)推理过程主要包含两个核心阶段,二者特性迥异、资源需求截然不同,这也为传统推理框架埋下了性能瓶颈的隐患。

P/D分离的缘起:破解传统推理的“排队困境”

LLM推理的两个核心阶段,在计算特性上存在显著差异:

  • P阶段(Prefill/预填充/注意力计算):接收用户全部输入文本(Prompt),计算生成Key/Value(KV)缓存,属于计算密集型任务,核心依赖大量矩阵乘法运算,对算力性能要求极高。

  • D阶段(Decode/解码/生成):模型逐一生成token,每一步仅计算1个新token,属于访存密集型任务,核心开销集中在KVCache的读写与管理,对内存带宽和延迟更敏感。

传统推理框架中,P阶段与D阶段采用资源复用模式,将两类任务混入同一个批次(Batch)处理,本意是通过简化架构提升资源利用率。但这种“混批处理”反而引发严重的性能冲突:当一个长请求(P阶段)占用算力执行巨量矩阵运算时,几十个短请求(D阶段)会被迫排队等待生成单个token——本可毫秒级完成的D阶段任务,因算力被P阶段占用而延迟,直接拉低系统整体吞吐量、恶化服务延迟。

为破解这一“排队困境”,P/D分离优化方案应运而生,通过任务拆分实现资源精准匹配,兼顾高吞吐与低延迟。

P/D分离如何实现“高吞吐低延迟”

P/D分离的核心思想是将两种特性迥异的任务分开处理。在业界主流的LLM服务框架(如vLLM等)中,这种分离主要是通过持续批处理(Continuous Batching)、页面化注意力(PagedAttention)技术实现。

  1. 持续批处理:动态调度算力

传统的Batching(批处理)策略是静态的:模型必须等待一个Batch中的所有请求都完成后,才能开始下一个Batch,P/D分离的实现则依赖于持续批处理(ContinuousBatching):

  • 调度策略:调度器不再等待整个Batch完成,而是每隔一个很短的时间窗口(例如10毫秒),就检查GPU资源和KVCache空间。

  • 灵活分配:只要有空间,P阶段完成的请求(现在是D阶段)和新来的请求(P阶段)就可以实时插入到当前正在运行的Batch中。

  • 效果:这确保了GPU在任何时刻都能保持高负荷运行,最大化吞吐量,并将D阶段的请求延迟降到最低。

图片

2.页面化注意力(PagedAttention):为P/D分离提供空间保障

持续批处理解决了时间调度问题,但还有一个更关键的空间问题,即KVCache的内存管理。

  • 痛点:KVCache占据推理显存的绝大部分。由于D阶段请求的生成长度不确定,传统方案必须为其预分配最大可能的KVCache空间,导致大量内存浪费(内存碎片化)。

  • PagedAttention解决方案:借鉴操作系统中的虚拟内存和分页思想:

  1. KVCache被分割成固定大小的块(Blocks),而不是连续的显存空间。

  2. 请求生成时,这些块被动态分配给P阶段和D阶段。

  3. P/D分离优势:P阶段可以一次性计算所有输入Token并填充相应的块;D阶段则可以按需分配新块,极大提高了KVCache的利用率,为持续批处理提供了充足的内存空间,从而支持更大的Batch Size。

P/D分离在“性能不均硬件”部署上的天然优势

受国际形势影响,国产异构加速器快速发展,数据中心多架构加速设备并存成为长期常态,不同设备在算力、访存能力上差异显著。而P/D分离通过构建异构硬件池,可精准匹配两类任务的资源需求,最大化系统整体性能。

其核心思路是搭建两个独立且协同的硬件池,实现资源“按需分配、各尽其能”:

图片

1.工作流程与性能支撑

  • 新请求到达:请求首先进入P-Pool。高性能加速设备集中处理大Batch的P阶段计算,以最快速度完成所有输入的KVCache计算。

  • 任务转移:P阶段完成后,请求的KVCache元数据被迅速转移(通过高速网络,如InfiniBand)到D-Pool的队列中。

  • 生成输出:D-Pool中的加速设备负责持续地、以低延迟模式为用户持续生成下一个Token。

2. 实测性能验证

性能数据实验(异构混合集群Llama-70B部署),在一个由8块A100(P-Pool)和8块V100(D-Pool)组成的异构集群上测试了Llama-70B的部署性能。

图片

结论:通过P/D异构池化有效地规避了低性能卡在计算密集型任务上的瓶颈,最大化了高性能卡的计算力,实现了资源利用率和整体吞吐量的整体提升。

结语

P/D分离通过任务拆分、双技术协同与异构硬件适配,精准破解了大模型推理中的“排队困境”,在中大规模长上下文、高并发场景中,显著优化服务响应延迟、提升系统吞吐量。浪潮云海InCloud AIOS提供基于P/D分离的全流程推理优化方案,深度适配异构硬件环境与多元业务场景,为企业大语言模型落地提供高效、灵活的最佳实践,让大模型推理从勉强能用迈向流畅好用。

更多推荐