引言:深入理解LLM推理的两个阶段
大型语言模型(LLM)的推理过程,即模型接收输入(Prompt)并生成输出的过程,在计算上可以被清晰地划分为两个截然不同的阶段:Prefill(预填充)和Decode(解码)。理解这两个阶段的特性是掌握推理优化技术(尤其是Prefill-Decode分离)的基石。
-
Prefill(预填充)阶段:此阶段负责处理用户输入的完整文本(Prompt)。模型会并行计算所有输入Token的注意力(Attention)关系,为后续的生成任务构建初始的上下文理解。这个过程是计算密集型(Compute-Bound)的,涉及大量并行的矩阵运算,能充分利用GPU的算力。此阶段的产物是键值缓存(Key-Value Cache,简称KV Cache),它存储了输入文本的中间状态,是后续解码阶段的关键依据。此阶段的延迟直接决定了用户感知的首个令牌生成时间(Time-to-First-Token, TTFT),即系统的响应速度 1。
-

Prefill和Decode阶段示意图

传统的LLM服务部署方式将这两个阶段混合在同一组GPU上执行。然而,由于两者对计算资源和内存资源的需求迥异,这种混合部署会导致严重的性能瓶颈和资源浪费。为了解决这一问题,Prefill-Decode(PD)分离技术应运而生,并迅速成为大规模LLM服务架构的主流选择。本报告将系统性地研究PD分离技术的定义、价值、架构、挑战与产业实践。
-
Decode(解码)阶段:在Prefill完成后,模型进入自回归(Autoregressive)生成模式,即逐个生成输出Token。每生成一个新的Token,都需要依赖先前所有Token(包括原始Prompt和已生成的Token)的KV Cache。这个过程是**内存带宽密集型(Memory-Bound)的,因为其计算量相对较小,但需要频繁读写巨大的KV Cache。由于其串行生成的特性,解码阶段的性能瓶颈通常在于GPU显存的带宽和容量。此阶段的效率由平均每输出令牌时间(Time-Per-Output-Token, TPOT)**来衡量,反映了模型的生成速度 2。
1. PD分离的定义和核心概念
Prefill-Decode分离(Prefill-Decode Disaggregation)是一种LLM服务架构,其核心思想是将计算特性截然不同的Prefill和Decode阶段部署到两组独立、专用的硬件资源池(通常是GPU集群)**中,并让它们独立扩展和优化 3。
在这种架构下:
- Prefill集群:专门负责处理新请求的Prefill阶段。这组GPU可以配置为计算能力强、适合大规模并行处理的类型,以尽快完成Prompt处理并生成KV Cache,从而最小化TTFT。
- Decode集群:专门负责执行已完成Prefill请求的Decode阶段。这组GPU可以配置为显存容量大、显存带宽高的类型,以存储海量的KV Cache并支持大量并发请求的快速、逐字生成,从而保障严格的TPOT服务等级目标(SLO)。

PD分离架构示意图
请求的处理流程变为:一个新请求首先被路由到Prefill集群,在处理完毕后,其生成的KV Cache被传输到Decode集群,由Decode集群接管并完成后续的Token生成任务。
PD分离的核心概念在于**“匹配负载与资源”**,它将一个混合型计算任务分解为两个单一型任务,并为每个任务匹配最优化的硬件配置和扩展策略,从而实现整个系统层面的效率最大化。
2. 为什么需要PD分离及其价值
在PD分离架构出现之前,主流的LLM服务框架(如早期的vLLM)采用**混合部署(Colocation)**模式,即在同一GPU上通过连续批处理(Continuous Batching)等技术混合执行Prefill和Decode任务。尽管这在一定程度上提高了GPU利用率,但存在两个根本性问题,PD分离的价值正在于解决这些问题 3。
-
消除性能干扰(Interference):在混合部署中,计算密集的Prefill任务和对延迟极其敏感的Decode任务会相互争抢GPU资源。当一个长的Prefill请求到达时,系统要么暂停正在进行的Decode任务以优先处理Prefill(导致已在生成中的请求卡顿,TPOT急剧恶化),要么将Prefill和Decode任务混合在一个批次里(同样拖慢Decode任务)。这种干扰在负载突增时尤为严重,可能导致TPOT飙升2到30倍。PD分离通过物理隔离,从根本上消除了两个阶段之间的资源竞争,确保了Decode任务能够平稳、低延迟地运行。

