DynaPipe: Dynamic Layer Redistribution for Efficient Serving of LLMs with Pipeline Parallelism

作者/机构: Hongxin Xu∗1, Tianyu Guo∗1, Xianwei Zhang†1, 1CSE, Sun Yat-Sen University

A1 主要贡献

本文旨在解决大型语言模型(LLM)推理中流水线并行(Pipeline Parallelism, PP)的一个关键性能瓶颈。

  • 核心问题:传统的流水线并行方法通常在多个设备间均匀分配模型层。然而,这种策略忽略了流水线最后一个阶段(tail stage)的额外计算负载,即采样(sampling)操作。虽然上游阶段仅执行层的前向计算,但最终阶段除了前向计算外,还必须处理采样任务,这引入了显著的延迟。这种工作负载的不平衡导致流水线无法对齐,上游阶段被迫空闲等待,形成“流水线气泡”,从而降低了整体硬件利用率和性能。

  • 研究目标:为了解决上述问题,本文提出了 DynaPipe,一个动态层重分配方案,旨在运行时自适应地平衡各流水线阶段的计算负载。

  • 创新点

    1. 识别并量化了采样开销瓶颈:本文明确指出了在LLM推理中,流水线最后一个阶段的采样操作是一个被普遍忽视的关键性能瓶颈。该操作会产生严重的流水线气泡,显著降低GPU利用率。
    2. 提出DynaPipe动态层重分配方案:DynaPipe能够根据实时的前向计算和采样工作负载,在运行时自适应地优化模型层在流水线阶段间的分配。通过将部分层从最终阶段迁移至上游阶段,可以有效平衡各阶段的计算时间。
    3. 设计异步KV缓存迁移协调器:为了在层重分配期间避免流水线停顿,DynaPipe引入了一个异步键值(KV)缓存迁移机制。该机制能够以非阻塞的方式在设备间迁移层的KV缓存,确保推理过程的无缝执行。

实验表明,DynaPipe在不同工作负载下,与最先进的流水线并行系统相比,能够将平均端到端请求延迟降低8%至41%,并提高服务等级目标(SLO)的达成率。

图1:自回归解码过程中的流水线气泡图示。上图:传统的均匀层分配因尾部阶段的采样延迟导致上游阶段空闲。下图:不均匀的层分配可以减少空闲时间并提高硬件效率。“S0:15L”表示阶段0包含15个层。
图1:自回归解码过程中的流水线气泡图示。上图:传统的均匀层分配因尾部阶段的采样延迟导致上游阶段空闲。下图:不均匀的层分配可以减少空闲时间并提高硬件效率。“S0:15L”表示阶段0包含15个层。

A3 背景知识与动机

2.1 基于Transformer的LLM推理

Transformer架构与自回归生成。基于Transformer架构【【索引编号23,Attention is all you need,2017,NeurIPS】】的LLM通过堆叠多个解码器层来执行自回归生成。每个解码器层主要由一个自注意力机制和一个前馈网络(FFN)组成。在推理过程中,输入token首先通过嵌入层转换为连续向量,然后依次通过解码器层。在每一层中,模型计算查询(Q)、键(K)和值(V)向量。自注意力机制通过点积计算Q和K的相似度,应用softmax函数获得归一化权重,并用这些权重对V进行加权求和,从而捕捉不同位置token之间的依赖关系。接着,FFN应用带有非线性激活的全连接层来增强模型的表示能力。最终的隐藏状态被投射到logits,代表词汇表上的概率分布。下一个token基于此分布通过贪心解码【【索引编号24,Trainable greedy decoding for neural machine translation,2017,EMNLP】】或束搜索【【索引编号25,Beam search: Faster and monotonic,2022,ICAPS】】等策略进行采样。

