AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


如何构建AI训练与推理 GPU 集群
发布日期:2024-05-07 05:39:44 浏览次数: 2171


什么是 GPU 集群?

GPU 群集是一组在每个节点上都具有图形处理单元 (GPU) 的计算机。多个 GPU 为特定计算任务提供加速的计算能力,例如图像和视频处理以及训练神经网络和其他机器学习算法。

GPU 集群主要有三种类型,每种类型都有特定的优势:

  • 高可用性 - GPU 集群在发生故障时将请求重新路由到不同的节点

  • 高性能 — GPU 集群使用多个并行从节点来提高计算能力,以完成要求更高的任务

  • 负载均衡 - GPU 集群将计算工作负载均匀地分布在从属节点上,以处理大量作业

例如下面是一种常见机柜7规格(来自altas)

处理器

2 个 AMD EPYC 7742 64 核 CPU(共 128 核)

记忆

2TB DDR4 系统内存

GPU 加速

配备 8 个 NVIDIA HGX™ A100 GPU 和 640GB GPU 显存的 4U 服务器

存储
  • 2 个 1.92TB M.2 NVMe 存储

  • 30TB U.2 NVMe 存储

网络接口

NVIDIA Mellanox® Spectrum® SN2000 GbE HDR 交换机

能耗

4 个 3000W 电源 (3+1)

GPU 群集用途

GPU 集群通常用于:

扩展深度学习
GPU 集群提供所需的计算能力,以跨多个 GPU 节点训练大型模型和数据集。

以下是 GPU 集群可用于支持深度学习任务的两种方式:

  • 计算机视觉 – ResNet 和 Inception 等计算机视觉架构通常使用数百或数千个卷积层,并且训练需要大量计算。通过使用 GPU 集群,研究人员可以加快训练时间,并对海量数据集(包括视频数据)进行快速推理。

  • 自然语言处理 (NLP) – 大规模 NLP 模型,例如对话式 AI,需要大量的计算能力和持续训练。GPU 集群可以摄取大量训练数据,将其划分为可管理的单元,并并行训练模型。


构建 GPU 驱动的研究集群

使用以下步骤在本地数据中心构建 GPU 加速集群。

第 1 步:选择硬件

GPU 集群的基本组件是节点,即运行一个或多个 GPU 的物理机,可用于运行工作负载。为节点选择硬件时,请考虑以下参数:

  • CPU 处理器 — 节点需要 CPU 和 GPU。对于大多数 GPU 节点,任何现代 CPU 都可以。

  • RAM — 系统 RAM 越多越好,但请确保每个节点上至少有 24 GB DDR3 RAM。

  • 网络 - 每个节点应至少有两个可用的网络端口。您将需要使用 Infiniband 在 GPU 之间实现快速互连。

  • 主板 — 主板应具有 PCI-express (PCIe) 连接,用于您打算使用的 GPU 和 Infiniband 卡。确保您的 GPU 主板具有物理隔离的 PCIe x16 插槽和 PCIx8 插槽。您通常将 x16 插槽用于 GPU,将 x8 插槽用于网卡。

  • 电源单元 — 数据中心级 GPU 尤其耗电。在计算所需的总功率时,请考虑 CPU、节点上运行的所有 GPU 和其他组件。

  • 存储 - 首选 SSD 驱动器,但 SSD 可能足以满足某些情况。

  • GPU 外形规格 - 考虑与您的节点硬件相匹配的 GPU 外形规格以及您希望每个节点运行的 GPU 数量。常见的外形尺寸包括紧凑型 (SFF)、单插槽、双插槽、主动冷却、被动冷却和水冷。

第 2 步:分配空间、电源和冷却

GPU 可能需要自己的设施,也可以作为现有数据中心的一部分进行安置。规划以下元素:

  • 物理空间 - 确保您的数据中心内有机架和物理空间用于要部署的节点。

  • 冷却 — GPU 需要大量冷却。考虑您的 GPU 是使用板载设备主动冷却还是被动冷却,并规划整个集群的整体冷却要求。

  • 网络 — 确保您拥有快速以太网交换机,以实现集群主节点和工作节点之间的通信。

  • 存储 — 根据您的数据要求,除了节点上的本地存储之外,您可能需要一个中央存储解决方案。

