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

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工作负载,降低成本和控制复杂度。

相关文章:

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

在生成式AI&#xff08;GenAI&#xff09;浪潮中&#xff0c;高效、经济地部署和扩展大型语言模型&#xff08;LLM&#xff09;推理服务是企业面临的核心挑战。传统基于Kubernetes的横向扩展&#xff08;Scale-out&#xff09;和负载均衡策略在处理独特的LLM推理工作负载时往往…...

前端没有“秦始皇“,但可以做跨端的王[特殊字符]

前端各领域的 “百家争鸣” 框架之争&#xff1a;有 React、Vue、Angular 等多种框架。它们各有优缺点&#xff0c;开发者之间还存在鄙视链&#xff0c;比如 Vue 嫌 React 难用&#xff0c;React 嫌 Vue 不够灵活。样式处理&#xff1a; CSS 预处理器&#xff1a;像 Sass、Les…...

Flutter如何支持原生View

在 Flutter 中集成原生 View&#xff08;如 Android 的 SurfaceView、iOS 的 WKWebView&#xff09;是通过 平台视图&#xff08;Platform View&#xff09; 实现的。这一机制允许在 Flutter UI 中嵌入原生组件&#xff0c;解决了某些场景下 Flutter 自身渲染能力的不足&#x…...

mongodb源码分析session异步接受asyncSourceMessage()客户端流变Message对象

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制&#xff0c;ASIOSession和connection是循环接受客户端命令&#xff0c;状态转变流程是&#xff1a;State::Created 》 State::Source 》State::…...

【数据分析】什么是鲁棒性?

引言 —— 为什么我们需要“抗折腾”的系统&#xff1f; 当你乘坐的飞机穿越雷暴区时机体剧烈颠簸&#xff0c;自动驾驶汽车在暴雨中稳稳避开障碍物&#xff0c;或是手机从口袋摔落后依然流畅运行——这些场景背后&#xff0c;都藏着一个工程领域的“隐形守护者”&#xff1a;…...

适老化场景重构:现代家政老年照护虚拟仿真实训室建设方案​

随着老龄化社会的深度发展&#xff0c;老年照护服务的专业化需求对人才培养提出了更高要求。 凯禾瑞华以现代家政管理理念为核心&#xff0c;推出老年照护虚拟仿真实训室建设方案&#xff0c;通过虚拟仿真技术重构适老化生活场景&#xff0c;融合数字课程、产教融合及搭载智能…...

Qt/C++学习系列之QGroupBox控件的简单使用

Qt/C学习系列之QGroupBox控件的简单使用 前言样式使用代码层面初始化控件事件过滤器点击事件处理 总结 前言 最近在练手一个项目&#xff0c;项目中有不同功能的划分&#xff0c;为了功能分区一目了然&#xff0c;我使用到QGroupBox控件&#xff0c;也是在界面排版布局中最常用…...

Ubuntu设置之初始化

安装SSH服务 # 安装 OpenSSH Server sudo apt update sudo apt install -y openssh-server# 检查 SSH 服务状态 sudo systemctl status ssh # Active: active (running) since Sat 2025-05-31 17:13:07 CST; 6s ago# 重启服务 sudo systemctl restart ssh自定义分辨率 新…...

如何轻松地将数据从 iPhone传输到iPhone 16

对升级到 iPhone 16 感到兴奋吗&#xff1f;恭喜&#xff01;然而&#xff0c;除了兴奋之外&#xff0c;学习如何将数据从 iPhone 传输到 iPhone 16 也很重要。毕竟&#xff0c;那些重要的联系人、笔记等都是不可或缺的。为了实现轻松的iPhone 到 iPhone 传输&#xff0c;我们总…...

开源供应链攻击持续发酵,多个软件包仓库惊现恶意组件

近期在npm、Python和Ruby软件包仓库中相继发现多组恶意组件&#xff0c;这些组件能够清空加密货币钱包资金、安装后删除整个代码库并窃取Telegram API令牌&#xff0c;再次印证了开源生态系统中潜伏的多样化供应链威胁。 多平台恶意组件集中曝光 Checkmarx、ReversingLabs、S…...

Docker Compose 备忘