KV缓存机制。为了提高推理效率,现代LLM集成了KV缓存机制。在自回归生成中,每一步新生成的Q都需要关注(attend to)过去所有的K和V。由于历史的K和V保持不变,缓存它们可以避免重复计算,从而提升推理效率。设当前步骤需要计算的token数量为$n$,总序列长度为$L$,隐藏状态维度为$d$。注意力机制的总计算复杂度为$O(nd^2 + nLd)$,包括计算Q、K、V和注意力操作的成本。FFN的复杂度为$O(nd^2)$。通过重用缓存的K和V,KV缓存显著减少了注意力机制的时间和内存开销,尤其在长序列生成任务中,从而提高了推理速度和整体效率。

2.2 LLM推理中的并行策略

主流并行策略:TP与PP。为了实现LLM的高效分布式推理,现代系统通常采用两种主流的并行化策略:张量并行(Tensor Parallelism, TP)和流水线并行(Pipeline Parallelism, PP)。TP将模型层内的大型矩阵运算分割并分配到多个设备上并行计算,从而克服单个GPU的内存限制。然而,这种细粒度的并行策略在模型的前向传递过程中需要频繁交换中间激活值,导致显著的跨设备通信开销。

PP的优势。相比之下,PP采用粗粒度的模型划分策略,将模型划分为由连续层组成的顺序阶段,每个阶段分配给不同的设备执行。在推理过程中,输入数据被分割成多个微批次(micro-batches),按时间顺序送入流水线并在每个阶段处理。一个阶段完成对某个微批次的计算后,会异步地将中间输出传输到下一个阶段,并立即开始处理下一个微批次。由于微批次在不同阶段并发流动,系统形成了一个高效的流水线调度机制,显著提高了计算资源利用率和总吞吐量。因为PP仅需要在相邻阶段间交换数据,它极大地减轻了通信带宽压力,因此已成为当前工业级LLM推理系统中广泛采用的核心并行技术。

2.3 PP中的挑战

流水线气泡的根源。受TD-Pipe【【索引编号26,TD-pipe: Temporallydisaggregated pipeline parallelism architecture for high-throughput LLM inference,2025,CoRR】】和gLLM【【索引编号18,gllm: Global balanced pipeline parallelism system for distributed llm serving with token throttling,22025】】的启发,我们发现尽管PP为LLM推理带来了显著的效率优势,其性能仍然容易受到阶段间气泡的影响。这些气泡通常源于不同流水线阶段计算工作负载的不平衡,导致效率低下和空闲时间。具体来说,当某些阶段仍在处理耗时任务时,其他阶段则处于空闲状态,等待结果。通过详细的性能分析,我们识别出一个关键但之前被忽视的瓶颈:由每次模型前向计算结束时的采样延迟引起的瓶颈。

采样延迟导致的不平衡。大多数流水线阶段执行统一的前向计算,而最后一个阶段需要处理额外的token采样操作,这增加了额外的计算负载。这种不平衡使得最后一个阶段成为潜在的性能瓶颈,因为额外的采样工作负载破坏了各阶段计算任务的均匀分布。虽然静态的层重分配可以部分缓解采样开销,但采样和前向计算时间的动态性使得单一的静态策略无法在动态工作负载条件下维持负载均衡。根本原因在于,采样开销主要取决于需要采样的token数量,这由解码请求的数量决定,因为预填充(prefill)的token不需要采样。

图2:采样和前向计算的开销分析。
图2:采样和前向计算的开销分析。

开销分析。图2展示了对此开销的详细剖析结果。如图2(a)所示,采样延迟随采样token数量近似线性增长,表明解码请求的增加直接导致更高的采样开销。同时,图2(c)展示了单层前向计算时间与总token数的关系,表明前向计算时间也是动态的,并与批处理中预填充和解码token的总数正相关。因此,采样时间与单层前向时间的比率不是恒定的,而是随每个批处理中token的构成(即解码token与预填充token的动态比例)而变化。如图2(b)所示,该比率近似服从正态分布。统计结果进一步表明,平均而言,采样开销大约是单层前向计算延迟的3.09倍。这一发现凸显了采样操作并非一个可忽略的终端步骤,而是一个引入大量延迟并显著影响流水线整体效率的重要性能因素。

