• 问题点
    这几年的问题点主要是参数量大的模型单张卡不够用,必须并行。
  • 解决总结
    1)一类是把模型切开,分到多张卡上,解决装不下和单请求太慢的问题;
    2)另一类是把请求摊开,让 GPU 一直有活干,解决吞吐不够的问题。这篇文章把主流策略过一遍:
    3)TP、PP、EP、连续批处理、PD 分离、序列并行、投机解码,然后说近两年的新进展,最后给一个选型框架。

一、推理分别两个阶段:P\D分离

在这里插入图片描述

算一笔账。70B 模型 fp16 权重约 140GB,H100 的 HBM 带宽约 3.35TB/s。decode 阶段单个请求每生成一个 token,至少要把权重读一遍:140GB ÷ 3.35TB/s ≈ 42 毫秒,单请求吐字速度的理论上限就是每秒 24 个 token 左右(1000 ms ÷ 42 ms ≈ 23.81)。这是物理上限,batch 可以摊薄成本、提高吞吐,但改变不了单请求的延迟。想突破,只能换并行方式。

  • 总结PD分离
    prefill 吃算力,decode 吃带宽。后面的 PD 分离、投机解码、AF 分离,全是从这个矛盾里长出来的。

二、模型并行:把模型切开

1.TP 张量并行,横着切

把一层的权重矩阵按行或按列拆到多张卡上,每张卡算一部分,再用 AllReduce 把结果汇总,每一层都来这么一遍。

  • 优点是
    单请求延迟降得最实在,每一层的计算都被摊开了。
  • 缺点是
    通信量大,每层两次 AllReduce,一层都少不了。所以 TP 基本只能在机内用,靠 NVLink 这种高带宽互联撑着,常见配置是 TP=4 或 TP=8。如果跨机走网络做 TP,通信会把收益吃光,收益会更差

在这里插入图片描述

2.PP 流水线并行,纵着切

按层切。60 层的模型,前 30 层放第一组卡,后 30 层放第二组卡,请求像流水线一样流过去。

  • 优点是
    通信量小,层与层之间只传激活值,跨机也能做。

  • 缺点是
    流水线气泡:前面的卡算完要等后面的卡,批次小的时候 GPU 利用率很难看。推理场景 batch 波动大,PP 单独用不多,通常作为 TP 的补充:机内 TP,跨机 PP

在这里插入图片描述

3.EP 专家并行,按专家切

这是 MoE 模型的专属问题。以 DeepSeek V3 为例,总参数 671B,每个 token 只激活约 37B,但所有专家的权重都得在显存里待命,单卡放不下。做法是把不同专家分布到不同卡上,token 按路由结果用 All-to-All 通信发到对应的卡,算完再收回来。

MoE 模型做大之后,EP 基本是必选项。代价是 All-to-All 的流量很不规则,专家负载不均时,会有卡闲着等别的卡。

在这里插入图片描述

一句话总结三种切法:TP 切层内,PP 切层间,EP 切专家。

三、批级并行提高吞吐(切请求)

模型切好了,单请求能跑了,接下来是吞吐问题。最简单的做法是把模型复制成多个副本,前面挂负载均衡分发请求,这就是数据并行。没什么技术含量,但确实有用。副本内部的学问才是重点。

1.静态批处理的毛病

传统做法是攒一批请求一起算、一起结束。问题是这批请求有长有短:短请求生成完了,也得干等最长的请求结束才能释放,GPU 大量空转。

2.连续批处理

解法是把调度粒度从"一批请求"细化到"一次迭代":每生成一步就重新看一次队伍,谁生成完了谁走,腾出的位置立刻让新请求进来。这样 GPU 几乎永远满载。这套思路源自 Orca 论文,现在 vLLM、SGLang 这些主流引擎都是标配。

在这里插入图片描述

3.PagedAttention

