当前位置: 首页 > ops >正文

llm-d:面向Kubernetes的高性能分布式LLM推理框架

在生成式AI(GenAI)浪潮中,高效、经济地部署和扩展大型语言模型(LLM)推理服务是企业面临的核心挑战。传统基于Kubernetes的横向扩展(Scale-out)和负载均衡策略在处理独特的LLM推理工作负载时往往力不从心。为此,我们推出了 llm-d —— 一个 Kubernetes原生、高性能的分布式LLM推理框架,旨在为开发者、ML平台团队和IT运维提供一条清晰、高效的规模化服务路径。

为什么需要 llm-d?

LLM推理工作负载与传统应用显著不同:

  1. 请求昂贵且差异大: 输入/输出令牌数量(请求“形状”)差异巨大(如RAG长输入短输出 vs 推理短输入长输出),导致实例间负载严重不均衡,引发级联延迟(ITL)问题。

  2. 多轮请求依赖缓存: 智能体对话、代码补全等场景需要将请求路由到缓存了先前计算(KV Cache)的特定副本,才能实现数量级的延迟优化。

  3. 计算阶段资源需求迥异: 推理分为计算密集型预填充(Prefill)和内存带宽密集型解码(Decode)阶段。将它们耦合在同一实例导致资源利用率低下。

  4. 服务质量(QoS)要求多样: 从毫秒级响应的代码补全到小时级容忍的批处理,不同用例对延迟的容忍度和成本敏感度差异巨大。

标准的Kubernetes副本+轮询负载均衡模式无法有效应对这些挑战,造成资源浪费、成本高昂、延迟难以达标。

llm-d 的核心价值:分布式优化 + Kubernetes 原生

llm-d 创造性地将前沿的分布式推理优化技术与Kubernetes的运维优势相结合:

  • 最快价值实现(Fastest Time-to-Value): 提供开箱即用的高性能分布式解决方案。

  • 极致性价比(Competitive Performance per Dollar): 通过分布式优化,在主流硬件(NVIDIA GPU, Google TPU, AMD, Intel)和模型(如Llama, DeepSeek)上实现更优的令牌产出成本(Token/$)。

  • Kubernetes 原生可运维性(Kubernetes-Native Operationalizability): 深度集成Kubernetes生态,特别是官方项目推理网关(Inference Gateway, IGW),简化部署、管理和扩展。

llm-d 的关键技术创新

llm-d 构建在业界领先的开源技术栈(vLLM, Kubernetes, IGW)之上,并贡献了核心分布式优化能力:

  1. 智能调度器(Optimized Inference Scheduler):

    • KV缓存&前缀感知路由: 基于vLLM增强的遥测数据,智能地将请求路由至拥有相关KV缓存(尤其是共享前缀)的副本,显著提升缓存命中率,降低首令牌延迟(TTFT)。

    • 负载感知: 动态感知实例负载,避免过载。

    • 与IGW深度集成: 通过Endpoint Picker Protocol (EPP)实现可定制化“智能”负载均衡。

  2. 预填充/解码解耦服务(Prefill/Decode (P/D) Disaggregation):

    • 利用vLLM的可插拔KV连接器API,将Prefill和Decode阶段拆分到独立的、专门优化的实例组上运行。

    • 优势: 根据阶段特性独立扩展资源(如为Prefill配置算力强的实例,为Decode配置内存带宽大的实例),大幅提升GPU等硬件的利用率和整体吞吐量。支持高性互联(IB/RDMA)和数据中心网络两种优化路径。

  3. 分布式前缀缓存(Disaggregated Prefix Caching):

    • 同样利用KV连接器API,提供灵活的前缀缓存方案:

      • 独立缓存: 零运维成本,缓存卸载至本地主机内存/磁盘。

      • 共享缓存: 支持在实例间传输KV或使用远程存储/全局索引(如LMCache),潜力提供更高性能(需更高运维复杂度)。

  4. 智能变体自动扩缩(Variant Autoscaling):

    • 基于硬件差异(算力/内存/成本)、工作负载特性(QoS/SLO)和实时流量(QPS/请求形状分布),动态计算并部署最优的实例组合(Prefill/Decode/容忍延迟组)。

    • 为Kubernetes HPA提供精准的负载指标,确保在满足SLO的前提下,按需伸缩,优化成本。

显著性能优势

实验验证了llm-d的效能:

  • 前缀缓存感知路由: 在特定测试中,相比基线,llm-d平均TTFT降低约3倍(S1),或在满足P95 TTFT <=2s SLO下,QPS提升50%(S2)甚至翻倍(S3)。

  • P/D解耦: 初步实现为预填充密集型工作负载(输入输出令牌比20:1)带来显著加速。

目标用户与社区

llm-d 是以下角色的理想选择:

  • GenAI应用开发者: 快速构建高性能、可扩展的推理服务。

  • ML平台工程师: 为团队提供稳定高效的模型服务基础设施。

  • IT运维团队: 在熟悉的Kubernetes环境中管理复杂的LLM工作负载,降低成本和控制复杂度。

http://www.xdnf.cn/news/12113.html

相关文章:

  • react私有样式处理
  • Nuxt.js 入门总结教程
  • 汇编语言综合程序设计:子程序、分支与循环深度解析
  • 灾难恢复演练:数据库备份与恢复的全流程实践
  • [测试_10] Selenium IDE | cssSelector | XPath | 操作测试
  • 9.axios底层原理,和promise的对比(2)
  • BLOB 是用来存“二进制大文件”的字段类型
  • 时间获取函数
  • 制作官网水平导航栏
  • 开源供应链攻击持续发酵,多个软件包仓库惊现恶意组件
  • 捍卫低空安全!-中科固源发现无人机MavLink协议远程内存泄漏漏洞
  • 设计模式(代理设计模式)
  • 墨者学院-密码学实训隐写术第二题
  • 【C++快读快写】
  • nt!CcMapData函数分析之Loop to touch each page触发nt!MmAccessFault函数----NTFS源代码分析之四
  • 中国西部逐日1 km全天候地表温度数据集(TRIMS LST-TP;2000-2024)
  • npm run dev 报错:Error: error:0308010C:digital envelope routines::unsupported
  • UDP:简洁高效的报文结构解析与关键注意事项
  • std::conditional_t一个用法
  • [10-2]MPU6050简介 江协科技学习笔记(22个知识点)
  • MVCC机制:Undo Log版本链与ReadView机制
  • Python Excel 文件处理:openpyxl 与 pandas 库完全指南
  • 使用高斯朴素贝叶斯算法对鸢尾花数据集进行分类
  • 数据库优化实战分享:高频场景下的性能调优技巧与案例解析
  • 结构体指针与非指针 问题及解决
  • To be or Not to be, That‘s a Token——论文阅读笔记——Beyond the 80/20 Rule和R2R
  • centos升级内核
  • LuaJIT2.1 和 Lua5.4.8 性能对比
  • C++网络通信:TCP数据包的发送与接收编程
  • PyCharm中运行.py脚本程序