Skip to main content llm-d Logollm-d LogoWhat is llm-d?User GuideCommunityNews Recent posts

2025

隆重推出 llm-d 社区!

2025年5月20日 · 阅读时长11分钟 Robert Shaw Robert Shaw Director of Engineering, Red Hat Clayton Coleman Clayton Coleman Distinguished Engineer, Google Carlos Costa Carlos Costa Distinguished Engineer, IBM

隆重推出 llm-d 社区

llm-d 是一个 Kubernetes 原生的、高性能的分布式 LLM 推理框架,它为任何希望大规模提供服务的人提供了一条清晰的路径,在大多数硬件加速器上,对于大多数模型来说,它都具有最快的价值实现时间和具有竞争力的每美元性能。

借助 llm-d,用户可以通过模块化、高性能的端到端服务解决方案来运营 gen AI 部署。该解决方案利用最新的分布式推理优化技术,如 KV-cache 感知路由和分离式服务,这些技术与 Kubernetes 操作工具在 Inference Gateway (IGW) 中共同设计和集成。

LLM 推理走向分布式

为什么标准的横向扩展方法效果不佳

Kubernetes 通常使用统一的副本和轮询负载均衡来横向扩展应用程序工作负载。

Figure 1: Deploying a service to multiple vLLM instances

对于具有以下特征的大多数请求模式,这种简单的模式非常有效:

LLM 服务是独特的

然而,LLM 推理工作负载是独特的,因为它具有缓慢、不均匀且昂贵的请求。这意味着典型的横向扩展和负载均衡模式无法达到最佳性能。

Figure 2: Comparison of modern HTTP requests

让我们逐步来看一下:

A. 请求很昂贵,并且在资源利用率方面存在显着差异。

Figure 3: Comparing the RAG pattern and Thinking/Reasoning pattern with prefill and decode stages

B. 路由到具有缓存的先前计算的特定副本可以实现数量级更高的延迟。

The agentic pattern sequence

The prefix aching method

C. 专门化和协调副本以处理单个请求可以提高每个 GPU 的吞吐量。

Disaggregation separates the prefill and decode phases

D. 生产部署通常具有一系列服务质量 (QoS) 要求。

为什么选择 llm-d?

为了利用这些特性并实现 LLM 工作负载的最佳性能,推理服务领域正在迅速过渡到分布式集群规模架构。例如,DeepSeek 团队在其“开源周”中发布了其 推理系统 的设计,该设计积极利用分离和 KV 缓存来实现卓越的每美元计算性能。

然而,对于大多数 GenAI 创新者、ML 平台团队和 IT 运营团队来说,这些优势仍然遥不可及。构建和运营一个复杂的、单体系统既耗时又具有挑战性,尤其是在快速创新和企业部署(为不同的用例提供数十甚至数百个模型)的背景下。这种复杂性会带来上市时间风险、更高的运营成本和蔓延,以及采用和试验的难度。

我们的目标

llm-d 的目标是为任何人 在他们现有的部署框架(Kubernetes) 采用领先的分布式推理优化技术提供一条清晰的路径。

为了实现这一目标,我们为该项目制定了以下设计原则:

架构

为了实现这一目标,我们基于行业标准的开源技术 vLLM、Kubernetes 和 Inference Gateway 设计了 llm-d,它具有模块化和分层架构。

以及我们主要的新贡献:

在 llm-d 中,我们计划支持 prefill/decode (P/D) 分离的两个“清晰”的路径:

