AIBrix v0.5.0 正式发布:实现批量API支持、KVCache v1连接器升级,全面提升P/D架构协同效能

项目地址:github.com/vllm-projec...

今日,我们正式发布 AIBrix v0.5.0。此版本引入与 OpenAI 兼容的批处理 API,专为处理高吞吐、时延不敏感的离线推理与评估任务设计,有效避免对实时端点造成干扰。同时,新版本集成了全新的 KVCache 连接器(AIBrixOffloadingConnectorV1Type3),借助其流水线式预取与分层卸载机制,显著提升 KVCache 卸载与复用的效率。此外,v0.5.0 将 StormService 打造为生产级的控制面,通过 PodSet/PodGroup 原语实现多 Pod 管理,提供拓扑与负载感知的路由能力,并利用 subTargetSelector 实现角色级自动扩缩,从而为 P/D 分离架构提供精细化的资源伸缩。

下面是 v0.5.0 的核心功能概览。

批处理 API

AIBrix 本次更新正式加入对批处理 API 的支持。批处理 API 旨在优化大体量、对延迟不敏感的推理工作负载,是一项强大的新功能。

随着生成式人工智能(GenAI)应用的规模不断扩大,并非每个请求都需要即时响应。像大规模数据集评测、离线内容生成和批量数据处理等任务,常常会使实时服务接口拥堵不堪,导致资源利用效率低下和成本增加。AIBrix 批处理 API 通过允许用户异步提交大量请求来解决这一问题。通过将这些请求以优化过的数量批次处理,相较于标准在线服务,AIBrix 可以显著提高 GPU 利用率和集群整体吞吐量。

主要特性

  • OpenAI 兼容性: 批处理 API 被设计为可直接替代现有工作流,支持标准的 OpenAI 批处理 API(例如,/v1/batches)。
  • 异步处理: 支持"即发即忘"架构。通过 .jsonl 文件提交大量任务后,客户端应用程序可以处理其他任务,并在结果就绪后进行检索。
  • 可配置的作业池: 支持通过可配置的作业池大小微调资源分配,以适应特定的硬件限制和吞吐量目标。
  • 增强的错误处理: 强大的验证和错误报告功能支持请求自动重试,确保您可以追踪大规模批处理中每个单独请求的状态。

快速入门

由于 AIBrix 批处理 API 与 OpenAI 兼容,对于熟悉标准大语言模型工具的人来说,上手操作十分简单。

  1. 准备批处理输入(requests.jsonl):
json 复制代码
{"custom_id": "req-1", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "llama-3-8b", "messages": [{"role": "user", "content": "Hello world!"}]}}
{"custom_id": "req-2", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "llama-3-8b", "messages": [{"role": "user", "content": "Explain batch processing."}]}}
  1. 提交批处理作业(使用指向 AIBrix 的标准 OpenAI 客户端):
ini 复制代码
from openai import OpenAI

client = OpenAI(
    base_url="http://your-aibrix-endpoint/v1",
    api_key="aibrix"
)

# Upload file
batch_file = client.files.create(
  file=open("requests.jsonl", "rb"),
  purpose="batch"
)

# Create batch job
batch_job = client.batches.create(
  input_file_id=batch_file.id,
  endpoint="/v1/chat/completions",
  completion_window="24h"
)

print(f"Batch submitted: {batch_job.id}")

了解更多

如需完整的部署配置和 API 参考,请访问我们的官方文档

KVCache v1 Connector

我们在 v0.4.0 版本中发布的 AIBrix KVCache Connector,经过基准测试与内部实际部署验证,发现了一些重要的可以提升性能的优化机会。为充分挖掘这些优化点以发挥 KVCache 卸载的潜力,我们在 v0.5.0 版本中实现了一系列关键优化,并推出了新的 KVCache Connector9(AIBrixOffloadingConnectorV1Type3)。

核心优化技术包含:

  • 流水线式 KVCache 预取和加载技术

我们通过让预取、加载与计算这三个关键阶段并行执行,以流水线充分重叠的优化方式,不仅大幅减少了空闲等待时间,消除了TPOT(每秒输出 token 数)的延迟损耗,更让系统吞吐性能突破原有瓶颈。

  • 分层式 KVCache 卸载机制