连续批处理要高效,还有个前提:KV cache 的管理得跟上。传统做法是给每个请求按最大长度预分配一段连续显存,碎片和浪费都很严重。PagedAttention 借鉴操作系统虚拟内存的思路,把 KV cache 切成固定大小的页,按需分配,用多少占多少。碎片没了,还顺带支持了前缀缓存:多个请求的公共前缀(比如同一段 system prompt)只存一份 KV,大家共享。

这一层不切模型,切的是请求,但对吞吐的影响往往比模型并行还大。多数团队做推理优化,这一步性价比最高:先把连续批处理和 KV 管理做扎实,吞吐翻几倍是常态,之后再谈模型并行和分离架构。

四、PD 分离

第一节说过,prefill 吃算力,decode 吃带宽。两个阶段混在同一批卡上跑,就会互相干扰:一个长输入请求进来做 prefill,占着算力算半天,旁边正在 decode 的请求全被卡住,吐字延迟抖动很大。

解法很直接:物理分开。Prefill 单独一组节点,decode 单独一组节点,prefill 算完,把 KV cache 通过高速网络传给 decode 节点接着生成。两组节点各自按需配置:prefill 节点上大 TP 吃算力,decode 节点开大 batch 吃带宽

在这里插入图片描述

这条路线的代表是 2024 年 OSDI 的 DistServe,它提出用 goodput(满足延迟 SLO 的有效吞吐)来衡量推理系统,这个指标后来成了行业共识。国内的 Mooncake 是月之暗面 Kimi 的生产架构,以 KV cache 为中心组织调度,拿了 FAST 2025 最佳论文。

代价也要说清楚:架构复杂度上去了,KV 传输占带宽,还需要一个全局调度器来分配请求。这套东西适合规模较大、对延迟敏感的在线服务。几张卡的小规模部署,混部加连续批处理就够了,上 PD 分离属于过度设计。

五、序列并行(CP)

(vllm无,sglang的推理侧才有 Context Parallelism,支持 prefill CP 和 decode CP)
长上下文带来两个新问题:128K 甚至 1M 的上下文,KV cache 大到单卡放不下;prefill 的计算量随序列长度平方增长(注意力是 O(L²)),算得太慢。

思路是沿序列维度切。Ulysses 按注意力头切,每张卡负责一部分头;Ring Attention 让 KV 在多张卡之间环形传递,边传边算。这些技术在训练侧已经比较成熟,推理侧也开始落地,但用到的场景还集中在长上下文服务。工程上更常用的配套手段是 KV cache 量化、KV offload 到 CPU 内存、稀疏注意力,这部分第九节展开。

在这里插入图片描述

六、投机解码

前面讲的并行都是空间维度的,多卡一起干。投机解码换了个角度,在时间维度上做文章。

Decode 阶段 GPU 算力本来就大量闲置,瓶颈在带宽。那就把闲着的算力利用起来:让一个小模型(draft model)先快速猜出 k 个候选 token,再把这 k 个 token 一次性丢给大模型并行验证。验证是 prefill 式的计算,一次就能过完。猜对的直接采纳,猜错的从出错位置重来。

效果是把"一次生成一个 token"变成"一次推进多个 token",而且数学上可以证明输出分布和原模型完全一致,不损失质量。

在这里插入图片描述

近两年的进展值得单独说。

1.EAGLE-3。NeurIPS 2025 的工作。它放弃了前代的特征预测,改为直接预测 token,并融合目标模型低中高三层特征,实测加速比最高 5.6 倍,在推理类模型上能到 6.5 倍。2026 年 5 月,生产加固版 EAGLE 3.1 进入 vLLM 主线,算工业可用了。

2.原生 MTP(多 token 预测)。DeepSeek 从 V3 开始在模型结构里内置 MTP 模块,训练时就同时预测多个后续 token,推理时直接拿来当投机解码的草稿用,不需要外挂小模型。新模型开始把"一次预测多个 token"做进架构里,这个趋势大概率会持续。适用条件:延迟敏感、GPU 算力有余量。纯吞吐导向的离线批处理场景,收益不大