步骤 3:物理部署

现在,您已经准备好了设施和设备,您需要以物理方式部署节点。你将有一个头节点、一个控制群集的专用节点,以及运行工作负载的多个工作器节点。

按如下方式部署网络:

  • 头节点必须接收来自群集外部的网络连接和请求,并将它们传递给工作节点。

  • 工作节点必须通过快速以太网连接连接到头节点。



以下为一种典型集群管理软件架构

为头节点和工作节点部署软件

部署硬件和网络后,在节点上部署操作系统。NVIDIA 建议将开源 Rocks Linux 用于计算集群。

此外,您将需要管理软件。一个常见的选择是使用 Kubernetes 管理计算集群。在这种情况下,需要在头节点上部署 Kubernetes 控制平面(最好使用另一个冗余头节点以实现高可用性),并在其余计算机上部署 Kubernetes 工作器节点。您可能需要部署其他软件,例如 SLURM 作业调度程序。


GPU 群集硬件选项

让我们回顾一下构建 GPU 集群时可以使用的主要硬件选项。

数据中心 GPU 选项

以下是一些世界上最强大的数据中心级 GPU,通常用于构建大规模 GPU 基础设施。


当前典型GPU规格对比:

NVIDIA H100

NVIDIA H100 Tensor Core GPU,为各种工作负载提供卓越的性能、可扩展性和安全性。借助 NVIDIA NVLink™ 交换机系统,最多可连接 256 个 H100 GPU,以加速百亿亿次级工作负载。GPU 还包括一个专用的 Transformer 引擎,用于求解万亿参数语言模型。H100 的综合技术创新可以将大型语言模型 (LLM) 的速度提高 30 倍,以提供行业领先的对话式 AI。

英伟达特斯拉 A100

A100 基于 Tensor Core,并利用多实例 GPU (MIG) 技术。它专为高性能计算 (HPC)、机器学习和数据分析等工作负载而构建。

Tesla A100 旨在实现可扩展性(最多数千个单元),并且可以分为七个 GPU 实例,用于不同的工作负载大小。A100 提供高达 624 teraflops(每秒 10 亿次浮点运算)的性能,并具有 40GB 内存、1,555 GB 带宽和 600GB/s 互连。

英伟达特斯拉 V100

V100 GPU 也基于 Tensor Core,专为机器学习、深度学习和 HPC 等应用而设计。它使用 NVIDIA Volta 技术来加速深度学习工作负载中的常见张量运算。Tesla V100 提供高达 149 teraflops 的性能以及 32GB 内存和 4,096 位内存总线。

英伟达特斯拉P100

Tesla P100 GPU 基于专为 HPC 和机器学习设计的 NVIDIA Pascal 架构。P100 提供高达 21 teraflops 的性能,具有 16GB 内存和 4,096 位内存总线。

英伟达特斯拉 K80

K80 GPU 采用 NVIDIA Kepler 架构,可加速数据分析和科学计算。它采用了 GPU Boost™ 技术和 4,992 个 NVIDIA CUDA 内核。Tesla K80 提供高达 8.73 teraflops 的性能,具有 480GB 内存带宽和 24GB GDDR5 内存。

谷歌TPU

Google 提供的张量处理单元 (TPU) 略有不同,TPU 是基于芯片或云的专用集成电路 (ASIC),支持深度学习。这些 TPU 专为与 TensorFlow 一起使用而设计,只能在 Google Cloud Platform 上找到。

Google TPU 提供高达 420 teraflops 的性能和 128 GB 的高带宽内存 (HBM)。您还可以找到提供超过 100 petaflops 性能的 pod 版本,具有 32TB HBM 和 2D 环形网状网络。

GPU 服务器选项

GPU 服务器,也称为 GPU 工作站,是一种能够在一个物理机箱中运行多个 GPU 的系统。

