从 PagedAttention 到 Prefill-Decode 分离的深度解析
大模型推理架构演进从 PagedAttention 到 Prefill-Decode 分离的深度解析本文从大模型推理的两阶段计算特性出发系统拆解 PagedAttention、连续批处理的核心原理深入分析 Prefill-Decode 分离架构DistServe、Splitwise、Mooncake的设计哲学并结合 vLLM Wide-EP 与 DeepSeek 生产部署案例探讨 2025-2026 年推理基础设施的前沿趋势。一、推理性能的瓶颈Prefill 与 Decode 的不对称性理解大模型推理的所优化技术首先要回到一个根本事实自回归生成包含两个计算特性截然不同的阶段。Prefill 阶段负责处理用户输入的完整 prompt。以一个 4096 token 的输入为例模型需要做一次完整的前向传播涉及大规模矩阵乘法。此时 GPU 的算术强度FLOP/byte约在 200-400 之间远超 H100 的内存带宽屋顶线属于典型的**计算受限compute-bound**场景GPU 利用率可以接近峰值。Decode 阶段则截然不同。每一步只生成一个 token但需要读取全部历史 KV Cache 和模型权重才能计算下一个 token。算术强度骤降至约 60-80 FLOP/byteGPU 实际利用率仅 20%-40%属于**内存带宽受限memory-bandwidth-bound**场景。这两阶段的不对称性是后续所有推理优化技术的出发点。PagedAttention 解决的是 Decode 阶段的显存管理问题连续批处理解决的是两阶段混合调度问题而 Prefill-Decode 分离架构则从根本上解除了两阶段的资源耦合。二、PagedAttention操作系统级的 KV Cache 管理2.1 传统方案的碎片化困境在 PagedAttention 出现之前推理引擎为每个请求预分配一段连续的 KV Cache 显存空间。这种方案存在两个严重问题内部碎片预分配空间按请求可能的最大序列长度预留但实际生成往往远短于上限reserved 但未用的显存白白浪费。实测中内部碎片导致约 60%-80% 的显存被浪费。外部碎片请求不断创建和销毁显存中出现大量不连续空洞新请求可能因找不到足够大的连续块而失败即使总剩余显存充足。2.2 虚拟内存思想的核心映射vLLM 的 PagedAttention 借鉴了操作系统的虚拟内存分页机制核心设计分三步第一步物理块划分。将 KV Cache 的存储空间划分为固定大小的物理块Block每个 Block 存储固定数量 token 的 Key 和 Value 张量。第二步页表映射。每个请求维护一张页表Page Table记录逻辑 token 序列到物理块的映射关系。一个请求的 KV Cache 可以分散存储在多个不连续的物理块中。第三步按需分配与回收。物理块按需分配——请求生成新 token 时才申请新块请求完成后其所有物理块立即回收到全局池供其他请求复用。这一设计彻底消除了内部碎片块按需分配不多预留和外部碎片物理块不要求连续任何空闲块都可复用。在 vLLM 的实验中PagedAttention 将 KV Cache 的显存利用率从约 20%-40% 提升至接近 100%。2.3 共享前缀的额外收益PagedAttention 的页表设计还带来了一个意外收获共享前缀复用。当多个请求共享相同的 system prompt 或 few-shot 示例时它们可以映射到同一组物理块只计算一次 KV Cache 即可跨请求复用。这一思路后来被 SGLang 的 RadixAttention 进一步发扬光大。三、连续批处理让 GPU 永不空闲3.1 静态批处理的短板传统推理引擎采用静态批处理收集一批请求凑满 batch size 后一起送入 GPU 执行等待所有序列生成完毕才释放资源。问题在于同一 batch 中各请求的生成长度差异巨大——一个生成 10 token 的短请求和一个生成 500 token 的长请求被绑定在一起短请求完成后必须空等长请求GPU 在这段时间内大量算力被浪费。3.2 动态插入与移除连续批处理Continuous Batching又称 Inflight Batching在每个解码迭代步的边界上做两件事移除已完成请求任何已生成 EOS token 或达到长度上限的请求立即从 batch 中移除释放其物理块。插入新到达请求新到达的请求在当前迭代步开始前被加入 batch立即开始 prefill。这种逐步动态调整使 GPU 在突发流量下无需手动批处理逻辑即可维持高利用率。与 PagedAttention 配合时连续批处理尤其强大——因为 PagedAttention 让每个请求的 KV Cache 可以独立管理新请求的加入不会干扰已有请求的内存布局。3.3 实测性能影响在 H100 上的基准测试中连续批处理使 vLLM 在 100 并发下的吞吐量达到 2400 tokens/s相比静态批处理提升约 3-5 倍。TensorRT-LLM 在相同场景下达到 2780 tokens/s领先约 13%这得益于其编译型引擎对 kernel 的深度优化。四、Prefill-Decode 分离架构突破资源耦合瓶颈4.1 共置系统的干扰问题在传统的共置colocated系统中Prefill 和 Decode 交替运行在同一组 GPU 上。连续批处理虽然提高了利用率但带来了一个隐蔽但严重的问题——ITLInter-Token Latency尖峰。当一个新的长 prompt 到达并开始 prefill 时大量计算资源被 prefill 占据正在进行的 decode 迭代被迫等待。用户体验上这表现为 token 流式输出的停顿-突发-停顿模式正常每 50ms 输出一个 token突然卡顿 500ms然后一口气吐出多个 token再继续卡顿。此外资源分配也被耦合GPU 显存、并行策略、batch size 必须同时服务两种工作负载无法同时为 prefill 和 decode 各自找到最优配置。4.2 DistServeGoodput 驱动的资源分配DistServeOSDI 2024北大/UCSD/StepFun首次系统化地提出了分离式推理的框架。其核心贡献有三独立资源分配。Prefill 和 Decode 被分配到独立的 GPU 集合各阶段独立选择最优的并行策略和 batch size。Prefill 集群配置为高 FLOPS 利用率Decode 集群配置为高显存带宽利用率。带宽感知放置算法。Prefill 完成后需要将 KV Cache 传输给 Decode worker传输延迟是分离架构的关键开销。DistServe 的放置算法在带宽充足时让 KV 传输与计算重叠隐藏延迟在带宽受限时调整放置策略减少传输量。Goodput 指标。DistServe 引入了 Goodput 概念——系统在满足指定 TTFT首字延迟和 TPOT每 token 延迟目标前提下能承受的最大请求速率。这比单纯追求 tokens/s 更贴近真实用户体验。实测结果聊天机器人场景 Goodput 提升 2.0-3.41 倍代码补全 3.2 倍摘要场景 4.48 倍。系统级达到 7.4 倍请求吞吐SLO 约束收紧 12.6 倍。4.3 Splitwise异构硬件的逐层流水线Microsoft Research 的 SplitwiseISCA 2024从硬件成本视角切入提出了异构硬件策略Prefill 集群使用高 FLOPS 的最新 GPU如 H100/B200匹配计算受限特性。Decode 集群使用大 HBM 容量、高带宽但 FLOPS 相对较低的成本效益 GPU匹配带宽受限特性。Splitwise 的关键工程贡献是逐层流水线传输每一层 prefill 计算完成后立即异步传输该层的 KV Cache不需要等全部 prefill 完成才开始传输。这种流水线设计隐藏了大部分传输延迟实现约 1.4 倍吞吐提升和 20% 的每 token 成本下降。在等功率/成本预算下吞吐提升达 2.35 倍。这一技术后来被上游至 vLLM 开源项目。4.4 MooncakeKVCache-centric 的生产系统Moonshot AI 的 MooncakeFAST 2025 最佳论文代表了分离式推理的生产级实践其设计哲学是KVCache-centric——KV Cache 的放置和移动驱动所有调度决策。分布式 KV Cache 存储。Mooncake 利用 GPU 集群节点上未充分使用的 CPU DRAM、本地 SSD 和 NVMe 存储构建了一个分层的分布式 KV Cache 存储系统。请求完成后KV Cache 不立即丢弃而是保留在存储层供未来具有共享前缀的请求复用。Transfer Engine。这是 Mooncake 的核心通信层支持 RDMA 和拓扑感知路径选择NVLink/InfiniBand/RoCE/Ethernet能聚合多卡带宽实现高吞吐 KV 传输。该组件已于 2024 年 11 月开源。生产规模。Kimi 每日处理超 1000 亿 token跨数千节点运行。有效请求容量提升 59%-498%SLO 约束下吞吐提升最高 525%真实工作负载下多处理 75% 的请求。五、生产实践vLLM Wide-EP 与 DeepSeek 部署5.1 Wide-EP 策略DeepSeek-R1 是一个 671B 参数的 MoE 模型每次推理仅激活 37B 参数。在多 GPU 部署时传统的张量并行TP策略在 MLAMulti-head Latent Attention架构下会导致潜变量投影的重复计算。vLLM 的Wide-EPWide Expert Parallelism策略将专家并行EP与数据并行DP结合注意力层采用 DP 部署每个 rank 独立持有潜变量投影增加有效 batch size。MoE 层采用 EP 部署不同 GPU 负责不同专家通过 all-to-all 通信交换 token。TP 仅在单 GPU 显存不足时使用每张 H200 剩余约 34GB 显存时Wide-EP 更优。5.2 双批次重叠与专家负载均衡vLLM 集成了两项来自 DeepSeek 的关键优化双批次重叠DBO,--enable-dbo将每个 batch 分为微批次重叠计算和集体通信。主线程创建微批次工作线程完成 CUDA 图捕获MoE all-to-all 算子在等待 GPU 完成时出让控制权。在通信开销高的部署高 EP 度中显著提升 GPU 利用率。专家并行负载均衡EPLB,--enable-eplb每次 MoE 前向记录 token 负载滑动窗口聚合后达到重平衡间隔时计算新的逻辑到物理专家映射并编排权重重组weight shuffle整个过程无需重启模型。5.3 实测性能在 CoreWeave H200 集群InfiniBand ConnectX-7的社区基准测试中vLLM Wide-EP 实现了每张 H200 持续吞吐2.2k tokens/s相比早期约 1.5k tokens/s/GPU 有显著提升。DeepSeek 在数千节点上生产运行分离式服务Decode 使用 EP144 DP144 跨 18 节点每 GPU 管理 2 个路由专家和 1 个共享专家最大化 GroupGEMM 利用率。六、前沿展望6.1 NVIDIA Dynamo分布式推理服务框架NVIDIA 于 GTC 2025 发布的 Dynamo 是高吞吐、低延迟的开源推理服务框架在 Blackwell 上运行 DeepSeek-R1 时将可服务请求数提升至 30 倍。其四大核心组件包括Dynamo Planner持续监控 GPU 容量指标结合 TTFT/ITL 等 SLO动态决定请求采用分离式或聚合式服务并在 prefill GPU 成为瓶颈时让 decode GPU 转而执行 prefill。Smart Router用 Radix Tree 哈希请求并存储 KV 位置计算新请求与已有 KV cache 块的重叠分数结合负载均衡将请求路由到最合适 worker。Distributed KV Cache Manager将低频访问的 KV cache 块卸载到 CPU 主存、SSD 或对象存储采用 GPU → CPU → SSD → 对象存储的分层缓存策略。NIXL硬件与网络无关的低延迟通信库支持 GPUDirect RDMA兼容 NVLink、InfiniBand、RoCE、Ethernet。6.2 NVFP4 KV Cache 与压缩注意力NVIDIA 推出的NVFP4 KV Cache以 4-bit 存储 KV 张量attention 前反量化为 FP8实现 HBM 占用、内存带宽和吞吐的显著提升。NVFP4 因更细粒度的块缩放和 E4M3 FP8 缩放因子精度优于 MXFP4在多智能体和 MoE 部署中表现突出。学术界也在持续探索Zipage2026在 PagedAttention 基础上引入 KV cache 驱逐策略PagedEviction2025提出与分页结构协同的结构化逐块 token 驱逐TPLATensor-Parallel Latent Attention针对分离式推理跨设备分片潜变量表示保留压缩 KV cache 优势同时解锁 TP 效率。6.3 超大规模训练基础设施推理基础设施的演进与训练基础设施密不可分。NVIDIA GB200 NVL72 单机柜集成 72 颗 Blackwell GPU 和 36 颗 Grace CPU液冷满载功耗约 130kW聚合 NVLink 带宽 130 TB/sFP4 稀疏算力超 1.4 exaFLOPS。在 MLPerf Training v5.0 中512 颗 Blackwell GPU 将 Llama 3.1 405B 预训练时间从 Hopper 的 269 分钟缩短至 121 分钟加速 2.2 倍峰值训练吞吐达 1960 TFLOPS。更极端的案例是 xAI 的 Colossus 2 集群——搭载 555,000 张 GPUGB200 GB300功耗约 1GW三层液冷系统每秒循环 40 吨冷却液SemiAnalysis 评估其为 2025 Q3 世界最大单体数据中心。七、总结大模型推理架构的演进可以归纳为三个层次第一层显存管理。PagedAttention 用虚拟内存分页思想解决了 KV Cache 的碎片化问题将显存利用率从 20%-40% 提升至接近 100%。第二层调度优化。连续批处理通过逐步动态插入和移除请求消除了静态批处理的长尾等待问题使 GPU 在突发流量下保持高利用率。第三层架构分离。Prefill-Decode 分离架构从根本上解除了两阶段计算特性的资源耦合通过独立资源分配、KV Cache 传输流水线和分布式缓存管理将 Goodput 提升数倍。截至 2025 年底分离式推理已从学术研究进入生产主流——vLLM、SGLang、TensorRT-LLM、NVIDIA Dynamo 均内置分离式服务模式DeepSeek、Fireworks AI、Perplexity、Meta、Amazon 均运行自有分离系统。DistServe 作者在 2025 年 11 月的回顾中坦言“几乎每个生产级 LLM 服务框架都基于分离式架构。”对于技术选型而言快速上线和广泛模型支持首选 vLLM吞吐至上的单一模型长期生产场景选 TensorRT-LLM共享前缀工作负载聊天机器人、RAG、多轮对话选 SGLang。而无论选择哪个引擎Prefill-Decode 分离都已成为不可忽视的架构选项。本文数据来源包括 vLLM 官方博客、NVIDIA Developer Blog、MLPerf 基准测试报告、DistServe/Splitwise/Mooncake 论文及 SemiAnalysis 行业分析时间跨度覆盖 2024-2026 年。

