MarkTechPost

NVIDIA 在 Apache 2.0 下开源 Run:ai,用于 Kubernetes GPU 编排

NVIDIA将Run:ai GPU编排平台以Apache 2.0开源,包含KAI Scheduler、CUDA 13.4 GPU切分与配额管理,团队可免付费订阅自托管;免费版不含企业支持。

NVIDIA 已将完整的 NVIDIA Run:ai 平台作为开源软件发布。该 源代码 以 Apache 2.0 许可证在 GitHub 上发布。NVIDIA Run:ai 开源版将生产级 GPU 调度、配额和工作负载管理交到开发者手中。此次发布使 Run:ai 成为 NVIDIA DSX AI Factory 平台的一部分。平台团队现在可以检查、派生并自行托管该技术栈,而无需付费订阅。

TL;DR

  • 规模: 单一代码库(monorepo),包含控制平面、集群服务、安装程序、CLI 和 MCP 服务器。本地开发构建约 50 个 Go 服务。
  • 运行环境: 配备 NVIDIA GPU 的 Kubernetes 或 OpenShift 集群。本地开发可在 macOS 或 Linux 上运行,使用 8 个模拟的 Tesla-A10 GPU,无需真实 GPU。
  • 性能: NVIDIA 未为此次发布提供平台级基准测试。
  • 最佳: 相关的 Model Streamer 在 Azure 上的 8 个 NVIDIA H100 虚拟机上加载模型的速度提升了 3 倍到 6 倍。
  • 最差: 社区版没有 NVIDIA 企业支持。Linux 上的本地构建需要 16 GB 内存和 100 GB 磁盘空间。

什么是 NVIDIA Run:ai?

NVIDIA Run:ai 是 NVIDIA 推出的面向 Kubernetes 的 AI 工作负载和 GPU 编排平台。它在共享 GPU 集群上调度开发、训练和推理工作负载。它运行在 Kubernetes 之上,并不取代 Kubernetes。

控制平面负责工作负载提交、资源管理和监控。集群服务运行在每个 Kubernetes 集群上,提供 GPU 感知调度。用户可以通过 Web UI、CLI、REST API 以及面向 AI 助手的 MCP 服务器来使用它。

4 个模块化组件是什么?

NVIDIA 将此次发布拆分为 4 个团队可独立采用的组件:

  • KAI Scheduler 是 Kubernetes 原生调度引擎。它采用 Apache 2.0 许可,并且是一个 CNCF 沙箱项目。它涵盖 gang 调度、基于时间的公平共享、拓扑感知、装箱(bin-packing)以及 DRA 支持。
  • GPU Fractioning Operator 为 Kubernetes 带来 CUDA 13.4 原生的 GPU 切分。CUDA 驱动程序对每个工作负载实施硬性内存限制。NVIDIA 弃用了其较早的专有切分方案,转而采用这种方式。该 operator 与调度器无关,并导出按 Pod 的指标。
  • KAI Resource Management 增加了项目、部门、配额和节点池。NVIDIA 的示例保证将集群的 50% 分配给一个研究团队。
  • Workload Map 是一个描述 PyTorchJob、RayCluster 和 KServe 服务等工作负载类型的 Go 库。它可离线工作,不进行调度、排队或自动扩缩容。

开发人员如何在本地运行 NVIDIA Run:ai?

该 本地开发指南 基于 1 个脚本构建, local-dev.sh。它在容器内从源码构建大约50个Go服务。随后它创建一个固定使用Kubernetes v1.32.5的5节点Kind集群。一个模拟GPU operator模拟8块Tesla-A10 GPU,因此无需GPU硬件。

  • 支持的主机:macOS 或 Linux,amd64 或 arm64 架构。不支持 Windows。
  • Linux 主机需要 4 个 CPU、16 GB 内存和 100 GB 可用磁盘空间。
  • macOS Podman 虚拟机至少需要 12 GB 内存。
  • 1次完整构建会留下约44 GB的缓存。

该 --gpu-operator flag switches to real NVIDIA GPUs. 该模式需要 Linux、Docker 和 NVIDIA Container Toolkit。不支持 AMD 和 Intel 加速器。

团队如何在生产环境中部署它?

开发团队可以从源代码或从 NGC 社区产品 Helm chart。该版本无需付费订阅,但不包含 NVIDIA 企业支持。

团队也可以通过 8 家 DSX 生态系统合作伙伴采用它。这些合作伙伴是 Crusoe, Mirantis, Nebius, OpenNebula Systems, Rafay, Saturn Cloud, Spectro Cloud 以及 vCluster。受支持的商用版本继续通过 NVIDIA AI Enterprise、NVIDIA Mission Control 以及部分云市场提供。

有哪些相关的开源项目随之发布?

两个相关项目完善了这一技术栈。 Model Streamer 可将模型权重直接流式传输到 GPU 内存中。 vLLM 和 SGLang 支持该功能, --load-format runai_streamer.

Microsoft 的 已发布基准测试 使用了 8 台 NVIDIA H100 虚拟机。结果显示加载速度比默认加载器快 3 到 6 倍。吞吐量保持在 80 Gbps,而默认路径约为 40 Gbps。

Grove 可编排多组件推理工作负载。它将 prefill 和 decode 等组件作为全有或全无的单元启动。

NVIDIA Run:ai 与其他开源 Kubernetes 调度器相比如何?

特性NVIDIA Run:ai(开源)VolcanoKueueApache YuniKorn
许可证Apache 2.0Apache 2.0Apache 2.0Apache 2.0
治理NVIDIA DSX AI Factory org(KAI Scheduler:CNCF Sandbox)CNCF 孵化项目kubernetes-sigs(wg-batch)Apache 软件基金会
范围完整平台:控制平面、UI、CLI、REST API、MCP 服务器批处理调度系统作业排队控制器调度器,默认调度器的替代方案
替换 kube-scheduler否,通过 KAI Scheduler 对其进行扩展未披露否是,作为替代方案
成组调度(Gang scheduling)是是基于超时的全有或全无是
配额层级项目、部门、节点池多级队列队列组(Cohorts)、公平共享分层队列
GPU 共享CUDA 13.4 原生分数分配及硬内存限制vGPU、动态 MIG基于 DRA 的 GPU 配额;概览中未提及分数分配未披露
拓扑感知是是是未披露
多集群是,通过控制平面是是,MultiKueue未披露
Web 用户界面是独立的仪表板项目未披露未披露

关键区别在于范围。Volcano、Kueue 和 YuniKorn 专注于调度或排队。Run:ai 则在其调度器之上提供了完整的管理平台。

要点总结

  • NVIDIA Run:ai 现已在 Apache 2.0 许可证下完全开源。
  • 4个组件可独立交付:KAI Scheduler、GPU Fractioning、Resource Management、Workload Map。
  • GPU fractioning 现在使用 CUDA 13.4 原生内存隔离。
  • 本地开发环境运行在带有8个模拟GPU的5节点 Kind 集群上。
  • 免费版不包含 NVIDIA 企业支持。


欢迎查看 GitHub 仓库、 本地开发指南 和 NVIDIA 的技术博客。所有功劳归于该项目的研究者。另外,欢迎在 Twitter 上关注我们,也别忘了加入我们的 150k+ML SubReddit 并订阅 我们的通讯。等等!你用 Telegram 吗? 现在你也可以在 Telegram 上加入我们。

本文《 NVIDIA 在 Apache 2.0 下开源 Run:ai 用于 Kubernetes GPU 编排 》首发于 MarkTechPost.

原始出处

MarkTechPost

内容说明

原始发布及相关权利归来源方。

机器翻译 · 请以原文为准