总结。总之,当前基于PP的推理系统缺乏动态适应采样引入的波动性工作负载的能力。因此,尾部阶段由采样引起的瓶颈会向上传播,对整个系统性能产生负面影响。为了解决这个问题,需要一个动态的工作负载平衡机制,通过重新分配计算工作负载来减少采样引起的气泡,并提高流水线的整体效率。

A2 方法细节

DynaPipe是一个协同优化框架,旨在减少由尾部阶段采样引起的流水线气泡。如图3所示,DynaPipe由三个核心组件构成:一个执行时间预测器、一个气泡感知调度器和一个迁移协调器。预测器采用一个轻量级预测模型来估算每层的前向计算时间和采样延迟。利用这些估算值,调度器决定是否需要动态重分配层以平衡流水线阶段的工作负载。当触发迁移时,系统会异步地在设备间传输KV缓存,确保流水线执行不被中断。通过紧密协调这些组件,DynaPipe能够动态适应运行时的负载变化,有效减少流水线效率低下问题并提高硬件利用率。

图3:DynaPipe的整体架构与工作流程。“S/T”表示源/目标阶段。
图3:DynaPipe的整体架构与工作流程。“S/T”表示源/目标阶段。

3.1 执行时间预测器

预测模型的必要性。如2.3节所述,LLM推理中前向计算和采样计算的延迟在运行时变化显著。为了制定有效的层重分配策略,精确估算每个阶段的延迟至关重要。为此,我们构建了两个独立的延迟预测模型。第一个模型根据每步处理的token数$n$和序列长度$L$来估算单个Transformer层的前向计算时间。第二个模型估算采样开销,该开销随采样token数量近似线性增长,如图2(a)所示。这两个模型共同构成了我们的执行时间预测器,能够动态估算每层推理延迟和采样成本,从而实现精确且自适应的流水线层重分配策略。

延迟预测模型的理论基础。为了构建一个有理论依据的延迟预测模型,分析始于单个Transformer层的计算特性。如2.1节所述,单层的计算主要包括QKV投影、自注意力机制和前馈网络(FFN)。由于QKV投影和FFN的计算复杂度相同,可以将其合并,从而将该层的整体计算复杂度简化为$O(nd^2 + nLd)$。

分块预填充策略下的延迟建模。在实际部署中,我们采用一种称为分块预填充(chunked prefill)【【索引编号19,SARATHI: efficient LLM inference by piggybacking decodes with chunked prefills,2023,CoRR】】的调度策略,它将预填充和解码请求合并在同一个计算块中。预填充阶段是计算密集型的,因为它在一个块中处理完整的输入序列。相比之下,解码步骤一次生成一个token,严重依赖KV缓存访问,因此受内存带宽限制。尽管它们的计算特性不同,但两个阶段都在统一的前向计算中一起执行。这种统一的计算流程促使我们采用联合建模方法来捕捉两个阶段的延迟特性。值得注意的是,在解码阶段,n表示每次前向传递中要计算的token数,通常为1。

单层Transformer延迟模型。我们将一个块内所有请求在单个Transformer层上的总执行延迟建模为:

$$T_{\text {layer }}=\sum_{i=1}^N\left(\phi_1 n_i+\phi_2 n_i L_i+\epsilon\right)$$


这里,$\phi_1$, $\phi_2$ 和 $\epsilon$ 是从性能剖析数据中拟合的参数。$N$表示块中包含的请求数量。该公式考虑了请求级别的计算成本,为分块执行下的总层延迟提供了一个实用的估算。

采样开销预测模型。此外,为了解释解码过程中尾部阶段的采样开销,我们引入了一个单独的预测模型:

$$T_{\text{sample}} = \alpha \cdot N_{\text{decode}} + \beta$$


其中,$N_{decode}$表示块中的解码请求数量,$\alpha$和$\beta$是拟合的系数,分别代表采样的增长率和固定开销。

3.2 气泡感知调度器

调度器的作用。基于执行时间预测器提供的延迟估算,可以评估LLM推理过程中流水线阶段的潜在不平衡。为了解决这些不平衡,我们设计了一个气泡感知调度器,它能动态调整各阶段的层分配。该调度器旨在最小化由执行时间不均导致的流水线气泡,从而提高整体流水线效率和硬件利用率。