NVIDIA DGX-1 — 第一代 DGX 服务器

NVIDIA DGX-1 是第一代 DGX 服务器。它是一款具有强大计算能力的集成工作站,适用于深度学习。它提供 1 petaflop 的 GPU 计算能力,并提供以下硬件功能:



英伟达 DGX-2

第二代 DGX 服务器 DGX-2 的架构与 DGX-1 相似,但计算能力更强,与 2 特斯拉 V16 GPU 一起使用时可达到 100 petaflops。NVIDIA 解释说,要使用典型的 x86 架构训练 ResNet-50,您需要 300 台由双 Intel Xeon Gold CPU 支持的服务器才能实现与 DGX-2 相同的处理速度。它还将耗资超过270万美元。

DGX-2 提供以下硬件功能:




英伟达 DGX A100

NVIDIA 的第三代 AI 系统是 DGX A100,它在单个系统中提供 5 petaflops 的计算能力。

A100 有两种型号,配备 320GB RAM 或 640GB RAM。它提供以下硬件功能:




NVIDIA DGX Station A100 — 第三代 DGX 工作站

DGX Station 是 DGX A100 的轻量级版本,供开发人员或小型团队使用。它具有 Tensor Core 架构,允许 A100 GPU 利用混合精度、乘法累加运算,这有助于显著加速大型神经网络的训练。

DGX Station 有两种型号,分别为 160GB 或 320GB GPU RAM。它提供以下硬件功能:



英伟达 DGX SuperPOD

DGX SuperPOD 是一个用于全栈工作负载的多节点计算平台。它为数据科学管道提供网络、存储、计算和工具。NVIDIA 提供实施服务,帮助您持续部署和维护 SuperPOD。

SuperPOD 支持在单个 AI 基础设施集群中集成多达 140 个 DGX A100 系统。该群集提供以下功能:



Lambda Labs GPU 工作站

Lambda Labs 提供具有 2-4 个 GPU 的中端 GPU 工作站。它们通常由个人机器学习工程师或小型团队在本地环境中训练模型使用。工作站提供以下硬件功能:



构建AI训练集群需要考虑多个方面,以下是一些需要注意的问题:

  1. 硬件选择:选择适当的硬件设备,包括GPU、TPU等加速器以及服务器、存储设备等。确保硬件能够满足训练任务的需求,并具有良好的可扩展性和性能。

  2. 软件框架:选择合适的深度学习框架,如TensorFlow、PyTorch等,并根据需求配置和优化框架参数。确保所选框架能够充分利用硬件资源进行训练。

  3. 数据管理:有效管理训练数据,包括数据的收集、清洗、标注和存储等。确保数据质量和数据安全,同时保障数据的可访问性和可用性。

  4. 网络架构:设计合适的网络架构,包括集群的拓扑结构、通信协议和带宽等。确保集群内各个节点之间的通信能够高效地进行,并且能够支持大规模的并行训练任务。

  5. 分布式训练:配置和优化分布式训练框架,确保训练任务能够有效地在集群中进行并行计算。考虑数据并行、模型并行等不同的并行训练策略,并根据需求进行选择和优化。

  6. 性能调优:监控和调优集群的性能,包括硬件性能、软件性能以及训练作业的性能等方面。通过调整超参数、模型架构和集群配置等手段,优化训练任务的性能和效率。

  7. 安全保障:确保集群的安全性,包括数据安全、系统安全和网络安全等方面。采取必要的安全措施,如数据加密、访问控制、身份认证等,防止数据泄露和未经授权的访问。

  8. 可扩展性和容错性:设计具有良好的可扩展性和容错性的集群架构,以应对不同规模和复杂度的训练任务。确保集群能够灵活地扩展和缩减,并且能够在硬件故障或网络中断等情况下保持稳定运行。

通过综合考虑以上问题,并根据具体需求进行选择和优化,可以构建一个高效、稳定和安全的AI训练集群,用于训练各种类型的深度学习模型。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询