相关新闻

程序员高效复习:时间管理与技术学习方法

程序员高效复习:时间管理与技术学习方法

1. 项目概述 "0x3f第26天复习"这个标题乍看有些神秘,实际上记录了一位程序员(或技术学习者)在某一天的两个时间段(8:42-9:44和16:31-17:11)进行技术复习的日志。这种时间记录方式在开发者社区中很常见&#…

2026/8/9 11:31:17 阅读更多 →
婴儿哭声模式分析数据集:包含11种不同原因的婴幼儿哭泣声音样本

婴儿哭声模式分析数据集:包含11种不同原因的婴幼儿哭泣声音样本

摘要:婴儿哭声模式数据集(Baby Cry Pattern Archive)是一个专为婴儿声音行为研究而设计的综合性音频数据集。数据集简介数据集概述婴儿哭声模式数据集(Baby Cry Pattern Archive)是一个专为婴儿声音行为研究而设计的综…

2026/8/9 11:31:17 阅读更多 →
牛行为与疾病数据集:用于AI驱动精准畜牧业的牛行为和皮肤疾病检测

牛行为与疾病数据集:用于AI驱动精准畜牧业的牛行为和皮肤疾病检测

摘要:牛行为与疾病数据集,这是一个用于实时牛健康监测和行为分析的 AI 驱动系统。该数据集从真实的奶牛场和肉牛场收集,旨在支持精准畜牧业的研究和开发。数据集简介数据集概述牛行为与疾病数据集,这是一个用于实时牛健康监测和行…