通过将 KVCache 卸载操作与推理各层的前向计算同步进行,有效隐藏了数据传输延迟。使得即使 KVCache 命中率较低时,仍能保持高效推理,确保推理引擎持续满载运转,实现资源利用率最大化。

相较于 v0.4.0 版本的 KVCache Connector(AIBrixOffloadingConnectorV1Type1),在 Llama 3.1 70B 模型(张量并行度=8)的测试中,v0.5.0 版本的这套组合优化方案使 TPOT 与整体吞吐量双双提升超过20%,同时仍保持优异的 TTFT(首 token 时延)。

生产级 P/D 分离编排方案

v0.5.0 版本将 StormService 升级为面向大规模异构 P/D 分离集群的高级控制面。全新推出的 PodGroup API 使 StormService 能够与协同调度生态系统(Coscheduling、Godel、Volcano)无缝集成,将紧耦合的工作节点作为统一调度单元进行编排。结合新设计的 PodSet API,StormService 现已能显式管理多 Pod 工作节点与分片组, 即将其作为逻辑整体统一控制生命周期、拓扑结构与运行状态,同时保持与现有单 Pod 架构的向后兼容性。

此外,v0.5.0 为复杂部署场景提供了更强大的滚动更新与重启语义。新增的 FullRecreate 策略让运维人员能够以原子方式恢复异常 PodSet,避免产生中间状态残留;而角色升级序列功能支持按预设顺序(例如:集群内路由 → 预填充节点 → 解码节点)在不同角色间进行安全有序的变更发布,彻底取代随机更新机制。这套组合方案使得高风险操作(如模式变更、路由调整、运行时升级)变得高度可预测。

yaml 复制代码
spec:
      roles:
        - name: prefill
          replicas: 3
          podGroupSize: 2 # introduce new field to indicate the pod group size. for example DP or TP case.
          stateful: true
          recoveryPolicy: ReplaceUnhealthy # ReplaceUnhealthy or Recreate
          template:
            ...

路由层现已升级至支持这些编排原语。在副本模式和池化模式下,AIBrix 会优先选择同一 RoleSet/PodSet 中的预填充与解码节点进行配对,通过负载感知评分机制选取最空闲的候选节点,并将基于 Nixl 的 P/D 分离架构与正确的 kv_transfer_params 参数对齐,确保流量能够抵达具备正确 KVCache 状态的目标群组。新增的防护机制可保证路由逻辑遵循 HttpRoute 状态与故障条件,弥补了早期版本中存在的正确性缺陷。

此外,我们为 StormService 新增了角色级自动扩缩容功能,使预填充与解码角色能根据各自指标独立伸缩。通过 PodAutoscaler 中新引入的 subTargetSelector 选择器,运维人员可为不同角色或资源池配置独立的自动扩缩容策略(例如对预填充角色采用激进的扩缩容策略,对解码角色则采用保守策略),这对 P/D 分离形态下的池化场景与异构场景至关重要。这些改进使得 P/D 分离架构不仅能实现,更能在规模化场景中保持运维整洁性。

yaml 复制代码
# PodAutoscaler for prefill role
apiVersion: autoscaling.aibrix.ai/v1alpha1
kind: PodAutoscaler
metadata:
  name: ss-pool-prefill
  namespace: default
  annotations:
    autoscaling.aibrix.ai/storm-service-mode: "pool"
spec:
  scaleTargetRef:
    apiVersion: orchestration.aibrix.ai/v1alpha1
    kind: StormService
    name: ss-pool

# new Added: Select the prefill role within the StormService
  subTargetSelector:
    roleName: prefill

完整示例: github.com/vllm-projec...


其他改进

v0.5.0 版本还强化了运行时层,使运维人员能够在所有引擎上获得更清晰一致的控制路径。元数据服务器已完成从 Go 到 Python 的重构,并集成健康与存活探查,镜像体积显著缩减;下载器现能更稳健地处理递归式对象存储布局,使得实际使用中的模型与制品管理标准化变得更为容易。通过 Webhook 与轻量级封装库,AIBrixRuntime 边车容器可自动注入到 Deployment 和 StormService 工作负载中,实现了指标收集、下载管理与运维操作的统一,无需再为每个推理引擎编写定制化代码。

