跳转到主要内容
一个 70B 模型在 FP16 精度下需要约 140 GB 的显存。没有任何单块消费级 GPU 能够容纳。分片是推理引擎将模型拆分到多个 GPU——或多台机器——上的方式,以便服务于物理上无法装入 1 台设备的模型,或服务超出 1 台设备处理能力的更多用户。 本页面将详细介绍 4 的各种分片策略、各自的工作分配方式以及最适合您硬件的配置方案。若需快速决定采用张量并行还是流水线并行,请参阅 张量并行与流水线并行对比。

为何要进行分片?

当有 1 种情况成立(共 4 种可能)时,就需要使用分片:
  1. 模型对于 1 块 GPU 来说太大。 一个 70B 密集型模型在 FP16 精度下需要约 140 GB。即使在 Q4 量化后(约 35 GB),也会占满单块 RTX 4090(24 GB)。您至少需要 2 块 GPU 才能容纳模型权重。
  2. 需要降低每个令牌的生成延迟。 当所有 GPU 同时参与每个令牌的生成过程时,生成每个令牌所需的实际时间便会相应减少。
  3. 需要提升整体吞吐量。 GPU 数量增多意味着能够同时服务更多用户请求。
  4. 需要提升系统冗余性。 在负载均衡器后部署 2 个模型副本后,即便有 1 块 GPU 出现故障,整个系统依然能够正常运转。
倘若该模型能够顺利运行在 1 GPU 上且不存在吞吐量方面的问题,建议继续使用 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)可调控此数值;若出现显存溢出情况,可适当调低该参数。
对于 MoE模型而言,显存分配情况则有所不同——此时各专家网络模块占据主要份额。 专家并行机制正是为此而生:无需将全部 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 则同步处理同一个令牌。
每完成一层运算后,各 GPU 会执行一次 AllReduce 操作,将各自得出的局部结果整合为完整输出。这种方式能确保单个令牌的处理延迟维持在较低水平,不过对 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 可存储约 17.5 GB 的 Q4 模型权重。其余约 6.5 GB 的存储空间则用于存放 KV 缓存与 CUDA 计算图。

流水线并行机制:按顺序将各层分配给不同 GPU。

流水线并行机制会将连续的若干层分配给不同的 GPU。例如 GPU 0 负责处理 0 至 19 层,而 GPU 1 则处理 20 至 39 层。输入数据会像在流水线中一样依次流经各 GPU。
每块 GPU 仅处理分配给自身的层,随后将计算结果传递给下一阶段。GPU 之间传递的数据仅为单个层边界处的激活张量,其体积远小于张量并行机制下交换的完整权重矩阵。 内存占用: 每块 GPU 仅存储自身负责的层。当流水线并行度设为 2 时,GPU 0 负责存储模型的前半部分,GPU 1 则存储后半部分。 延迟表现: 延迟值呈累加效应。每个令牌必须依次通过所有阶段才能完成处理。若流水线并行度设为 2,整体延迟值大致等于各阶段延迟之和。 通信机制: 仅相邻阶段间存在点对点通信。由于仅相邻 GPU 会交换数据,所需带宽极低。正因如此,流水线并行机制适用于带宽较低的互联网络,如 PCIe、以太网或跨机器间的网络链路。 “气泡”现象: 当批量规模较小时,后续 GPU 往往处于闲置状态,而早期 GPU 仍在处理各自层任务。若流水线并行度设为 2 且批量大小为 1,则 GPU 1 必须等待 GPU 0 完成所有层处理后方可继续工作。批量规模增大后该现象会有所缓解,vLLM 提供的连续批处理功能亦有助于提升流水线效率。 vLLM 配置参数: --pipeline-parallel-size 2

何种情况下流水线并行机制优于张量并行机制

出现以下情况时,应优先选用流水线并行机制而非张量并行机制:
  • 各 GPU 位于 不同物理机器 上且通过网络相连(如 10 GbE 至 100 GbE 网络)。
  • 各个 GPU 通过 PCIe 总线相连,由于模型规模较小,因此使用并行流水线部署方式所产生的冗余存储开销也低于并行张量部署所需的全规约带宽成本。
  • 此时需将多个 3+ 节点 串联起来,若在所有节点上均执行并行张量部署,则互连带宽很快会被占满。

数据并行:即在多块 GPU 上同时运行同一模型。

