View a markdown version of this page

设置用于人工智能/机器学习工作负载的 Amazon EKS 集群 - Amazon EKS

帮助改进此页面

要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。

设置用于人工智能/机器学习工作负载的 Amazon EKS 集群

提示

注册参加即将举办的 Amazon EKS 人工智能/机器学习讲习会。

本节将指导您创建可随时运行推理工作负载的 Amazon EKS 集群,(包括具有 GPU 的计算)、监控堆栈和用于存储模型权重的 Amazon S3 存储,以及必要的 AWS IAM 权限。

架构概述

设置过程会创建以下基础设施:

  • 具有 GPU 节点的 EKS 集群:将使用竞价型容量动态预调配 G 系列 GPU 实例并启用按需型回退的 Karpenter 托管式节点池。

  • 监控堆栈:Prometheus 会抓取集群、节点和 GPU 指标,然后将其远程写入 Amazon Managed Service for Prometheus(AMP)。Grafana 提供了多种控制面板来实现可视化。NVIDIA DCGM Exporter 会添加 GPU 特定的指标,包括利用率、内存、温度、功耗、NVLink 带宽、张量活动等。

  • 模型权重 S3 存储桶:用于存储模型权重的 Amazon S3 存储桶,具有向工作负载容器授予读写权限的 EKS容器组身份关联。

集群计算选项

该指南提供了两种集群设置路径。请选择一种并在所有步骤中始终遵循该路径。

  • EKS 自动模式:只需一条命令即可配置启用了 EKS 自动模式的 EKS 集群。所有必需组件都已标准配置,包括基于 Karpenter 的自动扩缩、EKS 节点监控代理、使用 SOCI 的快速容器拉取以及 NVIDIA 设备插件。

  • 自行管理的 Karpenter:您可以显式安装和配置每个组件:通过 eksctl 安装的 Karpenter、通过其特性门控启用的自动节点修复功能、作为 EKS 附加组件的 EKS 节点监控代理以及通过 Helm 安装的 NVIDIA 设备插件。您还可以创建使用 EKS 优化版 NVIDIA AL2023 AMI 的自定义 EC2NodeClass 并配置 SOCI。

您需要进行哪些设置

步骤 说明

创建集群

配置 GPU 工作负载所需的 EKS 控制面板和集群级别组件。

创建动态预调配的 GPU 节点

定义一个将在调度工作负载时预调配 G 系列 GPU 实例的动态 GPU 节点池。

使用示例容器组进行测试

运行会触发 Karpenter 预调配 GPU 节点的 nvidia-smi 容器组,从而端到端验证设置。

添加预留容量(可选)

将按需型容量预留(ODCR)附加到您的节点类,以将预留容量优先用于竞价型/按需型回退。

安装监控

部署具有远程写入 AMP 权限的 kube-prometheus-stack(Prometheus + Grafana),以及用于 GPU 指标的 NVIDIA DCGM Exporter。

创建模型权重存储桶

创建一个 S3 存储桶并配置 EKS容器组身份,以便工作负载容器组可以读取和写入模型权重。

开始使用

如需使用 AWS CLI 的详细分步指导,请参阅使用 CLI 为人工智能/机器学习工作负载设置 Amazon EKS 集群