* 使用快速互连 (IB, RDMA, ICI) 优化的延迟实现
* 使用数据中心网络优化的吞吐量实现
* 有关更多详细信息,请参阅我们的 Northstar:[[PUBLIC] llm-d Disaggregated Serving Northstar](https://llm-d.ai/blog/<https:/docs.google.com/document/d/1FNN5snmipaTxEA1FGEeSH7Z_kEqskouKD1XYhVyTHr8/edit?tab=t.0#heading=h.ycwld2oth1kj>)

在 llm-d 中,我们计划支持 KV 缓存分离的两个“清晰”的路径:

* 独立缓存,基本卸载到主机内存和磁盘,提供零运营成本机制,利用所有系统资源
* 在实例之间进行 KV 传输和具有全局索引的共享存储的共享缓存,以更高的性能为代价提供可能更高的性能。
* 有关更多详细信息,请参阅我们的 Northstar:[[PUBLIC] llm-d Prefix Caching Northstar](https://llm-d.ai/blog/<https:/docs.google.com/document/d/1d-jKVHpTJ_tkvy6Pfbl3q2FM59NpfnqPAh__Uz_bEZ8/edit?tab=t.0#heading=h.6qazyl873259>)

借鉴来自最终用户和像 AIBrix 这样的 OSS 合作者的丰富经验,我们计划实施一个流量和硬件感知的自动缩放器,该缩放器:

* 测量每个模型服务器实例的容量
* 派生一个考虑不同请求形状和 QoS 的负载函数
* 使用最近的流量组合 - QPS(每秒查询数)、QoS 和形状分布 - 计算处理预填充、解码和延迟容忍请求的最佳实例组合,并使用分组标记每个实例
* 报告每个分组的负载指标,允许 Kubernetes 水平 Pod 自动缩放将正在使用的硬件与所需的硬件相匹配,而不会违反 SLO
* 有关更多详细信息,请参阅我们的 Northstar:[[PUBLIC] llm-d Autoscaling Northstar](https://llm-d.ai/blog/<https:/docs.google.com/document/d/1inTneLEZTv3rDEBB9KLOB9K6oMq8c3jkogARJqdt_58/edit?tab=t.0>)

llm-d 功能示例

llm-d 集成了 IGW 和 vLLM,从而实现了一个高性能的分布式服务堆栈。让我们讨论一下 llm-d 启用的一些示例功能。

前缀和 KV 缓存感知路由

IGW 和 vLLM 在 llm-d 中的第一个关键合作是开发前缀缓存感知路由,以补充 IGW 中现有的 KV 缓存利用率感知负载均衡。

我们进行了一系列实验,以评估 llm-d-inference-scheduler 在 2 个 NVIDIA 8xH100 节点上使用前缀感知路由的性能,该实验使用 LMbenchmark,该 LMbenchmark 采用长输入/短输出配置设计,旨在强调 KV 缓存重用和路由决策质量。

Model| Configuration| ISL| OSL| Latency SLO ---|---|---|---|--- S1| LlaMA 4 Scout FP8| TP2, 2 replicas| 20,000| 100| None S2| LlaMA 4 Scout FP8| TP2, 4 replicas| 12,000| 100| P95 TTFT <= 2s S3| Llama 3.1 70B FP16| TP2, 4 replicas| 8,000| 100| P95 TTFT <= 2s

主要观察结果:

这些结果表明,与基线相比,llm-d 的缓存和前缀感知调度有效地减少了 TTFT 并增加了 QPS,同时始终满足 SLA 要求。

在我们的 快速入门 中使用 base.yaml 配置来试用一下。作为自定义示例,请参阅 模板 以添加您自己的调度器过滤器。

P/D 分离

我们已经完成了 vLLM 和 llm-d-inference-scheduler 的 P/D 分离的初始实现,该实现为预填充密集型工作负载(20:1 ISL | OSL)提供了有希望的加速。我们接下来的重点是完成具有异构 TP 的实现,并完成分离式服务的全面基准测试。短期优先级包括启用异构 TP,通过高性能 P/D + EP<>DP 扩展大型 MoE,以及 DP 感知负载均衡。我们将在未来几周内发布一篇详细的性能博客。

在我们的 快速入门 中使用 pd-nixl.yaml 配置来试用一下。

开始使用 llm-d

llm-d 结合了 vLLM 的性能和 Kuberentes 的可操作性,为分布式 LLM 推理创建了一个模块化架构,目标是在最新模型和代理架构上实现高性能。

我们欢迎 AI 工程师和研究人员加入 llm-d 社区并做出贡献:

请加入我们。AI 的未来是开放的。

Tags:

Older postllm-d Press Release

User Guide

Architecture

Community

More

Social