1。docker-compose.yml services:air-web:build: .ports:- "1027:1027"volumes:- .:/codedepends_on:- air-redisair-redis:image: "redis:alpine" 2. DockerfileFROM python:3.12-slim-bookworm #设置工作目录 WORKDIR /code #将当前目录内容拷贝到容器…...

量子计算+AI:特征选择与神经网络优化创新应用

在由玻色量子协办的第二届APMCM“五岳杯”量子计算挑战赛中&#xff0c;来自北京理工大学的Q-Masterminds团队摘取了银奖。该团队由北京理工大学张玉利教授指导&#xff0c;依托玻色量子550计算量子比特的相干光量子计算机&#xff0c;将量子计算技术集成到特征选择和神经网络剪…...

算法分析与设计-动态规划、贪心算法

目录 第三章——动态规划 第四章——贪心算法 第三章——动态规划 /*【问题描述】 使用动态规划算法解矩阵连乘问题&#xff0c;具体来说就是&#xff0c;依据其递归式自底向上的方式进行计算&#xff0c;在计算过程中&#xff0c;保存子问题答案&#xff0c;每个子问题只解…...

光伏功率预测新突破:TCN-ECANet-GRU混合模型详解与复现

研究背景 ​背景与挑战​ 光伏发电受天气非线性影响,传统方法(统计模型、机器学习)难以处理高维时序数据,预测误差大。​创新模型提出​ 融合时序卷积网络(TCN)、高效通道注意力(ECANet)和门控循环单元(GRU)的混合架构。​方法论细节​ TCN:膨胀因果卷积提取长时序特…...

React组件基础

组件是什么&#xff1f; 概念&#xff1a;一个组件就是用户界面的一部分&#xff0c;它可以有自己的逻辑和外观&#xff0c;组件之间可以相互嵌套&#xff0c;也可以多次复用 组件化开发&#xff0c;可以让开发者像搭积木一样构建一个完整庞大的应用 react组件 在react中&a…...

2025年5月24日系统架构设计师考试题目回顾

当前仅仅是个人用于记录&#xff0c;还未做详细分析&#xff0c;待更新… 综合知识 设 x,y 满足约束条件&#xff1a;x-1>0, x-y<0, x-y-x<0, 则 y/x 的最大值是()。 A. 3 B. 2 C. 4 D. 1 申请软件著作权登记时应当向中国版本保护中心提交软件的鉴别材料&#xff…...

ABP 框架集成 EasyAbp.Abp.GraphQL 构建高性能 GraphQL API

&#x1f680; ABP 框架集成 EasyAbp.Abp.GraphQL 构建高性能 GraphQL API &#x1f4da; 目录 &#x1f680; ABP 框架集成 EasyAbp.Abp.GraphQL 构建高性能 GraphQL API&#x1f9ed; 背景与目标&#x1f6e0; 安装与依赖&#x1f4e6; 模块注册与启动MyProjectHttpApiHostMo…...

C# 用户控件(User Control)详解:创建、使用与最佳实践

在C#应用程序开发中&#xff0c;用户控件&#xff08;User Control&#xff09;是一种强大的工具&#xff0c;它允许开发者将多个标准控件组合成一个可复用的自定义组件。无论是Windows Forms还是WPF&#xff0c;用户控件都能显著提高UI开发的效率&#xff0c;减少重复代码&…...

OpenWrt 搭建 samba 服务器的方法并解决 Windows 不允许访问匿名服务器(0x80004005的错误)的方法

文章目录 一、安装所需要的软件二、配置自动挂载三、配置 Samba 服务器四、配置 Samba 访问用户和密码&#xff08;可选&#xff09;新建 Samba 专门的用户添加无密码的 Samba 账户使用root账户 五、解决 Windows 无法匿名访问Samba方案一 配置无密码的Samba账户并启用匿名访问…...

【 Redis | 完结篇 缓存优化 】

前言&#xff1a;本节包含常见redis缓存问题&#xff0c;包含缓存一致性问题&#xff0c;缓存雪崩&#xff0c;缓存穿透&#xff0c;缓存击穿问题及其解决方案 1. 缓存一致性 我们先看下目前企业用的最多的缓存模型。缓存的通用模型有三种&#xff1a; 缓存模型解释Cache Asi…...

AI数据集构建:从爬虫到标注的全流程指南

AI数据集构建&#xff1a;从爬虫到标注的全流程指南 系统化学习人工智能网站&#xff08;收藏&#xff09;&#xff1a;https://www.captainbed.cn/flu 文章目录 AI数据集构建&#xff1a;从爬虫到标注的全流程指南摘要引言流程图&#xff1a;数据集构建全生命周期一、数据采…...

Android 颜色百分比对照

本文就是简单写个demo,打印下颜色百分比的数值.方便以后使用. 1: 获取透明色 具体的代码如下: /*** 获取透明色* param percent* param red* param green* param blue* return*/public static int getTransparentColor(int percent, int red, int green, int blue) {int alp…...

AI破局:饿了么如何搅动即时零售江湖

最近&#xff0c;即时零售赛道打的火热&#xff0c;对我们的生活也产生了不少的影响。 美女同事小张就没少吐槽“他们咋样了我不知道&#xff0c;奶茶那么便宜&#xff0c;胖了五六斤不说&#xff0c;钱包也空了&#xff0c;在淘宝买奶茶的时候&#xff0c;换了个手机还买了不少…...

04 APP 自动化- Appium toast 元素定位列表滑动

文章目录 一、toast 元素的定位二、滑屏操作 一、toast 元素的定位 toast 元素就是简易的消息提示框&#xff0c;toast 显示窗口显示的时间有限&#xff0c;一般3秒左右 # -*- codingutf-8 -*- from time import sleep from appium import webdriver from appium.options.an…...

判断它是否引用了外部库

在一个 C# 项目中&#xff0c;要系统性地判断它是否引用了外部库&#xff08;包括 NuGet 包、引用的 DLL、项目间依赖等&#xff09;&#xff0c;你应从以下几个关键维度入手进行检查和分析&#xff1a; 1. 检查 .csproj 项目文件 C# 项目使用 .csproj 文件&#xff08;MSBuil…...

物流项目第十期(轨迹微服务)

本项目专栏&#xff1a; 物流项目_Auc23的博客-CSDN博客 建议先看这期&#xff1a; MongoDB入门之Java的使用-CSDN博客 物流项目第九期&#xff08;MongoDB的应用之作业范围&#xff09;-CSDN博客 业务需求 快递员取件成功后&#xff0c;需要将订单转成运单&#xff0c;用…...

Python 入门到进阶全指南:从语言特性到实战项目

一、Python 简介 Python 是一种高级、跨平台、解释型编程语言&#xff0c;以简洁语法和高可读性著称&#xff0c;既适合编程初学者快速入门&#xff0c;也能满足资深开发者的复杂需求。其核心特性与应用场景如下&#xff1a; 核心特性解析 解释型语言&#xff1a;无需编译即可…...

【数据库】关系数据理论--规范化

1.问题的提出 关系模式由五部分组成&#xff0c;是一个五元组&#xff1a; R(U, D, DOM, F) &#xff08;1&#xff09;关系名R是符号化的元组语义 &#xff08;2&#xff09;U为一组属性 &#xff08;3&#xff09;D为属性组U中的属性所来自的域 &#xff08;4&#xff09;DOM…...

SQL 中 JOIN 的执行顺序优化指南

SQL 中 JOIN 的执行顺序优化指南 一、JOIN 执行顺序基础原理 在 SQL 查询中,JOIN的执行顺序是查询优化的重要环节。数据库引擎会根据多种因素决定最优的 JOIN 顺序: 逻辑执行顺序:SQL 语句的书写顺序(如 FROM → WHERE → GROUP BY)并不代表实际执行顺序物理执行顺序:由查…...

Oracle双平面适用场景讨论会议

4月28日&#xff0c;我在杭州组织召开了Oracle双平面会议讨论沙龙。在国产化数据库浪潮的今天&#xff0c;Oracle数据库作为国产数据库的应急库&#xff0c;在国产数据库发生故障或者性能下降时&#xff0c;如何更好的使用Oracle。会议主题如下&#xff1a; 1、背景与痛点速览&…...