数据中心/云端

使用 NVIDIA Base 命令平台简化 AI 开发

NVIDIA Base Command Platform 为 AI 应用程序提供直观、功能齐全的开发体验。它是为了满足 NVIDIA 内部研究和产品开发团队的需求而建造的。现在,它已经成为访问按需计算资源以训练神经网络模型和执行其他加速计算实验的基本方法。

Base Command Platform 通过提供集成用户、作业和数据的内聚服务,简化了人工智能实验工作流程。它提供了对私有注册表的轻松访问,以托管自定义容器以及 NGC Catalog 中的广泛软件。它提供了所有这些功能,而不牺牲可靠的 NVIDIA 性能、灵活性和可扩展性。您可以使用 Base Command Platform 进行需要单个 GPU 或数据中心的实验。

基本指挥平台界面和功能

Base Command Platform 支持 CLI 、 API 和 web 界面,所有这些都内置在 NGC 门户中。集成的 web 界面使 NGC 目录中的软件发现和随后在 Base Command Platform 中的使用变得顺畅。您不必在非设计用于一起使用的工具之间进行转换。

除了提供对公共 NGC 目录的访问,您还可以访问专用于 Base Command Platform 环境的 private registry 。根据开发人员的要求,私有注册表对于保持容器、模型和软件的私有性和安全性非常有用。

Base Command Platform 提供了一组丰富的 user management controls 。当您被邀请使用 Base Command Platform 环境(称为组织)时,管理员可以通过一组基于角色的访问控制来限制您在平台上上载和与内容交互的能力。这些控制可以应用于根组织,也可以应用于团队的概念。

根据管理员如何配置团队,团队与根组织的差异可能很小或很大。例如,可以只向团队提供对私有注册表容器或资源子集的访问。当加入团队时,您可能被禁止将自己的容器上传到私有注册表。

组织管理员可以混合和匹配这些功能,为给定的用户或组提供适当级别的功能。管理员还可以为特定用户( GPU 和存储容量)设置组织中的硬件使用配额。

基本指挥平台 web 界面将关键用户交互点放在前面和中间(左侧):

  • Jobs: 在 NVIDIA Base Command Platform 计算资源上运行的容器列表。
  • Datasets: 可装入作业的只读数据输入。
  • Workspaces: 读/写持久存储,也可以装载到作业中。

视频 1 。面向用户的 Base Command Platform 用户界面演练

简单而强大的硬件抽象

在 Base Command Platform 中,管理的硬件资源通过两个概念呈现给用户:加速计算环境( ACE )和 ACE 内的实例。

ACE 是一组硬件资源的组合:计算、网络和存储。实例从 ACE 内的系统中选择作业所需的 CPU 、 RAM 和 GPU 资源量。

ACE 可以支持多种实例类型,具体取决于其底层硬件组成。管理员可以通过 GPU 小时的配额限制这些资源的使用,并完全限制组织中特定用户的实例类型可用性。

基础指挥平台资源通过底层基础设施提供的业界领先技术连接。 NVIDIA NVLink 、 NVIDIA InfiniBand 和高性能以太网连接作为 Base Command Platform 环境设计的一部分进行了集成,以最大化管理硬件资源的价值。

Base Command Platform 中的调度器旨在利用拓扑感知,在提交作业时为作业提供最佳资源使用。

数据集和工作区

Data management 是 Base Command Platform 功能的核心。在实验期间,数据集、模型和源代码必须可用于计算资源。

数据集和工作空间概念是 Base Command Platform 解决这个问题的方法。数据集是创建后的只读存储构造,具有与私有注册表内容相同的共享功能。它们可以是特定用户专用的,可以与组织中的任意数量的团队共享,也可以与整个组织共享。

工作空间更加灵活。它们可读写,但如果需要,可以在作业中使用时标记为只读。工作区共享功能与数据集支持的功能相同。

数据集在上载或转换时通过 web 界面或 CLI 创建。我们将在本文稍后讨论工作时讨论转换。首先创建工作区,然后作为作业的一部分或通过直接上载(类似于数据集)填充数据。

那么,你为什么要用一个来代替另一个呢?

数据集非常适合必须按原样广泛共享的不可变数据。通常,这是一个不再需要修改的数据集,但也可以包括用于共享的许可证文件或 API 密钥。它们可以被广泛共享,因为它们不可能被修改。

工作空间非常适合作为正在进行的数据的着陆点:数据集、在容器外部维护的源代码,甚至是正在开发的模型集合。工作空间可以广泛共享,但由于默认情况下它们是可写的,因此广泛共享可能需要用户之间的额外协调和意识。

