为何要进行分片?
当有 1 种情况成立(共 4 种可能)时,就需要使用分片:- 模型对于 1 块 GPU 来说太大。 一个 70B 密集型模型在 FP16 精度下需要约 140 GB。即使在 Q4 量化后(约 35 GB),也会占满单块 RTX 4090(24 GB)。您至少需要 2 块 GPU 才能容纳模型权重。
- 需要降低每个令牌的生成延迟。 当所有 GPU 同时参与每个令牌的生成过程时,生成每个令牌所需的实际时间便会相应减少。
- 需要提升整体吞吐量。 GPU 数量增多意味着能够同时服务更多用户请求。
- 需要提升系统冗余性。 在负载均衡器后部署 2 个模型副本后,即便有 1 块 GPU 出现故障,整个系统依然能够正常运转。
GPU 显存的具体用途
在选定分片策略之前,需先了解哪些因素会占用显存。实际上并不仅仅是模型权重:
一块 24 GB 显存的 RTX 4090 显卡若运行一个大小为 70B Q4 的模型,则需要占用约 35 GB 的显存空间,这一容量显然超出了 1 GPU 的承载极限。若启用张量并行技术且设置为 2,则每块显卡仅需承载约 17.5 GB 的模型权重,还能留出约 6.5 GB 的显存空间用于存储 KV 缓存及其他运算开销。这样的配置足以应对较短的文本输入以及少量并发用户请求,但无法支撑更复杂的应用场景。
实际可用显存低于总显存容量。在 DGX Spark(具备128 GB统一显存)上,扣除操作系统与运行时的预留空间后,实际可供模型与 KV缓存使用的显存约为110 GB。对于独立显卡,vLLM的
--gpu-memory-utilization参数(默认值为 0.90)可调控此数值;若出现显存溢出情况,可适当调低该参数。
专家并行机制正是为此而生:无需将全部 231 GB 容量的专家模块加载至每一块 GPU,各 GPU 仅需存储其专属的专家模块即可。详情请参阅下方的 专家并行机制。
2 决策要点:先确保适配性,再提升运行速度
分片机制可依次解答 2 个问题: 确保适配性 — 将模型权重及 KV 缓存所需预留空间控制在 GPU 内存容量允许范围内:- 先执行量化处理。从 FP16 精度转为 Q4 精度后,模型权重占用空间可缩减约 4 倍。这是成本最低且成效最显著的优化手段。详情请参阅 量化操作指南。
- 跨 GPU 分片处理。若仅靠量化仍无法满足需求,则可借助 TP、PP 或 EP 技术对模型进行分片处理。
- 精简专家数量(仅适用于 MoE 模型)。对于拥有 256 个专家且每个令牌仅激活 6 个专家的 MoE 模型而言,采用 REAP 方法进行专家精简后,被路由到的专家权重大约能减少一半,且不会影响实际计算量。
- 选择合适的并行策略。张量并行能实现最低的每个令牌延迟;流水线并行可适应网络传输速度较慢的环境;数据并行则能显著提升整体吞吐量。
- 遵循官方文档推荐的推测性解码方案。针对
DeepSeek-V4-Flash-0731模型,请使用官方 vLLM 或 SGLang 提供的 DSpark 模块,切勿自行配置独立的草稿模型检查点。详情请参阅 模型部署与扩展指南。 - 合理调整 KV 缓存与批处理规模。预留更多的 KV 缓存空间即可支持更多并发用户。具体设置可参考 DGX Spark 内存优化指南。
各类 4 分片策略概览
DeepSeek-V4-Flash-0731 是一个实际的分片案例:13B 活跃参数降低了每个令牌的计算量,但全部 284B 参数仍需要驻留的权重内存。参阅 DeepSeek V4 Flash 本地硬件 了解内存底线和各 2 设备方案的成熟度。张量并行:将各层计算任务拆分至多个 GPU 上执行
张量并行机制会将每一层的权重矩阵切分后分配给各 GPU。每台 GPU 仅负责存储并运算该层的一部分数据,所有 GPU 则同步处理同一个令牌。1/N,其中 N 为张量并行度。一个 70B 模型在 Q4 量化后(约 35 GB)以 TP=2 部署时,每块 GPU 承载约 17.5 GB 的权重。
延迟表现:该方案可实现最低的单个令牌处理延迟。由于所有 GPU 均参与每个令牌的运算,实际耗时即为计算时间与 AllReduce 同步操作所需时间之和。
适用场景: 2–4 块通过 NVLink 或高速 PCIe 总线连接的 GPU。200Gb/s QSFP 链路(连接 2 台 DGX Spark)是理想选择。
vLLM 标志: --tensor-parallel-size 2
在执行 AllReduce 操作时,PCIe 所提供的带宽仅为 NVLink 的 3 至 5 分之一。虽然基于 PCIe 的张量并行技术依然可用,比如配备 2 个 RTX 4090 显卡且并行度设为 2 的配置也颇为常见,但解码吞吐量仍会比在 NVLink 连接的 GPU 上运行相同模型时低 20 到 30% 左右。
示例:70B 模型在 2× RTX 4090 上的部署
流水线并行机制:按顺序将各层分配给不同 GPU。
流水线并行机制会将连续的若干层分配给不同的 GPU。例如 GPU 0 负责处理 0 至 19 层,而 GPU 1 则处理 20 至 39 层。输入数据会像在流水线中一样依次流经各 GPU。--pipeline-parallel-size 2
何种情况下流水线并行机制优于张量并行机制
出现以下情况时,应优先选用流水线并行机制而非张量并行机制:- 各 GPU 位于 不同物理机器 上且通过网络相连(如 10 GbE 至 100 GbE 网络)。
- 各个 GPU 通过 PCIe 总线相连,由于模型规模较小,因此使用并行流水线部署方式所产生的冗余存储开销也低于并行张量部署所需的全规约带宽成本。
- 此时需将多个 3+ 节点 串联起来,若在所有节点上均执行并行张量部署,则互连带宽很快会被占满。
数据并行:即在多块 GPU 上同时运行同一模型。
数据并行机制下,每块 GPU 都会加载一份完整的模型副本,随后将接收到的请求均匀分配至各 GPU。在推理过程中各 GPU 之间无需通信,各自独立处理分配给自己的请求批次。/v1/chat/completions 类请求均匀分发至各个端口。
专家并行:专为混合专家模型设计。
专家并行(EP)仅适用于混合专家(MoE)模型。在 MoE 模型中,每个令牌仅激活模型”专家”中的一小部分——例如,Qwen3-235B 拥有 256 个路由专家,但每个令牌仅激活 6 个(约 22B 活跃参数,共 235B 总参数)。EP 将不同专家放置在不同 GPU 上,避免在每个地方都存储非活跃专家而浪费显存。--enable-expert-parallel 搭配 --tensor-parallel-size
策略组合方式:张量并行、流水线并行与数据并行。
当需使用大量 GPU 时,可按照层级逻辑组合各类并行策略。- 节点内张量并行: 适用于 GPU 间互联带宽较高的场景。
- 跨节点流水线并行: 适用于 GPU 间互联带宽相对有限的场景。
- 数据并行提升吞吐量: 通过运行多组张量并行与流水线并行组合方案来实现。
4 显卡:张量并行度=2 + 流水线并行度=2
8 显卡:张量并行度=4 + 数据并行度=2
运行 2 个副本,每个副本均采用 4 路张量并行配置。每个副本使用 4 块 GPU 来执行张量并行计算,负载均衡器则负责将请求分配到这 2 个副本上。如此配置即可实现与 TP=4 相当的低延迟效果,同时吞吐量也能提升 2 倍。经验法则
- 优先采用张量并行——即利用当前最快的互连技术(如 NVLink、QSFP 或 PCIe)。
- 其次采用流水线并行——通过速度稍慢的链路实现(如以太网或机器间的网络连接)。
- 最后才考虑数据并行——仅在需要进一步提升吞吐量且尚有闲置 GPU 可用来创建副本时才采用。
TP × PP = total GPUs used for one replica。若您设定了 --tensor-parallel-size 4 --pipeline-parallel-size 2,vLLM 便会调用 8 个 GPU 来部署 1 个副本。
分片策略决策矩阵
70B 台服务器,配备 2 块 RTX 4090 显卡(通过 PCIe 接口连接)
适合流水线并行。由于 PCIe 接口的带宽有限,难以实现高效的 AllReduce 操作,因此流水线并行可有效规避此瓶颈。
70B 台服务器,配备 2 块 A100 显卡(通过 NVLink 接口连接)
适合张量并行。NVLink 接口能提供充足的带宽以支持 AllReduce 操作,进而降低每个令牌的处理延迟。
235B MoE 技术,DGX Spark
EP. 原生混合专家处理机制——每个 GPU 仅承载对应的专家模块,而非整个 235B 模型。
7B,高并发流量场景
DP. 模型可完整载入单个 1 GPU 中。通过多实例部署即可提升整体吞吐量。
70B,由 4 台机器通过 A100 互联技术(NVLink)组成集群
TP=4 配置即可(若需优先保障吞吐量而非低延迟,也可选用 TP=2 搭配 DP=2 方案)。
70B 与 2 型号的机器均可使用
PP=2。 多台机器间的网络带宽不足以支撑张量并行计算,流水线并行机制可规避带宽瓶颈。
实用操作指令
验证分片机制是否正常运行
在每台 GPU 上执行nvidia-smi 指令。所有参与运算的 GPU 均应显示已为模型分配对应显存:
常见操作误区
在速度较慢的 PCIe 接口上使用张量并行。 每次层计算完成后 AllReduce 都会传输激活数据。在 PCIe 3.0 接口上,这会严重限制解码吞吐量。若您的 GPU 不支持 NVLink,建议尝试流水线并行并对比二者效果。 在批量大小为 1 的情况下使用流水线并行。 当每次仅有 1 个令牌在传输时,流水线中的空闲阶段会极大浪费计算资源。vLLM 提供的连续批处理机制可缓解此问题,因此务必确保有足量并发请求以填满整个流水线。 忽略数据并行需要 N 倍模型内存。 4 个 70B Q4 模型副本(每个约 35 GB)共需 140 GB。在添加副本前先规划好内存。 忽视 KV 缓存对内存的需求。 GPU 内存占用并不仅仅由模型权重决定,活跃序列所需的 KV 缓存同样占据大量空间。当您将模型权重分配到 2 个 GPU 上时,KV 缓存也会被同步拆分,从而有效提升系统可承载的并发用户数。但若仅按模型权重需求规划内存,则极易出现内存溢出。选定拆分方案前,请预留出模型权重、KV 缓存以及约 3 GB 的额外开销空间。 切勿颠倒张量并行与流水线并行的设置顺序。 vLLM 会在每个流水线阶段内执行张量并行。请将--tensor-parallel-size 设为单节点内 GPU 数量,--pipeline-parallel-size 设为节点总数。若顺序颠倒,流水线并行将局限于单个节点内,导致高速互联资源被浪费;而张量并行则会跨节点执行,进而使网络负载因 AllReduce 操作而达到饱和状态。
后续步骤
张量并行与流水线并行对比
张量并行与流水线并行的详细对比及性能基准测试结果
单台与双台 DGX Spark 系统的优劣分析
何时需要增加第二台 Spark 设备,以及如何配置 200 Gb/s 互联链路
DGX Spark 系统的内存优化方法
针对分布式部署场景的 KV 缓存计算方式及内存参数设定指南
模型服务与扩展
推理引擎如何处理批量处理、精度控制以及并行计算。