‹ Back to Blog

Blog

在多个旧一代GPU节点上优化长上下文Prefill

December 26, 2025

Authors: Jiyoung Park, Seungman Han, Jangwoong Kim, Jungwook Kim, and Kyungrok Kim

本文档由AI自动翻译。内容可能存在不准确之处,如有需要请参阅英文原文。 查看英文原文

概述

随着AI应用中智能体工作流日益普及,模型必须处理显著更长的上下文长度。 这一转变带来了一个关键挑战:在最大化系统利用率的同时维持服务级别目标(SLO)。 特别是,优化prefill性能对于降低长上下文请求的Time-To-First-Token(TTFT)至关重要。 为此,我们开发了SLO-Driven Prefill Engine(SLOPE)。

SLOPE是一个专用的prefill引擎,它在多节点GPU集群上应用context parallelism 技术(Ulysses + Ring Attention),以实现面向SLO的长上下文输入优化。 现有的LLM引擎在处理长输入提示时,由于prefill计算被限制在单个节点内, 从根本上无法将TTFT降低到某个阈值以下。SLOPE通过在多个节点间并行化prefill计算 来克服这一限制,将TTFT大幅降低到目标SLO阈值以下,同时最大化并发用户请求数量。

SLOPE可以与现有LLM引擎以prefill/decode disaggregation模式集成, 作为专用的prefill worker运行。

Context Parallelism简介

Tensor parallelism(TP)是LLM推理中最广泛使用的并行化技术。 TP将线性层参数分布到各设备上,这将attention heads分配到各设备上, 并需要AllReduce通信。然而,简单地增加TP大小来降低TTFT存在局限性:

  • 低效的GEMM操作:过度的参数分区导致低效的GEMM操作。
  • 冗余计算:当attention heads的数量小于TP大小时,会产生冗余计算。
  • 通信开销:随着TP大小的增加,需要跨节点AllReduce,显著增加通信开销。

Context parallelism沿序列维度对输入提示进行分区。 特别是对于长上下文场景,由于序列维度中可用的大规模并行性, context parallelism比tensor parallelism更高效。 除attention层外,大多数操作都没有token间依赖关系,可以完全独立处理。 Attention层中的token间依赖关系可以通过两种方法来解决:

  • Ulysses:在attention计算之前对query、key和value执行all-to-all通信,沿head维度进行分区以实现独立计算。
  • Ring Attention:在每个设备上使用部分query、key和value执行attention计算,同时向相邻设备发送/接收key和value。

这两种方法具有互补的权衡。在使用Grouped Query Attention(GQA)或 Multi-Head Latent Attention(MLA)时,由于key和value heads数量减少, 应用Ulysses会受到限制。另一方面,Ring Attention比Ulysses引入更大的通信量。 然而,随着序列长度的增加,attention计算变得比例上更加占主导地位, 使得通信可以被attention计算所隐藏。 因此,应根据上下文长度和SLO要求适当地组合使用它们。

当应用context parallelism时,所有设备持有重复的模型参数, 因此与TP相比内存使用量增加。我们通过在context parallelism旁边 应用pipeline parallelism来解决这个问题。

评估

我们在4节点AMD MI250集群(每节点8个设备)上,评估了SLOPE在不同并行化配置 (Ulysses、Ring Attention和Pipeline Parallel的各种组合)下的prefill性能, 并与使用TP=8的SGLang进行了比较。在所有实验中,我们使用openai/gpt-oss-120b 模型来评估prefill性能,并测试了三种上下文长度:32K、64K和100K。

如下表所示,SLOPE在所有上下文长度下都满足非常低的TTFT SLO, 而SGLang满足这些要求的能力则有所不同。

Table 1. Whether different TTFT constraints (1s, 2s, and 3s) are satisfied.
表1. 不同TTFT约束(1秒、2秒和3秒)的满足情况。

图1展示了在各种并行化配置和并发级别下的TTFT和吞吐量测量结果。 结果证实,SLOPE在32K和64K上下文下都实现了低于1秒TTFT的极低延迟SLO。 与使用TP=8的SGLang相比,SLOPE在相同TTFT下实现了更高的吞吐量, 这意味着它可以在满足SLO要求的同时处理更多的并发用户请求。 即使在100K上下文长度下,SLOPE也将TTFT控制在2秒以内, 而使用TP=8的SGLang则被限制在大约9秒。 这表明SLOPE为长上下文LLM推理提供了实用的解决方案。

Figure 1. TTFT and throughput across various parallelization configuration and concurrency combinations.
图1. 各种并行化配置和并发组合下的TTFT和吞吐量。

异构集群中的SLOPE引擎

SLOPE引擎的用途不仅仅是降低长上下文推理的响应延迟和提高token吞吐量。 它还提供了一种高效利用数据中心中已有的旧一代GPU服务器的方法。

一般来说,LLM推理难以在多个节点间并行化,这也是为什么持续推出 更快、更大容量、更昂贵的GPU来处理大规模LLM的原因之一。 然而,借助SLOPE引擎,至少在prefill阶段,多台旧一代GPU服务器 可以聚合起来实现足够低的延迟和高吞吐量。

为了证明这种利用方式是可行的,我们在AMD MI250 GPU集群上评估了SLOPE。 在AMD MI250 GPU(性能相当于NVIDIA A100)与更新的MI300系列GPU共存的系统中, MI250 GPU可以分配给SLOPE,而MI300系列GPU使用传统推理引擎执行decoding, 从而实现更高的整体系统效率。 这些功能将通过MoAI Inference Framework从2026年第一季度开始支持。