层再分配策略。具体来说,随着解码请求数量的增加和需要采样的token增多,最后一个流水线阶段的采样开销变得不可忽略。为确保该阶段与其他阶段保持相同的计算时间以实现流水线对齐,我们减少分配给该最终阶段的层数。设从该阶段移除的层数为$k$,接收这些层的阶段数为$m$。这些被移除的层被均匀地重新分配给上游流水线阶段,以维持工作负载平衡。

不对齐量化指标。为了量化此调整引入的未对齐程度,我们定义了以下指标:

$$\Delta = \left| T_{\text{sample}} - k \cdot T_{\text{layer}} - \frac{k}{m} \cdot T_{\text{layer}} \right|, \quad m = \min(k, \text{num}_{\text{stages}} - 1)$$


该指标衡量了层重分配后,最终阶段与之前阶段之间的计算时间差异。理想情况下,当$\Delta \approx 0$且$m = num_{stages} - 1$时,所有流水线阶段的执行时间对齐,从而提高流水线效率和资源利用率。

稳定性窗口阈值机制。为了进一步增强调度策略的稳定性并避免频繁重分配带来的开销,我们引入了一个稳定性窗口阈值机制。一个配置只有在滑动窗口内的所有位置上都持续出现时才会被激活,这有效地过滤掉了短期波动。该机制在确保推理过程中调度平稳高效的同时,增强了调度的鲁棒性。

3.3 迁移协调器

权重预加载与KV缓存迁移。在初始化阶段,系统会为可能被重新分配的额外层预先分配内存并加载权重。这使得流水线阶段在重分配期间能够快速访问这些预加载的参数。然而,仅靠权重预加载无法完成迁移过程,因为它还需要传输相应的KV缓存。为解决此问题,我们设计并实现了一个迁移协调器来管理和传输层重分配期间的KV缓存,从而实现不同流水线阶段间的高效协作。

异步KV缓存迁移机制。如图3所示,当调度器触发层重分配时,迁移协调器会最小化对正在进行的推理的干扰,实现平滑过渡并保持整体系统性能。此设计的核心思想是利用流水线并行性,并在迁移过程中最大化计算与通信的重叠。具体而言,当一个阶段的层配置发生变化时,系统会比较当前和调整后的层分配,以识别哪些层需要迁移或接收,从而确定精确的迁移范围。在迁移期间,一旦源阶段完成了待迁移层的计算,它会异步地将相应的KV缓存传输到目标阶段。同时,目标阶段异步接收其即将接管的层的KV缓存,并继续执行未受影响层的前向计算。目标阶段仅在执行到新分配的层时才等待KV缓存,并在收到这些层的缓存后立即开始计算。由于这些KV缓存通常由源阶段提前发送,目标阶段可以迅速完成接收,避免长时间的停顿。这种设计实现了计算与通信的并行重叠,避免了由迁移操作引起的长时间流水线停顿,并确保了层重分配的快速切换。

A4 实验

4.1 实验环境

  • 实现:DynaPipe基于gLLM【【索引编号18,gllm: Global balanced pipeline parallelism system for distributed llm serving with token throttling,22025】】实现,这是一个在流水线并行方面表现优于现有生产级推理框架的紧凑高效的LLM推理框架。流水线工作节点使用ZeroMQ【【索引编号27,ZeroMQ: An open-source universal messaging library】】进行高效的进程间通信。KV缓存迁移使用NCCL【【索引编号28,NCCL: Nvidia collective communications library,2025】】进行高性能跨GPU通信。DynaPipe的窗口阈值大小设为25。
  • 硬件配置:实验在一台配备四块通过PCIe连接的NVIDIA A100-PCIe-40GB【【索引编号29,Nvidia a100 tensor core gpu architecture,2021】】GPU的系统上进行。
  • 数据集:使用ShareGPT【【索引编号30,Share your wildest chatgpt conversations with one click.,2023】】和Azure-Conv【【索引编号31,Splitwise: Efficient generative LLM inference using phase splitting,2024,ISCA】】数据集进行评估。ShareGPT包含用户与ChatGPT的真实对话数据。Azure-Conv源自Azure生产环境,其输入长度通常大于输出长度。数据集的输入/输出长度统计见表1。