在此基础上,我们强化了面向多租户场景的 LoRA 与模型适配器的工作流。AIBrix 现支持将适配器伸缩至预期副本数,重构了适配器副本跟踪机制,新增类型化封装以降低集成难度,并允许通过运行时直接拉取 LoRA 制品。这些改进共同使得在单个基础模型上跨多引擎、多集群运行大量 LoRA 组件的实践更健壮,更易于实现自动化。

自动扩缩容组件也进行了显著的加强。v0.5.0 版本通过可重试的 RestMetricsFetcher、共享客户端/聚合器以及配置更新中的竞态条件修复,统一了指标采集流程,让扩缩容决策既更快速又更可靠。我们优化了 KPA 默认参数,增加指标标签选择器支持,仅在副本数实际变更时触发事件,并将扩缩容历史直接暴露于 PodAutoscaler 状态中。这些改进使自动扩缩容从一个黑盒组件转变为可观测、可调试、策略驱动的系统模块。

总体而言,这些在运行时、LoRA、自动注入与自动扩缩容方面的增强,共同推动 AIBrix 向开箱即用控制面的目标迈进。

如需查看完整变更列表、提交历史与贡献者详情,请参阅 AIBrix v0.5.0 版本发布说明。

贡献者与社区

v0.5.0 版本共包含 39 项贡献,其中 21 项来自首次贡献者 💫。衷心感谢所有通过代码提交、问题反馈、代码审查和建议参与推动此版本进展的每一位参与者。

特别向我们的新贡献者致敬:

@JonathonShea, @bigerous, @jiangxiaobin96, @mayooot, @zyfy29, @zhengkezhou1, @tianzhiqiang3, @atakli, @jwjwjw3, @lx1036, @chethanuk, @baozixiaoxixi, @TylerGillson, @omrishiv, @lex1ng, @ChenTaoyu-SJTU, @zhenyu-02, @yapple, @xvoron, @freedown19, @Leafykn 🙌

你们的贡献让 AIBrix 更加稳健、更具备生产环境可用性,也让我们的开源社区更加开放包容。期待大家持续参与!

未来规划

我们正持续推动 AIBrix 构建为面向现代 LLM 工作负载的全生产级云原生技术栈。在 v0.6.0 版本中,我们将聚焦以下几个核心方向:生产级 LoRA 与无服务器 LLM 服务、以 KVCache 为核心的 P/D 分离与卸载工作流、容错性与稳定性探索,以及生态集成------包括 vLLM 语义路由与 Envoy AI 网关等故意排除在 AIBrix 核心但保持技术栈可组合性的功能领域。

如果您正在生产环境中运行 LLM,或正在探索无服务器架构、KVCache、P/D 分离等新架构方向,我们诚挚期待您就 v0.6.0 技术路线图提出反馈并参与协作------欢迎在 GitHub 加入讨论,共同贡献力量。

相关推荐
周杰伦_Jay17 分钟前
【大模型数据标注】核心技术与优秀开源框架
人工智能·机器学习·eureka·开源·github
玄魂1 小时前
如何查看、生成 github 开源项目star 图表
前端·开源·echarts
隐语SecretFlow1 小时前
【隐语Secreflow】如何配置 Kuscia 对请求进行 Path Rewrit
架构·开源
hh.h.2 小时前
开源鸿蒙生态下Flutter的发展前景分析
flutter·开源·harmonyos
吴敬悦3 小时前
私有的 GitHub Package 怎么拉取?
npm·github
小胖霞6 小时前
全栈系列(15)github Actions自动化部署前端vue
前端·node.js·github
一RTOS一7 小时前
光亚鸿道携手AGIROS开源社区,共筑中国具身智能机器人操作系统新生态
机器人·开源·鸿道实时操作系统·国产嵌入式操作系统选型·具身智能操作系统选型
刘发财7 小时前
前端一行代码生成数千页PDF,dompdf.js新增分页功能
前端·typescript·开源
CoderJia程序员甲7 小时前
GitHub 热榜项目 - 日榜(2025-12-15)
git·ai·开源·llm·github