深言速舟 · 学习站

18 并行策略

Token 工厂拆解手册:从 GPU、推理服务到合同与现金流第四部分 推理系统约 51 分钟更新于 2026-08-04

18.1 切分方式

模型装不进一张卡时有四种切法,各自的通信代价完全不同。并行解决容量或吞吐问题,同时创造了一个分布式系统:多卡不是把单卡性能相加,模型怎样切、状态放在哪里、每一步交换什么、请求怎样路由,都会产生新的通信与调度成本。

切法英文切什么通信代价
张量并行Tensor Parallel把每一层内部的矩阵横向切开每层都要同步,极高,只适合机内高速互联
流水并行Pipeline Parallel把不同层分给不同卡只在层边界传递,低,可跨机;引入流水线空洞和阶段不均
数据并行Data Parallel整份模型复制多份,请求分流无跨卡通信,但显存翻倍
专家并行Expert Parallel把 MoE 的专家分到不同卡只传被路由到的 token,中等;有负载不均风险

选择的起点是问题而不是技术:单卡装不下、单副本吞吐不足、单请求延迟过高,还是专家容量太大。工程惯例是把高频的张量并行留在单节点高速互联内,再用流水并行或副本扩到节点间;这是有用的起点,不是所有拓扑的全局最优。核决策树三步收敛:第一步问单卡在目标精度下装不装得下权重与最小运行状态,装不下才需要 TP、PP、量化或更大显存;第二步问单副本满不满足单请求延迟,不满足时加副本只提高总吞吐,不改善单请求;第三步按目标到达率算需要多少副本,并把冷启动和故障余量计入。副本数不是静态除法:单副本低负载能扛的请求率,在高并发下因排队和批次变化未必线性放大,应从目标长度分布实测每副本有效吞吐,再留升级、故障和突发余量。

图 38四种并行方式的切分示意
张量并行 层内横切GPU0GPU1GPU2GPU3每一层每张卡各算一部分,算完立刻同步流水并行 按层纵切层 1到 8层 9到 16层 17到 24层 25到 32数据像流水线一样穿过各张卡数据并行 整份复制整模型副本整模型副本整模型副本整模型副本无通信,但显存开销乘以副本数专家并行 按专家分配专家组1-4专家组5-8专家组9-12专家组13-16只有被路由到的 token 需要跨卡传输
实际部署几乎总是多种并行的组合,例如机内张量并行加机间流水并行。
卡间那根线的带宽决定你能怎么切。同一台机器里可以随便切,跨机器就只能切层。

18.2 专家并行

MoE 架构改变了推理的成本结构:显存按总参数算,算力按激活参数算。混合专家模型把前馈层拆成许多个专家,每个 token 只路由到其中少数几个。以 2026 年 7 月开放权重的 Kimi K3 为例:总参数 2.8 万亿,从 896 个专家中每次激活约 1040 亿参数。核这意味着算力开销只有同等规模稠密模型的约二十五分之一,但全部 2.8 万亿参数都必须常驻显存,随时可能被路由到。专家并行的代价是 token 分发的全互联通信和专家负载不均,这两项要在真实流量下实测。

图 39MoE 模型的成本错位
以一个 2.8 万亿参数 MoE 模型为例显存需求:按总参数全部 2.8 万亿参数必须常驻显存算力需求:按激活参数本次未激活对产能运营方的三条含义一、入场门槛由显存决定。装不下就完全跑不了,没有折中方案。二、一旦装得下,单 token 成本极低,MoE 是开放权重能打价格战的技术根源。三、专家路由不均衡会造成部分卡忙部分卡闲,负载均衡是这类模型的主要优化点。
激活比例为该模型公开口径。不同 MoE 模型的专家数与激活数差异很大。
大模型不等于慢模型。这类模型是显存吃得多但算得快,所以我们必须用显存最大的卡。

18.3 分离部署

PD 分离把 prefill 和 decode 放到不同的机器上,因为它们要的硬件不一样。回到 15.2 的结论:prefill 吃算力,decode 吃带宽,混在同一批卡上跑会互相干扰,一个长 prefill 会把正在 decode 的请求卡住,造成出字抖动。分离部署把两类任务放到独立资源池,prefill 算完后把 KV 缓存通过高速链路传给 decode 节点。DistServe 和 Splitwise 都验证了这个方向:为两个阶段独立选硬件、并行和容量,按各自的服务目标配置。核

图 40PD 分离部署的架构
路由层Prefill 池P1算力型P2算力型P3算力型可用算力强 显存要求相对低的配置Decode 池D1带宽型D2带宽型D3带宽型需要大显存与高带宽KV 传输收益两类负载互不干扰,出字抖动显著下降;两个池可独立扩缩容。代价增加一次 KV 跨节点传输,对网络带宽和传输引擎提出硬要求,架构复杂度上升。
池内比例与实际部署无关。真实系统的 P 池与 D 池比例由流量的输入输出长度比决定。
把读题的机器和答题的机器分开,互相不打架。代价是中间要拉一根很粗的线传缓存。