表1:输入/输出长度。
表1:输入/输出长度。

  • 模型:实验使用两种模型变体:Qwen2.5-14B和Qwen2.5-32B【【索引编号1,Qwen2.5 technical report,2024,CoRR】】。
  • 基线系统:与多个SOTA LLM推理框架进行比较,包括vLLM (v0.8.5 V1)【【索引编号21,Efficient memory management for large language model serving with pagedattention,2023,SOSP】】和gLLM【【索引编号18,gllm: Global balanced pipeline parallelism system for distributed llm serving with token throttling,22025】】(均使用流水线并行),以及SGLang (v0.4.3.post2)【【索引编号22,Sglang: Efficient execution of structured language model programs,2024,NeurIPS】】(使用张量并行)。所有系统均采用分块预填充(chunked prefill)技术【【索引编号19,SARATHI: efficient LLM inference by piggybacking decodes with chunked prefills,2023,CoRR】】,最大块大小设为2048。
  • 评估指标
    • 平均端到端延迟(E2EL):从请求发出到响应生成完成的总时间。
    • SLO合规率:衡量系统在服务等级约束下的稳定性。如果一个请求的首token生成时间(TTFT)和每token输出时间(TPOT)都低于表2中的阈值,则视为合规。

表2:SLO要求。
表2:SLO要求。

4.2 实验结果

  • 总体性能:如图4所示,DynaPipe在所有工作负载下均一致优于主流推理框架。

    • 与vLLM和SGLang相比性能优势显著。SGLang依赖张量并行,在高并发下通信开销成为瓶颈。vLLM采用固定大小的块,导致批处理间的流水线气泡问题突出。gLLM虽缓解了批处理间气泡,但忽视了采样开销导致的阶段间气泡。
    • DynaPipe通过层重分配,使采样操作与其他阶段的额外层前向计算重叠,有效填补了流水线中的空闲阶段,从而大幅提升性能。
    • 在高吞吐量场景下性能增益尤为明显,因为此时预填充阶段完成更快,批处理中解码请求比例增加,采样开销成为更显著的瓶颈。
    • 在ShareGPT数据集上,DynaPipe最高可将E2EL降低40%;在Azure-Conv数据集上,降幅达到34%。Azure-Conv上增益相对较小是因为其输入输出长度比较高,导致预填充阶段的每层执行时间更长,从而降低了采样的相对影响。
  • SLO达成率:在90% SLO达成率目标下,SGLang和vLLM在高请求率下难以达标。DynaPipe则能维持更高的SLO合规率,并且在90% SLO达成率下比gLLM能多承受高达19%的请求率。

图4:不同LLM服务系统的平均延迟和SLO达成率。DynaPipe在所有工作负载下均实现了最低的平均延迟和最高的SLO合规率。
图4:不同LLM服务系统的平均延迟和SLO达成率。DynaPipe在所有工作负载下均实现了最低的平均延迟和最高的SLO合规率。

4.3 不同输出-输入长度比下的性能

  • 实验设置:在合成数据集上进行测试,输入长度固定为512,输出长度可变以形成不同的输出-输入(O:I)比率。
  • 实验结论:如图5所示,
    • 在预填充阶段(输出长度=1,O:I比率≈0),采样开销极小,静态平均分配策略延迟最低,DynaPipe表现相当。其他静态重分配策略此时会引入负载不平衡,导致性能下降。
    • 随着输出长度增加,解码阶段变长,采样开销逐渐增大。静态负载均衡策略无法解决由此产生的阶段间不平衡。其他静态层重分配策略的性能开始改善,因为增加的层有助于抵消采样开销。
    • 不同静态策略在不同O:I比率下效果各异,采样开销占比越大,分配更多层越有利。
    • DynaPipe始终以最低的延迟优于其他所有方法,其自适应能力使其在输入输出长度波动的真实场景中尤其有效。
图5:不同O:I比率下各种调整策略的归一化E2EL。
图5:不同O:I比率下各种调整策略的归一化E2EL。