2026/8/9 11:31:17 阅读更多 →

最新新闻

Google Benchmark:C++ 性能基准测试的开源神器,从零到实战

Google Benchmark:C++ 性能基准测试的开源神器,从零到实战

Google Benchmark 是 Google 开源的 C 基准测试(Benchmark)库,专门用来"科学地测量"一段代码到底跑多快。它就像给代码配了一位专业计时裁判,告诉你哪段代码快、快多少、稳定不稳定。 开源地址:GitHub - goo…

2026/8/9 21:26:59 阅读更多 →
C++ 编译链接全流程深度解析:从源码到可执行文件

C++ 编译链接全流程深度解析:从源码到可执行文件

一、为什么你必须懂编译链接很多 C 新手能写出能跑的程序,却搞不懂下面这些报错:undefined reference to xxx 到底是谁找不到谁?为什么我改了头文件,整个项目都要重新编译?为什么 #define 写错了会引发"八竿子打不…

2026/8/9 21:26:59 阅读更多 →
MySQL数据库核心技术与高可用架构实战

MySQL数据库核心技术与高可用架构实战

1. MySQL数据库核心解析与应用实践MySQL作为全球最流行的开源关系型数据库管理系统,已经渗透到互联网应用的各个角落。从个人博客到千万级用户的电商平台,MySQL凭借其稳定性、易用性和出色的性能表现,成为开发者首选的数据库解决方案。我在过…