数据并行机制下,每块 GPU 都会加载一份完整的模型副本,随后将接收到的请求均匀分配至各 GPU。在推理过程中各 GPU 之间无需通信,各自独立处理分配给自己的请求批次。
内存占用: 需要存储完整模型的 N 份副本。一个位于 7B 且量化等级为 Q4 的模型(约 4 GB 大小),在 DP=4 设置下需要 16 GB 内存才能在 4 个 GPU 上运行。这部分成本最高——实际上就是通过消耗更多内存来提升处理效率。 延迟表现:与单块 GPU 执行推理时的延迟水平完全一致,因为各 GPU 均独立处理各自的令牌序列。 吞吐量:呈现线性增长趋势。部署 4 个副本后,系统可同时服务约 4 倍数量的用户。 适用场景:适合那些能够完整载入 1 块 GPU 内存中的模型,例如 7B、14B 以及经过高压缩量化处理后也能适配的 32B 模型,尤其适合需要同时服务大量用户的场合。 vLLM 部署方法:依次启动多个 vLLM 实例,并在最前端配置负载均衡器。
随后借助 nginx、HAProxy 或任意基于轮询机制的负载均衡工具,将 /v1/chat/completions 类请求均匀分发至各个端口。

专家并行:专为混合专家模型设计。

专家并行(EP)仅适用于混合专家(MoE)模型。在 MoE 模型中,每个令牌仅激活模型”专家”中的一小部分——例如,Qwen3-235B 拥有 256 个路由专家,但每个令牌仅激活 6 个(约 22B 活跃参数,共 235B 总参数)。EP 将不同专家放置在不同 GPU 上,避免在每个地方都存储非活跃专家而浪费显存。
内存占用: 每块 GPU 仅存储其分配的专家。密集层结构(注意力机制、嵌入层、共享层——约 14 GB,4 位精度,对应 Qwen3-235B)在每块 GPU 上都有副本。专家平面(约 231 GB,2 位精度)则被分片存储。这比 TP 的显存效率高得多——TP 会在每块 GPU 上复制全部 256 个专家,即使大多数专家在每个令牌处理时都处于闲置状态。 通信机制: 各 GPU 之间需执行全对全通信。当某个令牌的路由算法选定了位于其他 GPU 上的专家模块后,对应的激活数据必须被传输至该处。由此便形成了复杂的通信模式:部分令牌的数据处理全程在单块 GPU 上完成,另一些则需要在多块 GPU 间传递。 vLLM 标志: --enable-expert-parallel 搭配 --tensor-parallel-size
DGX Spark 所提供的 128 GB 统一显存极为契合专家并行架构的需求。单台 Spark 设备约能提供 110 GB 可用显存,足以同时承载密集层结构及大量专家模块,从而有效减少专家并行机制引发的多 GPU 间数据传输负担。对于 Qwen3-235B 这类即便采用 1 节点规模的专家并行方案仍显显存不足的模型,可结合专家模块剪枝技术与 2 位精度量化方案来压缩单节点显存占用。具体硬件配置细节可参阅 DGX Spark 应用实例。

策略组合方式:张量并行、流水线并行与数据并行。

当需使用大量 GPU 时,可按照层级逻辑组合各类并行策略。
  • 节点内张量并行: 适用于 GPU 间互联带宽较高的场景。
  • 跨节点流水线并行: 适用于 GPU 间互联带宽相对有限的场景。
  • 数据并行提升吞吐量: 通过运行多组张量并行与流水线并行组合方案来实现。

4 显卡:张量并行度=2 + 流水线并行度=2

该配置可形成 2 个流水线阶段,每个阶段均采用 2 路张量并行机制。其中 GPU 0 与 1 负责处理前半部分网络层,GPU 2 与 3 则负责处理后半部分网络层。

8 显卡:张量并行度=4 + 数据并行度=2

运行 2 个副本,每个副本均采用 4 路张量并行配置。每个副本使用 4 块 GPU 来执行张量并行计算,负载均衡器则负责将请求分配到这 2 个副本上。如此配置即可实现与 TP=4 相当的低延迟效果,同时吞吐量也能提升 2 倍。

经验法则

  1. 优先采用张量并行——即利用当前最快的互连技术(如 NVLink、QSFP 或 PCIe)。
  2. 其次采用流水线并行——通过速度稍慢的链路实现(如以太网或机器间的网络连接)。
  3. 最后才考虑数据并行——仅在需要进一步提升吞吐量且尚有闲置 GPU 可用来创建副本时才采用。
vLLM 需要 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 均应显示已为模型分配对应显存:
启用 TP=2 配置后,两台 GPU 的显存占用量应大致持平。若采用 PP=2 配置,由于模型前层与后层的计算量存在差异,显存分配情况可能出现不均衡现象。

常见操作误区

在速度较慢的 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 缓存计算方式及内存参数设定指南

模型服务与扩展

推理引擎如何处理批量处理、精度控制以及并行计算。