4.4 不同窗口阈值下的性能

  • 实验分析:图6以ShareGPT数据集上最佳静态层重分配策略为基线,展示了调整窗口阈值对32B模型E2EL和调整次数的影响。
  • 实验结论
    • 当窗口阈值过小,调度器频繁触发调整,导致显著开销,E2EL比最佳静态策略高35%。
    • 当窗口阈值过大,调度器无法及时调整以应对采样开销,同样导致E2EL增加。
    • 将窗口大小设为25能在性能和开销间取得良好平衡。在ShareGPT数据集上,仅调整4次,E2EL便与最佳静态层重分配策略相当。
图6:调整窗口阈值对E2EL和调整频率的影响。
图6:调整窗口阈值对E2EL和调整频率的影响。

4.5 多节点设置下的性能

  • 实验设置:通过设置NCCL环境变量(NCCL_SHM_DISABLE=1, NCCL_P2P_DISABLE=1, NCCL_IB_DISABLE=1)来禁用共享内存、P2P和InfiniBand通信后端,强制所有跨GPU通信通过TCP协议栈,以模拟分布式环境的网络延迟和带宽特性。实验在Qwen14B模型和四块A100 GPU上进行。
  • 实验结论:如图7所示,DynaPipe相比gLLM取得了显著的性能提升。尽管跨节点通信引入了额外的KV缓存迁移开销,导致优化空间相比单节点场景略有缩小,但整体性能仍保持在较高水平。这表明DynaPipe的核心机制在跨节点设置中保持了强大的有效性和可扩展性。
图7:Qwen2.5-14B(4节点)上DynaPipe与gLLM的延迟对比。
图7:Qwen2.5-14B(4节点)上DynaPipe与gLLM的延迟对比。

4.6 执行时间预测器的效果

  • 评估方法:通过随机采样输入输出序列长度构建合成数据集,测量14B和32B模型的离线执行时间以拟合预测器。
  • 评估结果:如图8所示,预测值与y=x线高度吻合,表明预测与实际执行时间高度一致。
    • 层执行时间的平均相对误差为4.95%。
    • 采样执行时间的误差仅为0.31%。
    • 这表明为同一LLM拟合的预测器在不同数据集规模下保持高准确性,验证了模型的泛化能力。
    • 预测器每次预测仅需0.5微秒,开销可忽略不计。
图8:实际与预测执行时间分布。“A/S”表示Azure-Conv/ShareGPT。
图8:实际与预测执行时间分布。“A/S”表示Azure-Conv/ShareGPT。

A7 补充细节

5 相关工作

LLM推理优化。近期的系统级研究主要集中在提升LLM推理的内存效率和吞吐性能。代表性工作包括vLLM【【索引编号21,Efficient memory management for large language model serving with pagedattention,2023,SOSP】】通过PagedAttention机制缓解GPU内存碎片,以及SGLang【【索引编号22,Sglang: Efficient execution of structured language model programs,2024,NeurIPS】】通过结构化执行和KV缓存重用提升效率。此外,一些研究【【索引编号32,Bullet: Boosting gpu utilization for llm serving via dynamic spatial-temporal orchestration,2025】,【索引编号33,Optimizing slo-oriented llm serving with pd-multiplexing,2025】】采用性能建模指导调度策略,解耦预填充和解码阶段以提高GPU利用率。在分布式推理设置中,Llumnix【【索引编号34,Llumnix: Dynamic scheduling for large language model serving,2024,OSDI】】和Seesaw【【索引编号35,Seesaw: High-throughput LLM inference via model re-sharding,2025,CoRR】】通过KV缓存迁移和自适应重分片解决负载均衡问题。与这些工作正交,DynaPipe专注于一个先前未被充分强调的问题:流水线并行中的阶段不平衡,通过在运行时自适应地缓解阶段不平衡,显著提升了整体推理效率。