Base Command Platform 中给定用户可用的聚合数据集和工作空间容量由组织管理员设置的用户存储配额控制。您可以在 Base Command Platform 仪表板上查看存储配额以及当前存储使用情况。

还有一种额外的存储类型 result ,它会影响此容量,稍后我们将在作业上下文中对此进行讨论。当超过配额时,如果环境管理员启用,则可以请求额外的容量。

在工作中把所有这些都整合在一起

Base Command Platform 使用 jobs 操作数据、计算资源、 NGC 目录和私有注册表内容。

作业创建从资源选择开始。您将获得可用的 ACE 供您的组织和团队使用。您可以访问多个 ACE ,但作业必须在单个 ACE 中执行。

选择 ACE 后,可以从该 ACE 中的可用实例类型中进行选择。对于多节点作业,唯一可用的实例是利用所选 ACE 内给定系统类型可用的最大 CPU 、 RAM 和 GPU 资源的实例。

如果需要,请选择 ACE 、实例类型和多节点启动选项。接下来,您可以指定作为要装载到目标作业中的所选 ACE 的一部分的数据集和工作区,以及它们每个的所需装载点。在这里,工作区可以标记为只读。

还必须指定作业的结果存储路径。其结果是一个特定于作业的读/写存储池,用于保存完成后要从作业中保留的工件,以及stderrstdout。如前所述,结果所消耗的容量将计入您的配额。

然后,您必须选择Container对象和有效容器Tag。您可以从 NGC 目录以及您有权访问的私有注册表容器中选择容器。如果选择多节点作业,则仅在 NGC 目录或专用注册表中标记为支持多节点功能的容器作为选项显示。

现在,您可以指定一个或多个命令,甚至指定一个服务(如 JupyterLab 、 Visual Studio Code Server 或 NVIDIA Triton 推理服务器),以便在作业处于活动状态时在所选容器内运行。如果需要外部端口来公开 web 界面或其他端点,则必须使用 添加容器端口 选项添加一个或多个端口。

既然指定了作业,还有几个选项可供配置:

  • 作业优先级
  • 新作业名称
  • 如果被抢占,工作如何表现
  • 作业的最大运行时间
  • 遥测采集的时间片间隔
  • 自定义标签

视频 2 。在运行 JupyterLab 的 Base Command Platform 作业中使用 NGC 目录中的资源的示例工作流

与正在运行和已完成的作业交互

启动作业后,将重定向到特定于该作业的页面,其中启动详细信息位于 Overview 选项卡上。事实上, Command 部分提供了启动表单的等效 CLI 版本。

作业以易于复制的方式呈现:通过复制 CLI 表示或通过 web 界面克隆作业。如果在启动时向作业添加了端口,则 URL 端点也可用(视频 2 )。

对于计划的、正在运行的或已完成的作业,还有几个附加选项卡:

  • Telemetry:performance metrics 用于一段时间内的作业。
  • Status History: 作业和关联副本所处的状态列表。
  • Results: 查看已保存到作业结果目录的文件的方法。
  • Log: 可搜索、实时访问作业的标准输出。

作业完成后,特定于作业的页面仍然可以访问,并且可以用作将来作业的参考,或者在某些事情没有按预期进行时进行进一步的调试。可以轻松检索作业的结果目录和日志文件。根据作业的编写方式,所需的作业工件可能位于工作区而不是结果目录中。

Base Command Platform 为从工作区下载数据提供 CLI 支持。然后,作业产生的工件可以上传到 Base Command Platform ,公开或保存在组织的私有注册表中。它为 Base Command Platform 中的进一步实验或在其他地方部署的模型的关键组件提供了起点。

有关详细信息,请参见 Managing Jobs

使用 NGC API 的 MLOps 集成

您可以通过记录的 NGC API 通过外部软件集成进一步增强和扩展 Base Command Platform 功能。

NGC API 可用于基本指挥平台之外的工作流集成或仪表板,如第三方 MLOps 平台和工具。 MLOps 软件和服务提供商将其独特的产品与 Base Command Platform 集成,包括 Weights & BiasesRescale

随着基础指挥平台功能的发展和扩展, NGC API 使新的和现有的软件生态系统能够将其优势集成到其他专门构建的解决方案中。

结论

Base Command Platform 是 NVIDIA 的关键工具之一,用于使开发人员能够访问 AI 基础设施。为了亲身体验 Base Command Platform 的工作原理, NVIDIA 通过 NVIDIA LaunchPad 提供了一系列实验。一些实验室涵盖了自然语言处理和医学成像方面的特定用例,其他实验室则是为获得基本指挥平台功能方面的经验而定制的。

了解如何 use NVIDIA Base Command Platform to accelerate your containerized AI training workloads

Tags