掘金 人工智能 前天 16:38
AIBrix v0.3.0 发布:KVCache 多级卸载、前缀缓存、公平路由与基准测试工具
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

AIBrix v0.3.0版本正式发布,重点解决了LLM推理系统的三大核心挑战:高效多级KV缓存机制、智能流量调度体系以及可复现的评估框架。新版本引入了完全集成的分布式KV缓存卸载系统,通过InfiniStore实现高效内存分层和低开销的跨引擎复用。同时,自适应路由逻辑确保公平、低延迟的流量分发,而模块化的基准测试工具包则提供真实性和灵活性,全面提升AI推理系统的评估能力。此外,新版本还增强了网关、控制平面和安装体验,提升了可观察性和稳定性。

🚀 **高效多级 KV 缓存卸载系统**: AIBrix v0.3.0 引入了生产可用的 KV 缓存卸载框架,支持高效的内存分层和低开销的跨引擎复用,通过 AIBrixOffloadingConnector 与 vLLM 集成,利用优化的 CUDA 内核加速 KV 张量传输,并支持可插拔的淘汰策略和灵活的后端,如 InfiniStore 和 HPKV。

🚦 **智能流量调度体系**: 新版本升级了路由逻辑,包括前缀感知路由(Prefix-aware Routing),采用基于哈希 token 的前缀匹配技术,结合负载感知机制以降低延迟;以及公平性导向路由(Fairness-oriented Routing),实现 OSDI’24 VTC 论文方案,引入vtc-basic路由器,采用窗口自适应公平路由算法,确保负载公平性。

🧪 **可复现的评估框架**: AIBrix v0.3.0 引入了完全模块化、生产级的基准测试工具包,支持灵活的数据集生成、真实工作负载模拟和细粒度的性能测量,能够以前所未有的真实性和灵活性评估 AI 推理系统。

✨ **多项功能增强**: AIBrix v0.3.0 还包含多项生产级改进,全面提升全栈稳定性、可扩展性和运维可见性,包括网关增强(支持 OpenAI 兼容 API)、控制平面优化(支持 Deepseek 模型,增加 scale 子资源并支持 HPA)以及安装体验改进(新增 GCP 和 Kubernetes 部署的 Terraform 模块)。

AIBrix 项目作为大模型推理的可扩展且高性价比的技术方案,项目于 2025 年 2 月 21 日正式开源,并通过 vLLM 官方博客官宣 ,为 vLLM 推理引擎提供可扩展且高性价比的控制面。开源 72 小时内,AIBrix 收获的 GitHub Star 数已超 1K, 96 小时突破 2K,开源一周左右,AIBrix 保持在 GitHub trending 榜第一的位置。目前 GitHub Star 已超过 3.6K,贡献者接近 50 人。

2025 年 5 月 21 日,AIBrix 发布 0.3.0 版本,本文是官方博客文章“AIBrix v0.3.0 Release: KVCache Offloading, Prefix Cache, Fairness Routing, and Benchmarking Tools”的中文翻译

本次版本更新重点解决 LLM 推理系统的三大核心挑战:

    高效多级 KV 缓存机制, 实现跨推理引擎的 token 级复用

    智能流量调度体系, 确保公平、低延迟的流量分发

    可复现的评估框架, 基于真实工作负载轨迹的测试框架

我们引入了完全集成的分布式 KV 缓存卸载系统、自适应路由逻辑和基准测试框架。控制平面和数据平面均已重构,以满足生产就绪性和可扩展性要求。


    最新功能

    多层 KV 缓存卸载系统

在 AIBrix v0.2.0 版本中,我们首次通过集成 Vineyard 并对 vLLM 进行实验性修改,引入了分布式 KV 缓存功能。这一早期设计旨在解决 LLM 推理中的关键瓶颈:随着模型规模和上下文长度的增长,KV 缓存对 GPU 内存的占用日益增加,严重限制了系统可扩展性。然而 v0.2.0 存在显著局限——vLLM 的 KVConnector 接口刚被合并到上游代码库,我们尚未有机会充分利用该接口,也未能构建专为 LLM 工作负载优化的缓存服务器。与此同时,Dynamo、MoonCake 和 LMCache 等系统探索了将 KV 缓存卸载到 CPU、SSD 或远程内存的方案,但它们的分层设计仍不完善或存在限制:Dynamo 缺乏完整实现,其他解决方案采用低效的淘汰策略,内存分配效率无法满足需求等。

