发布时间:2026/8/9 16:03:30
PD 分离架构深度解析:大模型推理如何从‘单体‘走向‘分体‘ PD 分离架构深度解析大模型推理如何从单体走向分体![封面](https://picsum.photos/seed/17862416583336/800/400)2026 年 8 月由开源推理引擎 SGLang 孵化的 RadixArk 官宣完成超 1 亿美元种子轮融资同月AI 推理平台 Baseten 估值从 21 亿美元飙升至 130 亿美元Fireworks 在 7 个月内估值翻 4 倍达到 175 亿美元。当大模型竞赛从训练全面转向推理与部署一个底层架构正在被重新设计——它就是 PD 分离Prefill/Decode DisaggregationPrefill/Decode 分离。一、为什么推理会卡先理解 Prefill 与 Decode大模型生成一句话看似一气呵成实际上包含两个资源特征截然不同的阶段• **Prefill预填充**一次性并行处理全部输入 Token构建 KV Cache。它是高并行度的矩阵乘法属于**计算密集型**Compute-bound任务追求吞吐算力利用率越高越好。• **Decode解码**基于 KV Cache 逐 Token 生成输出每一步都要读写整段 KV Cache属于**内存带宽密集型**Memory-bound任务对延迟极其敏感用户感知的打字速度就取决于它。传统单体架构把两个阶段放在同一批 GPU 上混跑问题随之而来长 Prompt 的 Prefill 会瞬间吃满计算单元正在逐字生成的短请求被迫陪跑反过来Decode 的高频小步迭代又会拖慢 Prefill 的吞吐。两类负载互相踩脚的结果是GPU 的算力与带宽永远无法同时跑满——计算密集的时候带宽闲置带宽密集的时候算力闲置。二、为什么是现在推理优化成为 2026 年主战场这一轮 PD 分离热并非偶然而是模型竞赛重心转移的必然结果• **资本用脚投票**AI 推理平台 Baseten 估值从 21 亿美元暴涨至 130 亿美元、年收入增长 20 倍Fireworks 在 7 个月内估值翻 4 倍达到 175 亿美元、年化营收突破 10 亿美元。2026 年 8 月由开源推理引擎 SGLang 孵化的 RadixArk 正式亮相宣布完成超 1 亿美元种子轮融资并推出开源后训练框架 Miles——把训练与推理放进同一套系统统一调度让 SGLang 在推理端持续产出高质量思维链样本、Miles 在训练端实时更新权重消除阶段切换的等待损耗。• **推理引擎三年三级跳**早期的静态 Batching 像排队打饭一个算完才轮到下一个Continuous Batching连续批处理让 GPU 变成随时上下客的公交吞吐提升 2~4 倍而 PD 分离则是在此之上的第三次跃迁——不再把 Prefill 和 Decode 塞在同一张卡上互相拖累。• **头部玩家全部入局**DeepSeek 用 32 张 GPU 组成 Prefill 最优单元专门处理输入一旦开始逐字回答就通过高速网络把任务交给专门的 Decode 卡集群月之暗面 Kimi、NVIDIA Dynamo 框架、SGLang、vLLM 均已落地或原生支持 PD 分离。国内方面京算Token 工厂、趋境科技、中昊芯英须臾TPU 也都在 2026 年 7 月密集发布了 PD 分离相关实践。三、PD 分离把两种负载拆到不同的 GPU 池PD 分离的核心思想非常朴素既然 Prefill 吃算力、Decode 吃带宽那就把它们分别部署到特性不同的硬件上各自独立调度。• **Prefill 池**由高性能 GPU 组成专注快速吞下输入产出 KV Cache• **Decode 池**由高带宽、更经济的 GPU 组成专注逐 Token 生成• 中间通过高速网络RDMA/InfiniBand把 KV Cache 从 Prefill 节点交接给 Decode 节点。两个池可以独立扩缩容聊天场景输出长、输入短就多配 Decode 卡文档分析场景输入长就多配 Prefill 卡。DeepSeek 在生产环境中正是用 H800 80GB 做 Prefill 节点、用更便宜的 L40S 做 Decode 节点实现成本的差异化配置。据 NVIDIA、超擎数智等联合测试PD 分离可让 Token 吞吐提升 2~3 倍、推理硬件成本下降 30%~50%。四、代码实践一个最小的 PD 分离服务下面这段代码完整可运行演示了 PD 分离的架构机制请求先进 Prefill 池完成编码KV Cache 交接后交给 Decode 池独立生成两个池各自拥有独立的 worker 数量天然支持异构扩缩容。#!/usr/bin/env python3 极简 PD 分离服务演示Prefill 池与 Decode 池分离 KV Cache 交接 from dataclasses import dataclass, field from typing import Optional dataclass class Job: 一个推理请求 rid: int prompt: list[int] # 输入 token 序列 output: int # 要生成的 token 数 kv_cache: Optional[dict] field(defaultNone, reprFalse) class PrefillPool: 计算密集型把整段 prompt 一次性编码为 KV Cache def __init__(self, n_workers: int): self.n_workers n_workers def run(self, job: Job) - None: # 真实场景里这里是高并行矩阵乘法此处用 dict 模拟 KV Cache job.kv_cache {K: [fk{i} for i in job.prompt], V: [fv{i} for i in job.prompt]} print(f [Prefill] req#{job.rid} 编码 {len(job.prompt)} token → KV Cache 就绪) class DecodePool: 带宽密集型逐 token 生成每一步都要读完整 KV Cache def __init__(self, n_workers: int): self.n_workers n_workers def run(self, job: Job) - list[str]: assert job.kv_cache is not None, KV Cache 尚未由 Prefill 池产出 out [] for i in range(job.output): # 模拟注意力读一遍 KV内存带宽占用再吐 1 个 token _ sum(len(v) for v in job.kv_cache[V]) out.append(ftok_{i}) print(f [Decode] req#{job.rid} 生成 {len(out)} token) return out class PDServer: PD 分离调度请求先进 Prefill 池KV 交接后交给 Decode 池 def __init__(self, prefill_workers: int 2, decode_workers: int 4): self.pool_p PrefillPool(prefill_workers) self.pool_d DecodePool(decode_workers) self.kv_ready: list[Job] [] # KV 交接区 def handle(self, job: Job) - None: print(f收到 req#{job.rid} (prompt{len(job.prompt)}, output{job.output})) self.pool_p.run(job) # ① Prefill 池处理 self.kv_ready.append(job) # ② KV Cache 通过高速网络交接 self.pool_d.run(job) # ③ Decode 池独立消费 if __name__ __main__: server PDServer(prefill_workers2, decode_workers4) jobs [Job(rid1, prompt[7] * 200, output50), # 文档分析长入短出 Job(rid2, prompt[9] * 30, output120), # 聊天短入长出 Job(rid3, prompt[3, 1, 4] * 40, output30)] for j in jobs: server.handle(j)运行结果如下可以看到每个请求都走完了Prefill 编码 → KV 交接 → Decode 生成的完整流水收到 req#1 (prompt200, output50) [Prefill] req#1 编码 200 token → KV Cache 就绪 [Decode] req#1 生成 50 token 收到 req#2 (prompt30, output120) [Prefill] req#2 编码 30 token → KV Cache 就绪 [Decode] req#2 生成 120 token 收到 req#3 (prompt120, output30) [Prefill] req#3 编码 120 token → KV Cache 就绪 [Decode] req#3 生成 30 token五、工程落地绕不开的 KV Cache 传输与两层调度PD 分离不是把机器拆开就完事真正的难点在调度与传输1.两层调度第一层是全局请求分发层用一致性哈希把请求映射到 Prefill 组第二层是 Prefill 组内的细粒度负载均衡。Kimi、DeepSeek 的推理平台均采用类似设计。2.KV Cache 压缩与传输KV Cache 体积与上下文长度成正比跨节点传输会带来额外延迟。主流解法包括MLAMulti-head Latent Attention把 KV 压缩到传统 MHA 的 1/8Chunked Prefill 边算边传让 Decode 尽早开始KV Cache Offload 把冷数据放到 CPU/SSD腾出显存支持更多并发。3.Continuous Batching 仍是地基PD 分离是在连续批处理之上的架构演进两者是叠加关系而非替代关系。NVIDIA Dynamo、SGLang、vLLM 等框架已原生支持 PD 分离建议从成熟框架起步而非自研。部署侧的一个示意不同硬件规格拆分两个池# 示意将异构 GPU 拆分到两个池以 SGLang Router 为例参数以实际版本为准 # Prefill 池4 × 高性能计算卡负责长 Prompt 编码 sglang.launch_server --model-path Qwen/Qwen2.5-72B-Instruct \ --dp 4 --role prefill --port 30000 # Decode 池8 × 高带宽经济卡负责逐 Token 生成 sglang.launch_server --model-path Qwen/Qwen2.5-72B-Instruct \ --dp 8 --role decode --port 30001 # 路由层一致性哈希分发 KV 交接 sglang.launch_server --router-only --prefill-port 30000 --decode-port 30001六、挑战与选型建议• 日请求量百万级以上的推理服务PD 分离几乎是必选项小规模单机部署反而会因网络开销得不偿失。• 底层硬件的异构性与软件栈不兼容是当前最大的工程挑战也是京算 Token 工厂等国产算力平台着力攻克的难点。• 关注 2026 年 WAIC 上中昊芯英须臾TPU 等原生适配 PD 分离调度芯片的进展硬件与框架协同优化正在成为新趋势。总结从 vLLM 解决跑得起来到 PD 分离解决跑得经济大模型推理正在从单体黑盒走向可编排的分布式服务。理解了 Prefill 与 Decode 的资源差异你就抓住了 2026 年推理优化这条主线的钥匙——算力很贵把每一分钱花在刀刃上才是这个时代真正的工程智慧。

相关新闻

2026/8/9 16:03:30

SkyWalking Agent性能调优与生产环境实践

1. SkyWalking Agent性能测试背景 在分布式系统监控领域,SkyWalking作为一款开源的APM(应用性能管理)工具,其Agent组件的性能表现直接影响着生产环境的稳定性。最近在帮某电商平台做微服务改造时,我们遇到了一个典型问题:接入SkyW…

2026/8/9 16:03:30

UE5视频处理性能优化:线程调度、渲染整合与内存管理实战

1. 项目概述:UE5视频处理性能困境的根源与破局做实时渲染和交互应用的朋友,尤其是用UE5的,估计都遇到过视频处理的“老大难”问题。场景里放个视频墙,或者做个AR/VR的实时视频融合,帧率说掉就掉,延迟高得离…

2026/8/9 15:58:30

Higress云原生网关:AI驱动与生产实践解析

1. Higress 加入 CNCF 的技术意义 作为云原生计算基金会(CNCF)的新晋项目,Higress 的加入标志着开源社区对下一代 Ingress 控制器技术路线的认可。这个基于 Envoy 代理构建的网关解决方案,正在重新定义现代应用流量管理的标准范式…

2026/8/9 17:13:34

Unity与VS2015协同调试全攻略:从环境配置到移动端实战

1. 项目概述:为什么Unity与VS2015的协同调试如此重要?如果你是一名Unity开发者,尤其是从早期版本一路走过来的,那么Visual Studio 2015(VS2015)这个名字一定不陌生。虽然现在VS2022、Rider等工具功能更强大…

2026/8/9 17:13:34

微信小游戏联机开发:5分钟搭建Node.js UDP服务器实现实时对战

1. 项目概述与核心价值最近在捣鼓一个微信小游戏,想实现一个简单的双人对战功能,比如你画我猜或者简单的实时位置同步。一开始想着用WebSocket,但发现对于这种高频、小数据包、允许少量丢包的游戏场景,有点“杀鸡用牛刀”了。后来…

2026/8/9 17:13:34

VS2017实战:从零构建C++ DLL并实现隐式链接调用

1. 项目概述:为什么我们需要亲手造一个DLL?在Windows平台上做C开发,动态链接库(DLL)几乎是一个绕不开的话题。你可能经常在项目里看到一堆.dll文件,或者被“找不到xxx.dll”的报错搞得焦头烂额。但你是否想…

2026/8/9 17:13:34

BetterGI原神自动化工具:20+智能功能解放双手的终极指南

BetterGI原神自动化工具:20智能功能解放双手的终极指南 【免费下载链接】better-genshin-impact 📦BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音游 | …

2026/8/9 17:13:34

性能测试实战:从JMeter脚本到系统瓶颈定位的完整指南

1. 项目概述:为什么性能测试不是“跑个脚本”那么简单最近在复盘几个线上故障,发现十有八九都跟性能问题有关。要么是某个接口在流量高峰时响应时间飙升到十几秒,要么是数据库连接池被打满导致服务雪崩。每次复盘会上,开发、运维、…

2026/8/9 0:01:56

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

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

2026/8/9 0:01:56

当 LLM 遇见大文档:主流开源项目如何处理上下文超限

从 Agentic Loop 到 Repo Map,七种策略与六类陷阱引言:128K vs 10MB 的硬冲突 2026 年的 LLM 上下文窗口已达到 128K ~ 1M token(≈ 0.5MB ~ 4MB 文本),但 LLM 想要处理的真实数据规模远远超过这个量级:真实…

2026/8/9 0:01:56

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

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

2026/8/9 0:01:56

当 LLM 遇见大文档:主流开源项目如何处理上下文超限

从 Agentic Loop 到 Repo Map,七种策略与六类陷阱引言:128K vs 10MB 的硬冲突 2026 年的 LLM 上下文窗口已达到 128K ~ 1M token(≈ 0.5MB ~ 4MB 文本),但 LLM 想要处理的真实数据规模远远超过这个量级:真实…

2026/8/7 9:44:18

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/7 19:03:32

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/9 15:24:19

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…