流水线并行。LLM训练中广泛的流水线并行研究主要关注通信延迟优化【【索引编号36,Weipipe: Weight pipeline parallelism for communication-effective long-context large model training,2025,PPoPP】】、内存平衡【【索引编号37,Adapipe: Optimizing pipeline parallelism with adaptive recomputation and partitioning,2024,ASPLOS】,【索引编号38,Hanayo: Harnessing wave-like pipeline parallelism for enhanced large model training efficiency,2023,SC】,【索引编号39,Bpipe: Memory-balanced pipeline parallelism for training large language models,2023,ICML】】、流水线气泡缓解【【索引编号38,Hanayo: Harnessing wave-like pipeline parallelism for enhanced large model training efficiency,2023,SC】,【索引编号40,Zero bubble (almost) pipeline parallelism,2024,ICLR】,【索引编号41,Balancing pipeline parallelism with vocabulary parallelism,2024,CoRR】,【索引编号42,Skywork-moe: A deep dive into training techniques for mixture-of-experts language models,2024,CoRR】】和激活检查点【【索引编号37,Adapipe: Optimizing pipeline parallelism with adaptive recomputation and partitioning,2024,ASPLOS】,【索引编号43,Mario: Near zero-cost activation checkpointing in pipeline parallelism,2025,PPoPP】】。一些研究也识别出阶段间不平衡问题,如Skywork-MoE【【索引编号42,Skywork-moe: A deep dive into training techniques for mixture-of-experts language models,2024,CoRR】】和Megatron-LM【【索引编号44,Efficient largescale language model training on GPU clusters using megatron-lm,2021,SC】】采用静态层重分配来缓解此问题。然而,这类静态策略在模型服务中典型的动态工作负载条件下效果较差。此外,【【索引编号41,Balancing pipeline parallelism with vocabulary parallelism,2024,CoRR】】提出了一种为训练场景设计的词汇表并行方法,以缓解训练中采样开销引起的气泡。但将其直接应用于推理需要更严格的同步,这会显著增加系统设计复杂度和同步开销,使其不适合高效的服务部署。在LLM服务中,一些研究【【索引编号19,SARATHI: efficient LLM inference by piggybacking decodes with chunked prefills,2023,CoRR】,【索引编号18,gllm: Global balanced pipeline parallelism system for distributed llm serving with token throttling,22025】,【索引编号26,TD-pipe: Temporallydisaggregated pipeline parallelism architecture for high-throughput LLM inference,2025,CoRR】】通过调整微批量大小和平衡工作负载来探索流水线并行以减少气泡。然而,这些方法未完全解决由不均匀采样开销引起的阶段间不平衡。DynaPipe通过根据实时工作负载条件动态调整层分布,仅在发生显著变化时触发重分配,补充了这些工作。这种设计保持了相对较低的通信开销,并显著提高了推理服务的整体效率。

6 局限性与未来工作

设计权衡。本文的工作采用了审慎的设计权衡以提高整体系统性能。尽管优化后的运行时KV缓存迁移仍会产生一些通信开销,但这仅导致轻微的局部性能波动,而整体系统性能仍然得到改善。此外,为了支持未来潜在的层重新分配,必须预留额外的GPU内存用于存储传入的权重,这降低了内存利用效率。

未来工作。为了解决这些问题,未来的工作可以结合压缩技术来减少传输开销,并利用卸载机制来最小化内存浪费,从而提高整体系统性能。此外,将词汇表并行【【索引编号41,Balancing pipeline parallelism with vocabulary parallelism,2024,CoRR】】集成到推理流水线中也是一个有前景的未来探索方向。

A5 结论

本文研究了一个重要但未被充分探讨的问题:由采样操作引起的流水线阶段间气泡问题。我们提出了DynaPipe,一个新颖的运行时动态层重分配方案,以有效应对这一挑战。通过动态调整各层的计算负载,DynaPipe实现了流水线阶段间的任务均衡分布,有效对齐了流水线并缓解了阶段间的不平衡。与最先进的流水线推理框架相比,DynaPipe带来了显著的性能提升。

A6 附录

A 在其他模型上的性能评估