AIBrix v0.3.0 弥补了这些缺陷,推出了生产可用的 KV 缓存卸载框架,支持高效的内存分层和低开销的跨引擎复用。默认情况下,该框架采用基于 DRAM 的 L1 缓存,通过最小化延迟影响来减轻 GPU 内存压力,已能提供显著的性能提升。对于需要多节点共享或大规模复用的场景,用户可选择性启用 L2 远程缓存,解锁分布式 KV 缓存层的优势。本次发布还首次引入了 InfiniStore(github.com/bytedance/i…) —— 由字节跳动开发的高性能基于 RDMA 的 KV 缓存服务器, 专为 LLM 推理工作负载的大规模、低延迟、多层 KV 缓存需求而构建。

在数据平面,AIBrix 通过 AIBrixOffloadingConnector(AIBrix 卸载连接器) 直接与 vLLM 集成——这是一个专为 GPU 与 CPU 间高效数据传输设计的高性能桥梁。该连接器采用优化的 CUDA 内核来加速 KV 张量传输,最大限度减少关键推理路径上的开销。为了突破 GPU 内存限制,卸载框架配备了多层缓存管理器,能够动态地将 KV 数据分布在包括 DRAM 和 RDMA 互连后端在内的存储层级中。这使得系统能够在不牺牲批处理规模或延迟的情况下处理大型会话和长提示词。AIBrix KV 缓存连接器支持可插拔的淘汰策略(如 LRU、S3FIFO)和灵活的后端(如 InfiniStore, HPKV),以适应不同的工作负载模式和硬件环境。

此外,我们还重构了现有的 KVCache CRD 以支持 InfiniStore 等新后端,从而提供更广泛的兼容性和部署灵活性。AIBrix 现在利用通过一致性哈希环组织的多个缓存服务器,使推理引擎能够无缝与分布式 KV 节点通信。这一特性与内置的缓存放置模块及全局集群管理器的协调相结合,实现了跨引擎的 KV 重用——将原先孤立的缓存转变为统一共享的 KV 基础设施。

该架构不仅提高了 token 复用率和系统吞吐量,还降低了 GPU 内存压力,使得大规模可靠部署大型模型变得更加容易。以下是我们进行的基准测试结果。我们的基准测试涵盖两种场景:

对于场景 1,我们基于从内部生产系统观察到的实际使用模式构建了两个工作负载(即 Workload-1 和 Workload-2)。这两个工作负载保持相同的共享特性但具有不同的规模。Workload-1 中的所有独特请求都可以放入 GPU KV 缓存,而 Workload-2 将独特请求的内存占用扩大到 8 倍,模拟缓存争用严重的容量受限用例。请注意,工作负载生成配置和复现这些基准测试的步骤将很快在 AIBrix 代码库中发布。

图 1 和表 1 展示了所有系统(Cache-X 是社区中另一个 KV 缓存卸载系统)在 Workload-1 下的性能结果。与其他系统相比,AIBrix 显示出更优的 TTFT(首 token 时间)性能,特别是在 QPS 增加的情况下。AIBrix L1 和 AIBrix + InfiniStore 在所有负载级别下都能实现亚秒级的 P99 TTFT。对于 Workload-2,如图 2 和表 2 所示,由于 InfiniStore 的低延迟访问和大容量特性,AIBrix + InfiniStore 在所有负载条件下都继续保持数量级优势的 TTFT 表现。

图 1: 不同 QPS 下的平均首 token 时延(秒)- Workload-1

注意: vLLM 基线不包括在此图表中,因为其性能明显差于其他系统,导致在此规模下难以区分它们的曲线。