混合部署的干扰与分离部署的流畅性对比
-
实现独立扩展(Decoupled Scaling):不同的应用场景对TTFT和TPOT的要求不同。例如,实时聊天应用对TPOT要求极高,而文档总结应用可能更看重初始响应速度(TTFT)。在混合部署下,为了同时满足最坏情况下的TTFT和TPOT指标,系统必须进行过度配置,造成资源浪费。PD分离允许Prefill和Decode集群根据各自的负载和SLO需求独立扩展。例如,如果系统面临大量长文本输入,可以只增加Prefill集群的规模;如果并发用户数增多导致Decode压力增大,可以只扩展Decode集群。这种精细化的资源管理显著提升了硬件利用率和成本效益。
最终,PD分离架构的核心价值在于最大化**“良率(Goodput)”**。Goodput指的是在满足TTFT和TPOT双重SLO约束下的最大请求处理速率 4。通过消除干扰和独立扩展,PD分离技术能够在同等硬件成本下支持更高的请求速率,或在同等请求速率下满足更严格的延迟SLO,从而直接提升了服务的性价比和用户体验。
3. 技术架构和实现原理
PD分离的基础架构由Prefill池、Decode池和一个中心调度器组成。然而,随着研究的深入,业界探索出了多种架构变体和更复杂的实现原理。
- 经典架构(DistServe):作为PD分离的开创性工作,DistServe 4 提出了经典的双池架构。它使用一个模拟器驱动的搜索算法,为Prefill和Decode池自动选择最佳的并行策略(张量并行、流水线并行等)和GPU数量,以最大化Goodput。请求在Prefill节点完成后,KV Cache通过高速网络(如NVLink)传输至Decode节点。
- GPU内部分离(Intra-GPU Disaggregation):与将P/D分离到不同GPU节点的“引擎级”分离不同,
Nexus5 等工作探索了在单个GPU内部实现P/D分离。其核心思想是动态地将GPU的计算单元(如SMs)和内存带宽等资源在Prefill和Decode任务间进行划分。这种方法避免了跨节点传输KV Cache的高昂开销,但对GPU资源的精细化调度和管理提出了更高要求。 - 混合聚合与分离(Hybrid Aggregation-Disaggregation):
TaiChi2 认为,纯粹的分离或聚合并非在所有场景下都是最优的。例如,当TTFT要求极为严格时,聚合部署(将Prefill和Decode放在一起)反而可能更有优势。因此,TaiChi提出了一种统一架构,可以根据不同的SLO组合,动态地在聚合、分离和混合模式之间切换。它通过调度机制实现“延迟转移”,将资源从已满足SLO的请求中转移给濒临超时的请求,从而在平衡的TTFT和TPOT要求下实现更高的Goodput。 - 三级分离架构(Trinity):对于依赖检索增强生成(RAG)的应用,除了Prefill和Decode,向量检索也是一个关键步骤。
Trinity6 提出将向量搜索也作为一个独立的阶段进行分离,形成Prefill-Decode-Search三级分离架构。这种架构进一步细化了任务分解,将不同类型的计算负载(模型计算、向量计算)隔离,以应对复杂的混合请求负载。 - 动态负载均衡架构(BanaServe):静态的P/D资源划分无法适应动态变化的工作负载。
BanaServe7 提出了一种动态编排框架,能够通过层级的模型权重迁移和注意力级别的KV Cache迁移,持续地在Prefill和Decode实例间重新平衡计算和内存资源,解决了因缓存命中率不均等导致的负载倾斜问题。
这些演进表明,PD分离不仅仅是一种固定的架构模式,而是一个灵活的设计思想,可以根据具体需求进行调整和扩展。
4. 与传统部署的对比
为了更清晰地理解PD分离的优势,我们可以从多个维度将其与传统的混合部署(Monolithic)模式进行对比。
| 维度 | 传统混合部署 (Monolithic) | Prefill-Decode分离部署 (Disaggregated) |
|---|---|---|
| 核心架构 | Prefill和Decode任务在同一组GPU上混合执行。 | Prefill和Decode任务在两组独立的、专用的GPU集群上执行。 |
| 性能隔离 | 差 。计算密集的Prefill任务会严重干扰延迟敏感的Decode任务,导致TPOT性能不稳定。 | 好 。物理隔离从根本上消除了P/D间的资源争抢,保障了稳定的低延迟Decode性能。 |
| 资源利用率 | 较低 。为同时满足P/D峰值需求,需过度配置资源,导致平时资源利用率不高(“耦合扩展”问题)。 | 高 。P/D集群可根据各自的负载独立扩展,实现更精细和高效的资源分配。 |
| 调度复杂性 | 相对简单 。调度器在单个GPU池内管理任务,主要关注批处理大小和优先级。 | 更高 。需要一个中心调度器来协调两个集群,管理KV Cache的传输,并动态调整P/D比例。 |
| KV Cache管理 | 简单 。KV Cache在同一GPU或节点内部,无需跨网络传输。 | 复杂 。KV Cache必须在Prefill和Decode集群间进行网络传输,这引入了额外的延迟和带宽瓶颈。 |
| 灵活性与可扩展性 | 有限 。整个集群作为一个整体进行扩展,难以针对特定瓶颈进行优化。 | 高 。可以灵活地使用不同类型、不同数量的GPU来组建P/D集群,适应异构硬件环境。 |
| 成本效益 | 较低 。资源浪费和较低的Goodput导致单位请求的成本更高。 | 较高 。通过提升资源利用率和Goodput,显著降低了大规模服务的硬件成本。 |
总而言之,PD分离通过增加架构和调度复杂性,换取了性能的稳定性、资源利用率和整体成本效益的巨大提升。
5. GPU集群中的部署特点和P/D比例配置
在大型GPU集群中成功部署PD分离系统,关键在于解决自动扩展(Autoscaling)和P/D资源比例配置两个核心问题。由于线上流量通常具有突发性和动态性,静态的资源配置无法实现最优性能和成本。
1. 部署特点与自动扩展:
现代PD分离系统,如 HeteroScale8 和 TokenScale9,都专注于实现智能的自动扩展。其部署特点包括:
- 协同扩展(Coordinated Autoscaling):
HeteroScale指出,必须协同地对Prefill和Decode两个池进行扩展,以维持架构的平衡。它通过对生产环境中的大量信号进行实证研究,找到一个单一且鲁棒的指标来共同驱动P/D池的伸缩决策。 - 异构硬件感知:生产集群中往往包含不同代际、不同型号的GPU。一个优秀的部署方案需要具备拓扑感知能力,能够理解不同GPU的性能差异和节点间的网络状况,将任务智能地调度到最合适的硬件上。
- 主动式扩展(Proactive Scaling):传统的自动扩展依赖于滞后指标(如GPU利用率、队列长度),导致对负载高峰的反应缓慢。
TokenScale创新地提出了**“令牌速度(Token Velocity)”**这一新指标,它量化了系统处理令牌的速率,可以作为系统背压的领先指标,从而实现对负载变化的“主动”预测和提前扩容。
2. P/D比例配置:
Prefill GPU数量与Decode GPU数量的比例(P/D Ratio)是决定系统性能的关键参数。这个比例并非固定不变,而是取决于工作负载的特性:
- 长Prompt、短输出(如文档分析、RAG):这类负载Prefill压力大,Decode压力小。系统应配置更高的P/D比例(更多的Prefill GPU)。
- 短Prompt、长输出(如聊天、故事生成):这类负载Prefill压力小,但会产生大量的Decode任务。系统应配置更低的P/D比例(更多的Decode GPU)。
现代PD分离系统通过自动扩展机制,根据实时监控的负载情况(如请求的平均输入/输出长度、请求到达率等),动态调整P/D集群的规模,从而始终保持最优的P/D比例。
6. KV Cache传输机制
KV Cache的传输是PD分离架构引入的主要开销,其效率直接影响系统的端到端延迟。如果传输过慢,Decode节点将因等待数据而空闲,分离带来的优势将被抵消。因此,优化KV Cache传输是PD分离技术成功的关键。
挑战:在vLLM等现代推理引擎中,为了高效管理显存,KV Cache通常以非连续的物理块(PagedAttention)形式存储。在跨节点传输时,如果对每个小块都进行一次网络调用,会产生巨大的通信开销。
业界提出了多种创新的传输机制来应对这一挑战:
- 结构优化与批量传输 (
FlowKV):FlowKV10 的工作表明,通过优化KV Cache的数据结构和内存分配器,可以将原本零散的内存块在逻辑上组织起来,从而将多次小数据的NCCL(NVIDIA Collective Communications Library)传输合并为单次或少数几次大数据块的传输。这种方法极大地减少了通信内核的调用次数和开销,其报告称可将KV Cache的平均传输延迟降低高达96%。 - 专用缓存层 (
LMCache):LMCache11 提出构建一个独立的、高效的KV缓存层。该层从推理引擎(如vLLM)中抽象出来,专门负责KV Cache的存储、查找、移动和压缩。它提供了高度优化的数据移动操作,支持批处理和计算/IO流水线化,作为一个中间件,高效地支持PD分离中的跨引擎缓存传输。 - 全局缓存与分层重叠传输 (
BanaServe):BanaServe7 引入了全局KV缓存存储(Global KV Cache Store)的概念,并结合分层重叠传输技术。这意味着可以在Prefill节点计算上层Transformer的KV Cache时,同时将下层已计算好的KV Cache传输到Decode节点,实现了计算和通信的高度重叠,进一步隐藏了传输延迟。
这些技术的共同目标是减少通信次数、增大单次通信的数据量、以及最大化计算与通信的重叠,从而使KV Cache的传输开销在整个端到端延迟中的占比降至最低。
7. 产业界实践案例
自DistServe提出以来,PD分离已从学术概念迅速演变为业界标准,被各大公司和主流开源框架广泛采纳和持续创新。
- DistServe4:作为该领域的先驱,它首次系统性地提出了PD分离思想,并证明了其在提升Goodput方面的巨大潜力。
- vLLM & SGLang:作为最流行的开源LLM推理框架,它们都集成了对PD分离的支持。例如,AMD的官方博客就展示了如何利用SGLang在MI300X GPU上部署PD分离架构,以发挥硬件的最大性能 12。
- NVIDIA & Ray Serve:如
Disaggregated Inference: 18 Months Later3 一文所述,几乎所有生产级的LLM服务框架,包括NVIDIA的Dynamo和Anyscale的Ray Serve,都已将PD分离作为其大规模部署的核心架构。 - FlowKV (阿里巴巴):来自阿里巴巴的
FlowKV10 专注于解决KV Cache传输瓶颈,其低延迟传输方案在内部生产环境中取得了显著的加速效果。 - HeteroScale8:据其论文描述,该系统已在数万张GPU的庞大生产环境中部署,通过协同自动扩展,将平均GPU利用率提升了26.6个百分点,每天节省数十万GPU小时。
- LMCache11:作为一个高效的开源KV缓存层,它被设计用于与vLLM等引擎结合,在企业级推理系统中支持PD分离和跨请求的上下文缓存(Prefix Caching),实现了高达15倍的吞吐量提升。
这些案例充分证明,PD分离不仅在理论上具有优越性,在实际的、超大规模的产业应用中也创造了巨大的商业和技术价值。
总结
Prefill-Decode分离技术是近年来LLM推理服务领域最重大的架构演进之一。它通过深刻洞察LLM推理的二阶段计算特性,将混合负载分解为两个独立的、纯粹的计算任务,并部署于专用硬件资源池。这一核心思想从根本上解决了传统混合部署模式下的性能干扰和资源浪费问题,使得大规模LLM服务能够在满足严格延迟SLO的同时,实现前所未有的资源效率和成本效益。
从DistServe开创性的探索,到TaiChi对聚合与分离的辩证统一,再到HeteroScale、TokenScale在自动扩展领域的深耕,以及FlowKV、LMCache对关键瓶颈——KV Cache传输的极致优化,我们看到PD分离技术正沿着一条从“可行”到“高效”,再到“智能”的路径不断进化。如今,它已成为支撑全球顶级AI服务的标准架构,是实现高效、可扩展和经济的LLM推理服务的关键所在。对于从事AI系统研究和工程的学者与工程师而言,深入理解PD分离的原理、挑战与前沿方案,是构建下一代高性能AI基础设施的必备知识。
那么,如何系统的去学习大模型LLM?
作为一名深耕行业的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。
所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。
由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~

👉大模型学习指南+路线汇总👈
我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。


👉①.基础篇👈
基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。

👉②.进阶篇👈
接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。

👉③.实战篇👈
实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。

👉④.福利篇👈
最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!
2498

被折叠的 条评论
为什么被折叠?