七、近两年的进展

PD 分离从论文走进生产

2024 年 DistServe 开出第一枪,到 2025 年底,作者团队自己做了一个 18 个月的回顾:PD 分离已经成为大规模服务的默认选项。工程配套也成熟了:KV 传输有了标准件 NIXL,vLLM 和 NVIDIA Dynamo 都在用;NVIDIA Dynamo 1.0 在 2026 年 3 月正式发布,提供 KV 感知路由和分离式调度,Baseten 报的数据是 2 倍提速;Mooncake Store 作为分布式 KV 池,被 vLLM 官方集成。

也得说句公道话。2026 年 4 月有篇论文《Revisiting Disaggregated LLM Serving》专门提醒:PD 分离的收益不是白给的,取决于负载形态、SLO 设置和集群配置。负载简单、规模不大的场景,混部就够了。

AF 分离:decode 再切一刀

PD 分离是按阶段切,现在切到了算子粒度。Decode 阶段内部也不均匀:attention 部分要读全部 KV cache,是访存密集;FFN 对 MoE 来说就是专家计算,是大矩阵乘,偏算力密集。两种活挤在同一种卡上,还是在互相将就。

于是有人把 attention 和 FFN 分到不同的卡池:attention 卡配大带宽,FFN 卡配大算力,各自独立扩缩容。vLLM 社区 2025 年 8 月有了 MoE 模型 AF 分离的 RFC,NVIDIA 给这个方向起了个名字叫 AFD(Attention-FFN Disaggregation),华为也发了对应的工作。

分离式架构正在从分阶段走向分算子。切得越细,对调度和传输的要求越高,这是拿复杂度换效率的老交易。

在这里插入图片描述

超节点改变并行的边界

第二节说过,TP 出不了机箱,因为跨机通信太慢。这个边界正在被硬件改写。GB200 NVL72 把 72 张卡拉进同一个 NVLink 域,聚合带宽 130TB/s,从并行的视角看就像一块大 GPU。

直接后果是 MoE 模型可以做 Wide EP:专家摊到整个机厢的 72 张卡上,All-to-All 全在 NVLink 域里跑,不出域。NVIDIA 2025 年 10 月的技术博客专门讲了这个方向。

并行策略的选型,一半取决于模型,一半取决于互联。互联变了,选型跟着变。

KV cache 升级为一等公民(KV Cache offload)

长上下文和多轮对话普及后,KV cache 的存储开销在很多场景下超过了模型权重本身,成了新的瓶颈层。应对是一套组合拳:

1 分级存储。热 KV 放 HBM,温的放 CPU 内存,冷的下沉到 SSD。

2 全局 KV 池。Mooncake Store、LMCache 这类分布式 KV 存储,跨节点共享。

3 KV 感知路由。把请求发给缓存命中最高的实例,前缀计算白拿。推理系统的核心资产,正在从算力调度变成状态管理。

Mooncake 的设计哲学就是这个:以 KV cache 为中心组织整个系统。

八、怎么选

没有放之四海皆准的配置,选型看三样东西:模型结构、负载形态、硬件条件。给一个决策路径:
在这里插入图片描述
再补一条硬件约束:TP 的边界由互联决定,NVLink 域内随便切,出域就要掂量通信代价。超节点正在扩大这个域,做选型时把硬件路线图也考虑进去。

九、未来演进方向

硬件:三条路

互连继续放大。Scale-up 域从 72 卡还会继续涨,光互连是关键变量:800G 光模块正在铺开,1.6T 在路上,按 NVIDIA 在 GTC 2026 上公布的路线图,CPO(共封装光学)会随 2028 年的 Feynman 平台落地。互连带宽上去了,更大的 TP 和 EP 才有戏。