表 1:点击展开工作负载 1 的 TTFT 表

vLLM v0.8.5 基线vLLM v0.8.5 前缀缓存vLLM + Cache-X V0vLLM + Cache-X V1vLLM + AIBrix L1vLLM + AIBrix + InfiniStore
QPS平均值P99平均值P99平均值P99
0.30.390.760.121.080.060.36
0.80.461.270.120.670.070.66
1.30.582.050.171.770.090.92
1.80.884.220.223.470.111.43
2.31.728.490.242.650.131.85
2.8103.29167.260.354.930.172.55
3.3127.952200.394.990.284.7
3.8141.63246.220.657.630.3812.79
4.3216.44384.61.3217.950.5317.08
vLLM v0.8.5 基线vLLM v0.8.5 前缀缓存vLLM + Cache-X V0vLLM + Cache-X V1vLLM + AIBrix L1vLLM + AIBrix + InfiniStore
QPS平均值P99平均值P99平均值P99
0.30.390.760.121.080.060.36
0.80.461.270.120.670.070.66
1.30.582.050.171.770.090.92
1.80.884.220.223.470.111.43
2.31.728.490.242.650.131.85
2.8103.29167.260.354.930.172.55
3.3127.952200.394.990.284.7
3.8141.63246.220.657.630.3812.79
4.3216.44384.61.3217.950.5317.08

图 2: 不同 QPS 下的平均首 token 时延(秒)- Workload-2

表 2:点击展开工作负载 2 的 TTFT 表

vLLM v0.8.5 基线vLLM v0.8.5 前缀缓存vLLM + Cache-X V0vLLM + Cache-X V1vLLM + AIBrix L1vLLM + AIBrix + InfiniStore
QPS平均值P99平均值P99平均值P99
0.30.411.010.210.590.351.06
0.80.594.750.281.210.53.22
1.30.9419.020.4380.8316.02
1.81.9828.020.7816.081.3421.79
2.37.4443.671.3623.282.2830.33
2.8119.9235.082.9432.648.0643.87
3.3230.34406.1430.2953.4394.53183.23
3.8275.73429.01112.45210.21177.45332.48
4.3296.89429.4169.14279.82219.18361.5
vLLM v0.8.5 基线vLLM v0.8.5 前缀缓存vLLM + Cache-X V0vLLM + Cache-X V1vLLM + AIBrix L1vLLM + AIBrix + InfiniStore
QPS平均值P99平均值P99平均值P99
0.30.411.010.210.590.351.06
0.80.594.750.281.210.53.22
1.30.9419.020.4380.8316.02
1.81.9828.020.7816.081.3421.79
2.37.4443.671.3623.282.2830.33
2.8119.9235.082.9432.648.0643.87
3.3230.34406.1430.2953.4394.53183.23
3.8275.73429.01112.45210.21177.45332.48
4.3296.89429.4169.14279.82219.18361.5

针对场景二,我们构建了一个理论消耗 8 倍 GPU KV 缓存容量的工作负载(即 Workload-3),用以展示 KV 缓存卸载技术在多轮对话应用中的优势。如表 3 所示,性能对比凸显了以下关键发现:

    Cache-X V1 版本因实现 I/O 与计算的重叠执行,减少了流水线中的空闲时间("气泡"),其性能优于 V0 版本;

    在 AIBrix 方案与 Cache-X 的对比中:

      AIBrix L1 达到与 Cache-X V0 相当的基准性能AIBrix + InfiniStore 凭借更大容量,在所有 QPS 级别均保持最低延迟

    AIBrix KVCache 即将在 v0.4.0 版本中支持 vLLM V1 的 KV 连接器,通过进一步压缩 I/O 与计算间的"气泡"时间,实现更优的能效表现。

图 3: 不同 QPS 下的平均首 token 时延(秒)- Workload-3

表 3:点击展开工作负载 3 的 TTFT 表