2026/8/9 21:26:59 阅读更多 →
MOOTDX终极指南:3分钟解锁免费通达信金融数据接口

MOOTDX终极指南:3分钟解锁免费通达信金融数据接口

MOOTDX终极指南:3分钟解锁免费通达信金融数据接口 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 还在为获取股票行情数据而烦恼吗?高昂的API费用、复杂的接口文档、不稳定…

2026/8/9 21:26:59 阅读更多 →
Go 后端服务开发与并发编程模型解析:高并发下的容量估算与背压控制

Go 后端服务开发与并发编程模型解析:高并发下的容量估算与背压控制

Go 后端服务开发与并发编程模型解析:高并发下的容量估算与背压控制 对于Go 服务,请求上下文、goroutine 生命周期和依赖调用比抽象架构更值得先检查。本文把“高并发下的容量估算与背压控制”限定为可由配置、代码和测试记录交叉验证的事项。 Go 后端服务…

2026/8/9 21:26:59 阅读更多 →
数据库文本字段类型选型与优化实战指南

数据库文本字段类型选型与优化实战指南

1. 数据库文本字段类型深度解析在数据库设计中,选择正确的文本字段类型直接影响着数据存储效率、查询性能和系统稳定性。VARCHAR、TEXT和BLOB这三种类型看似简单,但在实际项目中我见过太多因为选型不当导致的性能问题和存储浪费。今天我们就来彻底拆解它…

2026/8/9 21:25:59 阅读更多 →

日新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/9 0:01:47 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:47 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/9 0:03:48 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/9 0:01:47 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:47 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/9 0:03:48 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/9 17:05:02 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/9 0:45:04 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/9 17:05:02 阅读更多 →