CXL 内存池化。KV cache 的 HBM 放不下,就往 CXL 内存池里放。学界已经有 CXL-SpecKV 这类工作,把 CXL 内存、FPGA 压缩和推测预取组合起来做 KV 分层;产业界预期 2027 年前后进入规模商用。本质是给 KV cache 找个便宜的大房子。

近存计算。Decode 的瓶颈是访存,那就把算力搬到内存旁边去。ASPLOS 2025 的 CENT 系统用 CXL 加 PIM 做出了无 GPU 的推理原型。离生产还远,但方向对得很准:推理是访存问题,就去访存侧解决。

系统:两个趋势

**分离继续深化。**从 PD 到 AF,已经有人在系统性地探设计空间:还能切到哪一层,切到什么粒度收益和成本打平。分离的尽头,可能是每种计算都有自己的资源池。

调度智能化。SLO 感知的全局调度、按负载自动规划 P/D 配比、闲时缩容,Dynamo 的 planner 是这个方向的雏形。推理集群越来越像一个大操作系统,调度器就是内核。

模型和系统协同设计

过去是模型训完,系统想办法部署。现在反过来了,模型设计时就开始考虑推理代价。DeepSeek V3.2 的稀疏注意力 DSA 是典型例子:把长上下文的注意力复杂度从 O(L²) 降到 O(Lk),训练和推理一起省。原生 MTP 也是同一逻辑,训练时的辅助目标,推理时变成加速手段。

算法和基础设施的边界会越来越模糊。做推理优化的人得看得懂模型结构,做模型的人得知道部署代价。

场景在重塑负载

Agent 场景:一次任务多轮调用,大比例重复前缀,前缀缓存和 KV 复用从优化项变成了必选项。推理模型:动辄几千 token 的思考过程,decode 占比空前,投机解码和长序列吞吐优化的权重变大。

负载变成什么样,并行就演进成什么样。

十、总结

回头看,所有并行策略本质都在延迟、吞吐、成本这个三角里做取舍,没有银弹:

1 切模型(TP / PP / EP)解决装不下和单请求延迟,代价是通信和复杂度。
2 摊请求(连续批处理、前缀缓存)解决吞吐,性价比最高,应该最先做。
3 分阶段、分算子(PD / AF 分离)解决互相干扰,代价是架构复杂度,规模不到别碰。
4 投机解码拿闲置算力换延迟,质量无损,延迟敏感场景的标配。

选型的顺序建议:先把批级优化做扎实,再看模型结构决定并行切法,最后根据规模和 SLO 决定要不要上分离架构。每一步都拿业务指标说话

参考资料

  • Orca: A Distributed Serving System for Transformer-Based Generative Models, OSDI 2022
  • Efficient Memory Management for Large Language Model Serving with PagedAttention(vLLM), SOSP 2023
  • DistServe: Disaggregating Prefill and Decoding for Goodput-optimized Large Language Model Serving, OSDI 2024
  • Mooncake: A KVCache-centric Disaggregated Architecture for LLM Serving, FAST 2025 最佳论文
  • EAGLE-3: Scaling up Inference Acceleration of Large Language Models, NeurIPS 2025
  • DeepSeek-V3.2 技术报告(DeepSeek Sparse Attention)与 DeepSeek-V3 技术报告(MTP)
  • NVIDIA 技术博客:Scaling Large MoE Models with Wide Expert Parallelism on NVL72;
  • How NVIDIA Dynamo 1.0 Powers Multi-Node InferenceRevisiting Disaggregated Large Language Model Serving, 2026How Far Can Disaggregation Go? A Design-Space Exploration of Attention-FFN Disaggregation for Efficient MoE LLM Serving, 2026
  • CENT: PIM Is All You Need — A CXL-Enabled GPU-Free System for LLM Inference, ASPLOS 2025
  • CXL-SpecKV: A Disaggregated FPGA Speculative KV Cache Solution, 2025

更多推荐