vLLM v0.8.5 基线vLLM v0.8.5 前缀缓存vLLM + Cache-X V0vLLM + Cache-X V1vLLM + AIBrix L1vLLM + AIBrix + InfiniStore
QPS平均值P99平均值P99平均值P99
0.31.658.90.452.920.653.24
0.89.6159.261.229.081.259.25
1.318.5859.296.0141.293.0117.55
1.842.88106.8519.8781.114.6640.06
2.341.55109.5631.1482.1926.8354.34
2.841.3498.4434.1587.3126.657.26
3.342.8396.5929.5684.4427.4856.35
3.843.77109.1232.1690.0826.3357.08
4.342.9593.3824.7877.9226.7655.2
vLLM v0.8.5 基线vLLM v0.8.5 前缀缓存vLLM + Cache-X V0vLLM + Cache-X V1vLLM + AIBrix L1vLLM + AIBrix + InfiniStore
QPS平均值P99平均值P99平均值P99
0.31.658.90.452.920.653.24
0.89.6159.261.229.081.259.25
1.318.5859.296.0141.293.0117.55
1.842.88106.8519.8781.114.6640.06
2.341.55109.5631.1482.1926.8354.34
2.841.3498.4434.1587.3126.657.26
3.342.8396.5929.5684.4427.4856.35
3.843.77109.1232.1690.0826.3357.08
4.342.9593.3824.7877.9226.7655.2

    增强的路由功能

此版本通过智能、自适应的 LLM 服务策略升级了路由逻辑:

    前缀缓存路由

vLLM 等推理引擎提供的前缀缓存功能,可将现有查询的 KV 缓存保存,使新查询若与任一现有查询共享相同前缀时,可直接复用 KV 缓存,从而跳过共享部分的重复计算。为利用此特性,AIBrix 网关引入了前缀缓存感知的路由机制。主要设计如下:

    基于 Preble 论文的前缀缓存路由实现

Preble 是一种前缀缓存路由策略,专为高效处理具有部分共享前缀的长提示词(long prompt)而设计,可协同优化 KV 缓存复用和计算负载均衡。其核心思想是:当提示词共享前缀时,跨请求缓存和复用已计算的 KV 状态能显著提升性能,但需与系统负载相平衡。具体运作逻辑为:若共享前缀长于提示词的独特后缀,则将请求路由至已缓存最长匹配前缀的 GPU;否则路由至其他 GPU 以平衡负载。

负载均衡方面,当共享前缀部分小于可配置阈值(如 50%)时,会为每个 GPU 计算"提示词感知负载成本",该成本包含三个维度(均以 GPU 计算时间为单位):

    历史计算负载:通过时间窗口捕获各 GPU 近期处理活动,反映基准利用率淘汰成本:评估需要内存时移除缓存 KV 状态的代价,按缓存命中率加权以保护高频使用前缀处理成本:估算新请求在各 GPU 上的处理开销(重点关注非缓存 token 的预填充时间)

通过综合这三项成本(L+M+P),Preble 将请求分配给总成本最低的 GPU,在即时处理效率与集群长期性能间取得平衡。AIBrix 的 Preble 实现基于原始代码。启用方式为添加请求头:"routing-strategy": "prefix-cache-preble"(当前为实验性功能)。

不同前缀缓存与负载感知路由策略的基准测试结果

    公平导向路由

虚拟 Token 计数器(VTC)是基于论文《Fairness in Serving Large Language Models》(Sheng 等)的 LLM 服务公平调度算法,通过追踪各客户端已获得的加权 token 服务量,优先服务获得较少服务的客户端以实现公平性。虽然原论文实现针对批处理推理环境,但本次发布的简化版 vtc-basic 更适配 AIBrix 分布式云原生环境的非批处理请求。

vtc-basic 路由器实现窗口自适应公平路由算法,采用窗口化自适应钳位线性方法确保用户间负载公平,包含四个关键组件:

    滑动窗口:在可配置时间段内追踪 token 使用量

    自适应分桶:根据观测到的 token 模式动态调整分桶大小

    钳位 token 值:防止过度敏感和抖动

    token 与 Pod 分配的线性映射

