aicr
NVIDIA/aicr加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
凌晨 3 点,某 AI 实验室的值班工程师被告警吵醒:8 卡 H100 集群上,分布式训练任务毫无征兆地开始掉速,从每秒 12000 images/s 跌到 4000 images/s,重启任务后恢复正常。但第二天同样的问题再次出现,周而复始。调查了两周后发现:某台服务器的 GPU 驱动从 535.154.05 悄悄更新到了 550.x,而 Kubeflow 训练框架对驱动版本有硬性要求,一旦版本偏差超过某个阈值就会触发 NCCL 通信超时。
这个故事在 GPU 集群运维圈子里并不罕见。NVIDIA AI Cluster Runtime(AICR) 正是为了解决这类"版本错配地狱"而生。
在传统软件部署中,依赖管理有成熟的方案:容器镜像锁定所有依赖、K8s 的 Deployment 管理副本、Helm 标准化安装流程。但 GPU 加速的 Kubernetes 集群面临的是更复杂的局面——驱动版本、内核版本、CUDA 版本、容器运行时版本、NCCL 版本、GPU Operator 版本之间存在错综复杂的兼容性约束,一个环节的版本漂移可能导致整个训练任务失败。
AICR 的出现填补了这个空白。它由 NVIDIA 官方维护,将内部验证Pipeline 中积累的 GPU 集群最佳实践整理成版本锁定配置方案(Recipe),对外公开发布。这些 Recipe 不是文档,而是可以直接消费的、可验证的部署产物。
AICR 的核心抽象是 Recipe(配方)。一个 Recipe 本质上是一个 YAML 配置文件,声明了特定硬件环境(如 AWS EKS + H100 GPU + Ubuntu OS)下的所有组件版本组合。以下是 AICR Recipe 的关键特性:
版本锁定:每个 Recipe 都精确指定 GPU Operator 版本、GPU Direct RDMA 驱动版本、NCCL 版本、CUDA 基础镜像版本,甚至 Kubernetes 特定参数配置。用户无需研究版本兼容性,AICR 已经替你验证过了。
多目标部署:同一个 Recipe 可以渲染成多种部署格式——Helm Chart、Argo CD Application(标准版或 App-of-Apps 版)、Flux Kustomization 或 Helmfile。用户根据现有的 GitOps 流程选择最合适的格式,无需改变既有的部署流水线。
供应链安全:每个 Recipe 发布时附带完整的加密证明链。出处证明(Provenance) 由 NVIDIA CI 系统签名,记录了 Recipe 的构建过程和所有输入来源;有效性证明(Validity Evidence) 由贡献者(拥有真实硬件集群的人)签名,证明 Recipe 在真实硬件上验证通过。此外还有 Sigstore/Cosign 镜像签名和 CycloneDX SBOM。
AICR 提供三种使用方式,覆盖从本地开发到生产集成的全场景。
aicr CLI 是最常用的入口,完整覆盖 recipe 生成、bundle 渲染、快照采集和集群验证的全流程。例如:
aicr recipe --service eks --accelerator h100 --os ubuntu \
--intent training --platform kubeflow -o recipe.yaml
aicr bundle --recipe recipe.yaml --deployer argocd --output ./bundles
aicr validate --recipe recipe.yaml
aicrd API Server 将 CLI 能力以 REST API 形式暴露,适合 CI/CD 流水线集成或无法安装 CLI 的空气隔离环境。它同样可以独立运行在 K8s 集群内部。
Go SDK(github.com/NVIDIA/aicr/pkg/client/v1)提供了稳定的状态化 API 封装,适合需要程序化调用 AICR 能力的 Go 应用,每个客户端实例相互隔离,支持多租户场景。
AICR 验证过的环境覆盖了主流云服务商和边缘场景:
| 维度 | 支持选项 |
|---|---|
| 云服务 | AWS EKS、Azure AKS、Google GKE、DigitalOcean、Linode、Linode |
| GPU 型号 | H100、H200、A100、B200、GB200、L40、RTX PRO 6000 |
| 操作系统 | Ubuntu、Amazon Linux、RHEL、COS、Talos |
| 工作负载 | 训练(Kubeflow、Slinky Slurm、KAI Scheduler)、推理(Dynamo、NIM、Grove) |
AICR 面向的是有一定 Kubernetes 运维能力的团队。它不是一键安装的 SaaS 产品,而是需要运维人员理解 Recipe 参数含义和集群验证逻辑。部署本身需要:已运行的 Kubernetes 集群、NVIDIA GPU Operator 或兼容驱动、Helm 3+ 以及 GitOps 工具(Argo CD 或 Flux)。官方预计完整部署周期为 1-3 天,主要时间花在集群环境确认和参数调优上。
局限性方面,AICR 当前不支持纯 CPU 推理场景,对物理机裸机部署的支持也有限。对于没有 GitOps 流程的团队,CLI 的学习曲线也是一个实际障碍。
AICR 的出现标志着 GPU 集群运维从"经验驱动"向"验证驱动"的转变。传统的做法是运维团队在生产环境中踩坑、积累经验,而 AICR 将 NVIDIA 内部的验证体系开放给社区,使得中小型团队也能获得生产级的 GPU 集群配置方案,而不必自己构建和维护完整的验证Pipeline。
从供应链安全角度看,AICR 的签名证明链(SLSA Level 3 + Sigstore + SBOM)为 GPU 集群部署提供了可审计、可验证的安全基线,这在 AI 安全日益受到重视的背景下具有重要的行业价值。