数据中心/云端

使用 NVIDIA 和 Run:ai 训练您的 AI 模型一次并部署在任何云上

 

组织越来越多地采用混合和多云策略来访问最新的计算资源,始终如一地支持全球客户,并优化成本。然而,工程团队面临的一个主要挑战是,随着堆栈的变化,在不同平台上操作人工智能应用程序。这要求 MLOps 团队熟悉不同的环境,并要求开发人员自定义应用程序以跨目标平台运行。

NVIDIA 提供了一个一致的、完整的堆栈,可以在 GPU 供电的本地或云实例上进行开发。然后,您可以在任何 GPU 驱动的平台上部署该 AI 应用程序,而无需更改代码。

介绍最新的 NVIDIA 虚拟机映像

NVIDIA Cloud Native Stack 虚拟机映像( VMI )是 GPU 加速的。它预装了 Cloud Native Stack ,这是一个参考体系结构,包括上游 Kubernetes 和 NVIDIA GPU 运营商。 NVIDIA Cloud Native Stack VMI 使您能够构建、测试和运行 GPU – 由 Kubernetes 协调的加速容器化应用程序。

NVIDIA GPU 运营商自动化了在 Kubernetes 上公开 GPU ‘所需软件的生命周期管理。它实现了高级功能,包括更好的 GPU 性能、利用率和遥测。 GPU Operator 通过与业界领先的 Kubernetes 解决方案的兼容性认证和验证,使组织能够专注于构建应用程序,而不是管理 Kubernete 基础设施。

NVIDIA Cloud Native Stack VMI 可在 AWS 、 Azure 和 GCP 上使用。

现已推出: NVIDIA 提供企业级支持

要获得对 NVIDIA Cloud Native Stack VMI 和 GPU 运营商的企业支持,请通过 NVIDIA 合作伙伴

开发从概念到部署的人工智能解决方案并不容易。借助 NVIDIA AI 企业支持服务,让您的 AI 项目保持正轨。购买 NVIDIA AI Enterprise 软件套件时,此全面的产品可让您直接访问 NVIDIA 人工智能专家、定义的服务级别协议,并通过长期支持选项控制您的升级和维护计划。还提供其他服务,包括培训和人工智能工作量入职。

Run:ai 现已在 NVIDIA AI Enterprise 上获得认证

Run:ai 是人工智能工作负载计算协调的行业领导者,已在其 Atlas 平台上认证了 NVIDIA ai Enterprise ,这是一款端到端、安全的云原生人工智能软件套件。这一额外的认证使企业能够加快数据科学管道。他们可以专注于简化预测性人工智能模型的开发和部署,以实现基本流程的自动化,并从数据中快速获得见解。

Run:ai 提供了一个 ai 计算平台,简化了 GPU 在云和本地集群中的访问、管理和利用。智能调度和高级分数 GPU 功能确保您为作业获得正确的计算量。

Run:aiAtlas 包括 GPU 编排功能,帮助研究人员更有效地使用 GPU 。他们通过自动化人工智能工作负载的编排以及跨团队和集群的硬件资源的管理和虚拟化来实现这一点。

Run:ai 可以安装在任何 Kubernetes 集群上,为您的人工智能基础设施提供高效的调度和监控功能。使用 NVIDIA Cloud Native Stack VMI ,您可以将云实例添加到 Kubernetes 集群中,使它们成为集群的 GPU 供电的工作节点。

以下是我们团队一名成员的证词:“作为一名工程师,如果没有 NVIDIA Cloud Native Stack VMI ,需要大量的手动工作。有了 Cloud Native Stack VMI ,只需点击两次,就可以完成 Kubernetes 和 Docker 以及 GPU 操作员的配置。开始我的工作更容易、更快。”

在 AWS 上建立云原生堆栈 VMI

在 AWS 市场中,可以使用 launch an NVIDIA Cloud Native Stack VMI,参考 Launch an AWS Marketplace instance 说明书。