通过这些组件,路由器创建混合评分系统,平衡基于标准化用户 token 计数的公平性和基于当前 Pod 负载的利用率,选择综合分数最低的 Pod,确保资源分配公平性和系统利用率。可通过环境变量配置路由器的默认值。启用方式为添加请求头:"routing-strategy": "vtc-basic"(当前为实验性功能)。

    合成基准测试与负载生成框架

现代 LLM 部署面临着不可预测的工作负载、波动的用户会话以及各种各样的提示/生成模式。为了满足这些需求,AIBrix v0.3.0 引入了一个完全模块化、生产级的基准测试工具包,旨在以前所未有的真实性和灵活性评估 AI 推理系统。

AIBrix 基准测试框架的核心是围绕一个清晰解耦的架构构建的:数据集生成、工作负载塑形和基准测试执行。每个组件均可独立定制,便于接入自定义的提示日志、流量轨迹或实验性工作负载——无论是用于新模型部署、扩缩容策略还是运行时优化。

灵活的数据集生成: AIBrix 支持各种数据集格式——从简单的提示列表到多轮、会话式对话。无论您是生成用于压力测试的综合数据还是转换真实的客户端日志,该工具包都提供四种灵活的模式:

每种数据集类型都能无缝接入工作负载生成器,使您能快速迭代提示结构或会话行为。

模拟真实工作负载: 与许多综合或固定模式工具不同,AIBrix 在构建时考虑了真实的推理行为。您可以:

从稳态基线到高突发或多会话模拟,AIBrix 让您能够复现生产流量的复杂现实。

执行、测量和调整: 基准测试客户端支持流式和非流式 API,收集细粒度的延迟指标,例如首 token 时延 (TTFT) 和单输出 token 时间(TPOT)。无论是研究路由行为、KV 缓存后端还是自动扩缩容指标,AIBrix 都能提供将洞察直接转化为生产改进所需的测量工具和灵活性。

    现有功能增强

除 KV 缓存卸载、智能路由和基准测试等核心新功能外,AIBrix v0.3.0 还包含多项生产级改进,全面提升全栈稳定性、可扩展性和运维可见性。

    网关增强

    控制平面

    安装体验

    可观察性和稳定性

    错误修复

本次版本包含 40 余项缺陷修复,重点提升系统健壮性、正确性和生产就绪度。关键修复包括:

    贡献者和社区

v0.3.0 是我们迄今为止协作最紧密的版本,共有 35 位贡献者在控制平面、数据平面、文档和开发者工具等方面做出了多样化改进。

特别感谢以下核心贡献者

欢迎首次贡献的新成员: @gaocegege, @eltociear, @terrytangyuan, @jolfr, @Abirdcfly, @pierDipi, @Xunzhuo, @zjd0112, @SongGuyang, @vaaandark, @vie-serendipity, @nurali-techie, @legendtkl, @ronaldosaheki, @nadongjun, @cr7258, @thomasjpfan, @runzhen, @my-git9, @googs1025, @Iceber, @ModiIntel, @Venkat2811, @SuperMohit, @weapons97, @zhixian82

感谢所有贡献者的宝贵付出与反馈,期待更多参与!

5. 后续规划

我们正持续演进 AIBrix 以支持更先进、生产就绪的 LLM 服务能力。v0.4.0 及后续版本的路线图包括:

    预填充与解码分离

      支持跨设备/节点分离预填充和解码阶段最大化吞吐量与资源利用率

    KV 缓存卸载框架升级

      适配 vLLM v1 架构支持逐层流水线 KV 传输(相比 v0 设计降低延迟、提升并行度)

    多租户与隔离

      将租户作为一级概念引入支持租户级模型隔离、请求隔离和细粒度 SLO 控制

    批处理推理与请求共置

      优化跨异构 GPU 类型的请求路由

      提升混合负载场景下的成本效益

敬请期待 v0.4.0 路线图详情!若您有意贡献新功能或参与方向讨论,欢迎随时联系。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

AIBrix vLLM KV缓存 LLM推理 流量调度
相关文章