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满足这些要求的能力则有所不同。

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

异构集群中的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年第一季度开始支持。