
AIBrix v0.5.0 现已发布。此版本引入与 OpenAI 兼容的批处理 API,专为处理高吞吐、时延不敏感的离线推理与评估任务设计,有效避免对实时端点造成干扰。同时,新版本集成了全新的 KVCache 连接器(AIBrixOffloadingConnectorV1Type3),借助其流水线式预取与分层卸载机制,显著提升 KVCache 卸载与复用的效率。
此外,v0.5.0 将 StormService 打造为生产级的控制面,通过 PodSet/PodGroup 原语实现多 Pod 管理,提供拓扑与负载感知的路由能力,并利用 subTargetSelector 实现角色级自动扩缩,从而为 P/D 分离架构提供精细化的资源伸缩。
核心功能概览如下:
AIBrix 本次更新正式加入对批处理 API 的支持。批处理 API 旨在优化大体量、对延迟不敏感的推理工作负载,是一项强大的新功能。
随着生成式人工智能(GenAI)应用的规模不断扩大,并非每个请求都需要即时响应。像大规模数据集评测、离线内容生成和批量数据处理等任务,常常会使实时服务接口拥堵不堪,导致资源利用效率低下和成本增加。AIBrix 批处理 API 通过允许用户异步提交大量请求来解决这一问题。通过将这些请求以优化过的数量批次处理,相较于标准在线服务,AIBrix 可以显著提高 GPU 利用率和集群整体吞吐量。
主要特性
OpenAI 兼容性: 批处理 API 被设计为可直接替代现有工作流,支持标准的 OpenAI 批处理 API(例如,/v1/batches)。
异步处理: 支持“即发即忘”架构。通过 .jsonl 文件提交大量任务后,客户端应用程序可以处理其他任务,并在结果就绪后进行检索。
可配置的作业池: 支持通过可配置的作业池大小微调资源分配,以适应特定的硬件限制和吞吐量目标。
增强的错误处理: 强大的验证和错误报告功能支持请求自动重试,确保您可以追踪大规模批处理中每个单独请求的状态。
快速入门
由于 AIBrix 批处理 API 与 OpenAI 兼容,对于熟悉标准大语言模型工具的人来说,上手操作十分简单。
requests.jsonl):
{"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."}]}}
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 参考,可访问官方文档。链接:https://aibrix.readthedocs.io/latest/features/batch-api.html
在 v0.4.0 版本中发布的 AIBrix KVCache Connector,经过基准测试与内部实际部署验证,发现了一些重要的可以提升性能的优化机会。为充分挖掘这些优化点以发挥 KVCache 卸载的潜力,在 v0.5.0 版本中实现了一系列关键优化,并推出了新的 KVCache Connector9(AIBrixOffloadingConnectorV1Type3)。
核心优化技术包含:
通过让预取、加载与计算这三个关键阶段并行执行,以流水线充分重叠的优化方式,不仅大幅减少了空闲等待时间,消除了TPOT(每秒输出 token 数)的延迟损耗,更让系统吞吐性能突破原有瓶颈。
通过将 KVCache 卸载操作与推理各层的前向计算同步进行,有效隐藏了数据传输延迟。使得即使 KVCache 命中率较低时,仍能保持高效推理,确保推理引擎持续满载运转,实现资源利用率最大化。
相较于 v0.4.0 版本的 KVCache Connector(AIBrixOffloadingConnectorV1Type1),在 Llama 3.1 70B 模型(张量并行度=8)的测试中,v0.5.0 版本的这套组合优化方案使 TPOT 与整体吞吐量双双提升超过20%,同时仍保持优异的 TTFT(首 token 时延)。
v0.5.0 版本将 StormService 升级为面向大规模异构 P/D 分离集群的高级控制面。全新推出的 PodGroup API 使 StormService 能够与协同调度生态系统(Coscheduling、Godel、Volcano)无缝集成,将紧耦合的工作节点作为统一调度单元进行编排。结合新设计的 PodSet API,StormService 现已能显式管理多 Pod 工作节点与分片组, 即将其作为逻辑整体统一控制生命周期、拓扑结构与运行状态,同时保持与现有单 Pod 架构的向后兼容性。
此外,v0.5.0 为复杂部署场景提供了更强大的滚动更新与重启语义。新增的 FullRecreate 策略让运维人员能够以原子方式恢复异常 PodSet,避免产生中间状态残留;而角色升级序列功能支持按预设顺序(例如:集群内路由 → 预填充节点 → 解码节点)在不同角色间进行安全有序的变更发布,彻底取代随机更新机制。这套组合方案使得高风险操作(如模式变更、路由调整、运行时升级)变得高度可预测。
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 分离架构不仅能实现,更能在规模化场景中保持运维整洁性。
# 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
完整示例: https://github.com/vllm-project/aibrix/blob/main/samples/autoscaling/stormservice-pool.yaml
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 正式发布:实现批量 API 支持的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号