实验结果。如图9所示,DynaPipe在MoE和稠密LLM模型上均一致优于基线。实验在配备四块NVIDIA A100 40GB GPU的单节点上进行。结果表明,在流水线并行下,由采样开销引起的阶段间负载不平衡是一个普遍存在的问题,无论底层模型架构如何。通过动态检测和适应这种不平衡,DynaPipe有效地加速了不同模型的推理过程。这进一步证明了所提方法在广泛的模型场景中具有很强的通用性和可扩展性。

图9:在MoE和稠密LLM模型上的性能比较。DynaPipe在所有工作负载的平均延迟和SLO合规性方面均持续优于基线。
图9:在MoE和稠密LLM模型上的性能比较。DynaPipe在所有工作负载的平均延迟和SLO合规性方面均持续优于基线。

B 系统开销分析

迁移开销分析。在我们的系统中,动态层重分配不可避免地会引入一定的KV缓存迁移开销。由于KV缓存是以层为粒度进行传输的,在PCIe互连条件下,每次迁移的通信成本相对固定。同时,模型前向计算的主要延迟与批处理大小强相关:当批处理较大时,我们将KV缓存迁移与部分前向计算重叠,有效地隐藏了大部分通信延迟;当批处理较小时,尽管重叠不那么完全,但单层迁移的额外延迟仍可保持在100毫秒以内。此外,当部署在NVLINK等高带宽互连环境中时,这种开销可以进一步显著降低。为了减轻频繁迁移造成的干扰,我们在调度策略中引入了窗口阈值机制。系统不会在采样延迟与单层前向计算成本比率的每次微小波动时都触发重分配。相反,信号在一个滑动窗口内累积,只有当累积值超过预定义阈值时才执行重分配。这种设计有效地避免了在决策边界附近的振荡。例如,当采样与前向比率接近“调整2层”和“调整3层”的边界时,该机制可防止在这两种配置之间频繁切换,从而避免了冗余迁移和不必要的成本。此外,在这个边界区域,两种配置之间的性能差异本身就很小。实验结果表明,仅触发5-7次重分配就足以在性能和稳定性之间实现极佳的平衡。

内存开销分析。为了适应运行时潜在的层重分配,我们预先加载了未来可能使用的层的权重,这不可避免地导致了一定程度的GPU内存开销。以Qwen2.5-32B模型为例:在静态分配策略下,每个GPU通常分配16个Transformer层,而在动态重分配后,一些GPU可能需要加载多达19层。对于一块40GB的A100 GPU,这对应于大约7.5%的内存使用增加。尽管这增加了一些内存压力,但由此带来的性能提升是显著的,反映了系统性能与内存资源利用之间的审慎权衡。更重要的是,这种内存开销未来可以进一步优化。通过引入异步权重卸载和加载机制,不在当前计算路径上的层的权重可以临时存储在CPU内存中。当调度器预测到即将发生层重分配时,系统会提前异步地将相应权重预加载到目标GPU上。这种机制使我们能够在保持高性能的同时,显著减轻由动态层重分配引起的内存冗余。

C 性能收益分析

气泡累积效应。在LLM的推理流水线中,采样阶段通常在每个微批次的前向计算后引入额外的处理时间,从而导致流水线气泡。在高并发下,这些气泡会持续累积,并显著增加后续请求的排队延迟。如图1所示,在基线系统中,采样气泡的累积逐渐推迟了后续微批次进入流水线的调度。设单个采样气泡的持续时间为$t_s$。如果完成前$n$个请求的预填充需要$x$个微批次,那么第$(n+1)$个请求在开始执行前必须额外等待至少$xt_s$的时间。此外,在解码期间,每个前向步骤会引入额外的$(PP_{size} - 1)$个采样气泡,进一步增加了整体推理延迟。相比之下,通过层重分配优化,气泡累积可以得到有效缓解,使得新请求能够更快地进入系统,从而减少端到端延迟。

性能优势场景。DynaPipe的性能优势在小模型和高请求率的场景中最为显著。这种现象主要是因为小模型的每步前向计算时间较短,而采样延迟基本保持不变。因此,采样对总延迟的相对贡献增加,从而放大了流水线空闲时间对整体系统性能的影响。