分离不是免费的,它新增三个接口:prefill 池的出口、KV 传输路径、decode 池的入口。收益成本账要算清楚:

收益新成本
长 prefill 不再直接阻塞 decodeKV 状态要跨池传输
两池可独立扩容和选并行两边容量比例可能失配
可为阶段选择不同硬件或精度跨池排队、失败和一致性更复杂

提示词短、KV 很大或网络较慢时,传输可能抵消收益;长 prefill 对交互 decode 干扰严重、两阶段负载稳定可预测时,分离更可能成立。官方文档也把 PD 收益描述为依工作负载而定,核任何声称分离一定更快的说法都要回到具体负载验证。

18.4 异构组合

PD 分离打开了一扇门:两个池可以用不同厂商的芯片。既然 prefill 要算力、decode 要带宽,两者的最优硬件本来就不同,用高端卡做 decode、其他型号做 prefill 就是自然的组合。这在受限市场里有直接的现实意义:把稀缺的高端卡用在最吃紧的环节,其余环节用能拿到的产能补齐。录音里描述的国内做法是 B300 配国产卡做 PD 分离,已在两地建成集群并投入交付。录待该说法未经我方核实,但技术路径本身成立,行业里有多家在做同方向尝试。这条主张的完整核验拆法见第 40 章:它至少包含四个子命题(两阶段可分离执行、KV 跨节点传输开销可控、两池队列可配平、故障和版本不一致不破坏服务),任何一项失败,端到端收益都可能消失。

图 41异构 PD 组合的资源配比
方案一 同构B300B300B300B300全部高端卡,性能最好成本最高,且拿不到量方案二 异构B300B300其他其他高端卡专供 decodeprefill 用可获得的产能异构方案的三个前提一、两侧都要有可用的推理内核实现,算子覆盖不全就跑不起来。二、KV 格式要能在两种硬件之间转换,精度对齐要验证。三、两侧产能比例要匹配流量的输入输出长度比,配错就有一侧闲置。这三条都是工程活,做通了就是真护城河,做不通就是 PPT。
示意配比,非推荐配置。真实配比需按目标模型与流量画像实测确定。
好卡只用在最关键那一段,其余用能买到的卡顶上。这套做通了,同样的钱能上更多产能。

异构组合是第 1.2 节那个结论的技术支撑:token 这一层已经标准化,下面用什么卡客户看不见也不关心。这让运营方在硬件受限时保有腾挪空间,也让国产芯片有了逐步进入的通道。

18.5 路由反馈

路由不只是轮询地址。只按请求数轮询,会把 100 token 和 100K token 的请求当成同样工作量;只选最短队列,又可能破坏前缀缓存的局部性。生产路由器至少读取副本队列、估计 token 数、KV 使用率、模型版本、健康和地域,并持续用真实的首字延迟、出字间隔和失败结果校正,不能一次配置后静态运行。前缀感知路由把相同前缀的请求送到已有缓存的副本,省去重复 prefill,代价是容易形成热点,相关开源功能仍标为预览状态,缓存局部性与负载均衡的取舍是公开承认的。核路由策略的验收要构造副本性能不同、缓存命中与不命中、长短混合、单副本降速、滚动升级和热点租户等场景,观察每个副本的队列、命中、延迟和选择原因,而不是只看集群平均;复杂策略若不能稳定超过轮询基线,增加的观测、调参和故障面就没有得到回报。控制平面自身也会故障:状态采集过期时,系统是回退轮询、用最后一次状态还是停止接流量,要提前设计安全模式。

18.6 池间配比

PD 分离后两个池的容量必须同时够用:prefill 池偏小,请求在首 token 前排队;decode 池偏小,首字很快但之后生成卡顿。按卡数一半一半没有依据,配比应来自输入输出 token 比例、阶段服务时间、到达率与各自的服务目标。KV 传输还要纳入排队模型:状态字节随层数和上下文增长,网络除了平均带宽还要看并发传输和 P99 时延,一个 prefill 节点同时向多个 decode 节点发送大量 KV,可能让下游首 token 抖动。故障域也被重新画过。统一副本失败只影响一组请求;PD 结构里 prefill 池、KV 通道或 decode 池任何一处出问题,整条链路都可能中断。这里要提前定义四件事:prefill 已完成但尚未交接时状态归谁、重复 prefill 允不允许、decode 失败后能不能转移、计量怎样避免重复。

追问PD 分离的四个子命题分别用什么数据验证过;两池配比的依据是什么;KV 传输的 P99 时延和失败处理测过没有。

修订记录

日期改了什么为什么谁
2026-08-04按章导入,正文与插图保持原样原稿结构清晰,重写反而损失信息工程