AI 用例和参考设计
面向 AI 群集的瞻博网络验证设计 (JVD) 系列描述了一种基于以太网的端到端 AI 基础架构,包括前端交换矩阵、GPU 后端交换矩阵和存储后端交换矩阵,如图 1 所示。
- 前端交换矩阵:此交换矩阵是前端服务器中驻留的 AI 工具通往 GPU 节点和存储节点的网关网络。前端 GPU 交换矩阵允许用户与 GPU 和存储节点交互以启动训练或推理工作负载并可视化其进度和结果,并提供 NVIDIA 集体通信库 (NCCL) 和 RCCL(ROCm 通信集体库)的带外路径
- GPU 后端交换矩阵:此交换矩阵连接 GPU 节点(执行 AI 工作流的计算任务)。GPU 后端交换矩阵在训练作业期间以无损方式在 GPU 之间传输高速信息。GPU 生成的流量使用 RoCEv2 (RDMA over Ethernet v2) 进行传输。
- 存储后端交换矩阵:此交换矩阵连接高可用性存储系统(保存大型模型训练数据)和 GPU(在训练或推理作业期间使用这些数据)。存储后端交换矩阵以无缝且可靠的方式传输大量数据。
这三种交换矩阵具有共生关系,同时每种交换矩阵都提供独特的功能来支持 AI 训练和推理任务。在 AI 交换矩阵中使用以太网,使我们的客户能够构建易于运维的大容量网络交换矩阵,从而最大限度缩短工作完成时间,提高 GPU 利用率,并充分利用有限的 IT 资源。
图 1:AI JVD 参考设计
前端概述
AI 的 AI 前端包括使用户能够与AI系统交互的接口、工具和方法,以及允许这些交互的基础设施。前端使用户能够启动训练或推理任务,并可视化结果,同时隐藏潜在的技术复杂性。
前端系统的关键组件包括:
- 模型调度:用于管理脚本化 AI 模型作业的工具和方法,通常基于 SLURM(用于资源管理的简单 Linux 实用程序)工作负载管理器。这些工具使用户能够通过 shell CLI 或基于图形 Web 的界面发送指令、命令和查询,以编排在 GPU 上运行的学习和推理作业。用户可以配置模型参数、输入数据和解释结果,以及以交互方式启动或终止作业。在 AI JVD 中,这些工具托管在连接到 AI 前端交换矩阵的前端服务器上。
- AI 系统管理:用于管理(配置、监控和执行维护任务)AI 存储和处理组件的工具。这些工具有助于有效地构建、运行、训练和利用 AI 模型。示例包括 SLURM、TensorFlow、PyTorch 和 Scikit-learn。
- 交换矩阵组件管理:旨在帮助用户根据其要求和目标轻松部署和管理交换矩阵设备的机制和工作流程。它包括设备上线、配置管理和交换矩阵部署编排等任务。
- 性能监控和错误分析:遥测系统跟踪与 AI 模型相关的关键性能指标,例如准确性、精度、召回率和计算资源利用率(例如 CPU、GPU 使用率),这些对于在训练和推理作业期间评估模型有效性至关重要。这些系统还可以深入了解训练和推理作期间的错误率和故障模式,并帮助识别可能影响 AI 性能的问题,例如模型偏移、数据质量问题或算法错误。
- 数据可视化:允许用户直观地理解 AI 模型和工作负载生成的见解的应用程序和工具。它们提供有效的可视化,增强基于 AI 输出的理解和决策。用于监控和测量系统和网络级性能的相同遥测系统通常也会提供这种可视化效果。
- 用户界面:路由和交换基础设施,允许用户界面应用程序和工具与执行作业的 AI 系统(包括 GPU 和存储设备)之间进行通信。该基础设施确保用户与有效利用 AI 功能所需的计算资源之间的无缝交互。
- GPU 到 GPU 控制:通信建立、信息交换,包括 QP GID(全局 ID)、本地和远程缓冲区地址以及 RDMA 密钥(用于内存访问权限的 RKEY)
GPU 后端概述
AI 的 GPU 后端包括执行学习和推理作业或计算任务的设备,即进行数据处理的 GPU 服务器,以及允许 GPU 相互通信以完成作业的基础设施。
GPU 后端系统的关键组件包括:
- AI 系统:可以同时执行大量计算的专用硬件,例如 GPU(图形处理单元)和 TPU(张量处理单元)。GPU 特别擅长处理 AI 工作负载,包括完成学习和推理任务所需的复杂矩阵乘法和卷积。GPU 系统的选择和数量显着影响这些任务的速度和效率。
- AI 软件:开发和执行 AI 模型所必需的作系统、库和框架。这些工具为有效编码、训练和部署 AI 算法提供了必要的环境。这些工具的功能包括:
- 数据管理:对训练和执行 AI 模型中使用的数据进行预处理和转换。这包括清理、归一化和特征提取等任务。鉴于 AI 数据集的数量和复杂性,并行处理和分布式计算等高效的数据管理策略至关重要。
- 模型管理:与 AI 模型本身相关的任务,包括评估(例如交叉验证)、选择(根据性能指标选择最佳模型)和部署(使模型可用于实际应用)。
- GPU 后端交换矩阵:路由和交换基础设施,允许 GPU 到 GPU 通信,用于工作负载分配、内存共享、模型参数同步、结果交换等。此交换矩阵的设计可以显著影响 AI/ML 模型训练和推理作业的速度和效率,并且在大多数情况下应为 GPU 到 GPU 的流量提供无损连接。
存储后端概述
用于 AI 的 AI 存储后端包括用于存储、检索和管理 AI 工作负载中涉及的大量数据的硬件和软件组件,以及允许 GPU 与这些存储组件通信的基础设施。
存储后端的关键方面包括:
- 高性能存储设备:针对高 I/O 吞吐量进行了优化,这对于处理深度学习等 AI 任务的密集数据处理要求至关重要。这包括高性能存储设备,旨在促进模型训练期间对数据的快速访问,并满足大型数据集的存储需求。这些存储设备必须提供:
- 数据管理功能:支持高效的数据查询、索引和检索,这对于最大限度地减少 AI 工作流程中的预处理和特征提取时间以及促进推理过程中的快速数据访问至关重要。
- 可扩展性:适应不断增长的数据量,并随着时间的推移有效管理和存储大量数据,以支持通常涉及大规模数据集的 AI 工作负载。
- 存储后端交换矩阵:在 GPU 和存储设备之间提供连接的路由和交换基础架构。这种集成确保数据可以在存储和计算资源之间高效传输,从而优化整体 AI 工作流程性能。存储后端的性能显著影响 AI/机器学习工作流程的效率和 JCT。提供对数据的快速访问的存储后端可以显着减少训练 AI/ML 模型的时间。