请确保满足必要的先决条件,并按照 集群安装说明安装 Run:ai 后,在 概述 仪表板中,您应该看到度量开始填充。在 集群 选项卡中,您还应该看到集群已连接。

接下来,在 kube-apiserver . yaml 文件中添加一些命令组件,以便在 Run : ai 平台上启用用户身份验证。有关详细信息,请参阅管理用户界面设置

默认情况下,您可以在以下目录中找到 kube-apiserver . yaml 文件:

/etc/kubernetes/manifests/kube-apiserver.yaml

您可以通过 kube apiserver 验证 oidc 命令是否已成功应用。请查看 oidc 输出中的命令。

spec:
  containers:
  - command:
    - kube-apiserver
    - --oidc-client-id=runai
    - --oidc-issuer-url=https://app.run.ai/auth/realms/nvaie
    - --oidc-username-prefix=-

设置 统一用户界面创建新项目。项目有助于为使用 Run : ai 平台的数据科学家和研究人员规定 GPU 配额,以确保其可用性。

为新项目命名,并为该项目指定至少一个 GPU 。在本文中,我创建了一个有两个配额的项目和另一个没有配额的项目,分别标记为 nvaie-high-prioritynvaie-low-priority。在创建项目后,您可以 安装 Run:ai CLI 工具,以便您能够向集群提交工作负载。

以下命令使用 runai CLI 提交一个作业( job1 或 job2 ),该作业利用一个名为 quickstart 的 Docker 映像。 Quickstart 包含 TensorFlow 、 CUDA 、一个模型以及输入和训练模型的数据。它利用一个 GPU 进行训练( -g 1 ),并代表由-p参数

部署一些测试作业,通过运行来显示 Run : ai 的一些编排功能:

runai submit job1 -i gcr.io/run-ai-demo/quickstart -g 1 -p nvaie-high-priority 
runai submit job2 -i gcr.io/run-ai-demo/quickstart -g 1 -p nvaie-low-priority

您可以通过运行以下命令来检查作业的状态:

runai describe job job1 -p nvaie-high-priority
runai describe job job2 -p nvaie-low-priority

正如您在概述仪表板

您可以提交额外的工作负载,以突出显示您的作业抢占能力。目前nvaie-high-priority项目保证访问这两个 GPU ,因为它们的分配 GPU quota 设置为 2 。您可以为nvaie-high-priority项目,并观察到您正在抢占nvaie-low-priority工作

作业抢占使您能够查看检查点过程,将训练工作负载的当前进度保存在检查点中,然后抢占工作负载以将其从 GPU 中删除。这样可以保存训练进度,并释放 GPU 以运行优先级更高的工作负载。

runai submit job3 -i gcr.io/run-ai-demo/quickstart -g 1 -p nvaie-high-priority

您可以通过运行以下命令来检查作业的状态:

runai describe job job3 -p nvaie-high-priority

如果返回到概览面板,您将看到为nvaie-high-priority项目和来自nvaie-low-priority被抢占并放回挂起的队列中。当 GPU 可用时,将自动重新安排挂起队列中的工作负载。

要清理作业,请运行以下命令:

runai delete job job1 -p nvaie-low-priority 
runai delete job job2 job3 -p nvaie-high-priority 

总结

NVIDIA 提供了一个一致的、完整的堆栈,可以在 GPU 供电的本地或云实例上进行开发。然后,开发人员和 MLOps 可以在任何 GPU 驱动的平台上部署该人工智能应用程序,而无需更改代码。

Run:ai 是人工智能工作负载计算协调的行业领导者,已在其 Atlas 平台上认证了 NVIDIA AI Enterprise,这是一款端到端、安全的云原生人工智能软件套件。您可以通过NVIDIA Partner获得 NVIDIA VMI 和 GPU 运营商的企业支持。购买 NVIDIA AI Enterprise 软件套件时,您可以直接访问 NVIDIA 人工智能专家、定义的服务级别协议,并通过长期支持选项控制您的升级和维护计划。

有关详细信息,请参阅以下资源:

 

Tags