Installation von Paketen auf dem Amazon-EKS-Cluster mit Helm - Amazon SageMaker KI

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Installation von Paketen auf dem Amazon-EKS-Cluster mit Helm

Bevor Sie einen SageMaker HyperPod Cluster erstellen und an einen Amazon EKS-Cluster anhängen, sollten Sie Pakete mit Helm, einem Paketmanager für Kubernetes, installieren. Helm ist ein Open-Source-Tool zum Einrichten eines Installationsprozesses für Kubernetes-Cluster. Es ermöglicht die Automatisierung und Rationalisierung von Abhängigkeitsinstallationen und vereinfacht verschiedene Setups, die für die Vorbereitung des Amazon EKS-Clusters als Orchestrator (Kontrollebene) für einen Cluster erforderlich sind. SageMaker HyperPod

Das SageMaker HyperPod Serviceteam stellt ein Helm-Chart-Paket bereit, das wichtige Abhängigkeiten wie device/EFA Plug-ins, Plug-ins, Kubeflow Training Operator und zugehörige Berechtigungskonfigurationen bündelt.

Wichtig

Dieser Helm-Installationsschritt ist erforderlich. Wenn Sie Ihren Amazon-EKS-Cluster mit der AWS-Managementkonsole oder CloudFormation einrichten, können Sie diesen Schritt überspringen, da die Installation während des Einrichtungsvorgangs automatisch durchgeführt wird. Wenn Sie den Cluster direkt mit dem einrichten APIs, verwenden Sie das bereitgestellte Helm-Diagramm, um Ihren Amazon EKS-Cluster zu konfigurieren. Wenn Sie Ihren Amazon EKS-Cluster nicht mithilfe des bereitgestellten Helm-Diagramms konfigurieren, kann dies dazu führen, dass der SageMaker HyperPod Cluster nicht richtig funktioniert oder der Erstellungsprozess vollständig fehlschlägt. Der aws-hyperpod-Namespace-Name kann nicht geändert werden.

  1. Installieren Sie Helm auf Ihrem lokalen Computer.

  2. Laden Sie die Helm-Charts herunter, die SageMaker HyperPod sich unter helm_chart/HyperPodHelmChart im SageMaker HyperPod CLI-Repository befinden.

    git clone https://github.com/aws/sagemaker-hyperpod-cli.git cd sagemaker-hyperpod-cli/helm_chart
  3. Aktualisieren Sie die Abhängigkeiten des Helm-Charts, überprüfen Sie die Änderungen, die an Ihrem Kubernetes-Cluster vorgenommen werden, und installieren Sie das Helm-Chart.

    helm dependencies update HyperPodHelmChart
    helm install hyperpod-dependencies HyperPodHelmChart --namespace kube-system --dry-run
    helm install hyperpod-dependencies HyperPodHelmChart --namespace kube-system

Zusammenfassend lässt sich sagen, dass die Helm-Installation verschiedene Komponenten für Ihren Amazon EKS-Cluster einrichtet, darunter Job Scheduling and Queueing (Kueue), Speicherverwaltung, MLflow Integration und Kubeflow. Darüber hinaus werden in den Diagrammen die folgenden Komponenten für die Integration in die SageMaker HyperPod Cluster-Resilienzfunktionen installiert, bei denen es sich um erforderliche Komponenten handelt.

  • Health Monitoring Agent — Dadurch wird der Health Monitoring Agent installiert, der von bereitgestellt wird. SageMaker HyperPod Dies ist erforderlich, wenn Sie möchten, dass Ihr HyperPod Cluster überwacht wird. Agent für die Zustandsüberwachung werden wie folgt als Docker-Images bereitgestellt. Im bereitgestellten values.yaml in den Helm-Charts ist das Image voreingestellt. Der Agent unterstützt GPU-basierte Instanzen und Trainium-accelerator-based Instanzen (trn1,trn1n,inf2). Er ist im aws-hyperpod-Namespace installiert. Ihre unterstützte URI finden Sie unter Unterstützte Regionen und deren ECR URIs im sagemaker-hyperpod-cli Repository unter. GitHub

  • Deep Health Check — Dadurch werden aClusterRole, a ServiceAccount (deep-health-check-service-account) im aws-hyperpod Namespace und a eingerichtet, ClusterRoleBinding um die SageMaker HyperPod Deep Health Check-Funktion zu aktivieren. Weitere Informationen zur Kubernetes-RBAC-Datei für den Deep Health Check finden Sie in der Konfigurationsdatei deep-health-check-rbac.yamlim CLI-Repository. SageMaker HyperPod GitHub

  • job-auto-restart- Dadurch werden aClusterRole, a ServiceAccount (job-auto-restart) im aws-hyperpod Namespace und a, eingerichtetClusterRoleBinding, um die automatische Neustartfunktion für PyTorch Trainingsjobs in zu aktivieren. SageMaker HyperPod Weitere Informationen zur Kubernetes-RBAC-Datei für job-auto-restart finden Sie in der Konfigurationsdatei job-auto-restart-rbac.yamlim CLI-Repository. SageMaker HyperPod GitHub

  • Kubeflow MPI Operator: Der MPI Operator ist ein Kubernetes Operator, der die Ausführung verteilter Machine Learning (ML)- und High-Performance Computing (HPC)-Workloads unter Verwendung der Message Passing Interface (MPI) auf Kubernetes-Clustern vereinfacht. Er installiert MPI Operator v0.5. Er ist im mpi-operator-Namespace installiert.

  • nvidia-device-plugin— Dies ist ein Kubernetes-Geräte-Plug-in, mit dem Sie NVIDIA automatisch GPUs für die Nutzung durch Container in Ihrem Amazon EKS-Cluster verfügbar machen können. Es ermöglicht Kubernetes, den für diesen Container angeforderten Container zuzuweisen und Zugriff darauf bereitzustellen. GPUs Erforderlich, wenn ein Instance-Typ mit GPU verwendet wird.

  • neuron-device-plugin – dies ist ein Kubernetes-Geräte-Plugin, mit dem Sie AWS -Inferentia-Chips automatisch für die Nutzung durch Container in Ihrem Amazon-EKS-Cluster verfügbar machen können. Es ermöglicht Kubernetes, auf die AWS Inferentia-Chips auf den Clusterknoten zuzugreifen und diese zu nutzen. Erforderlich, wenn ein Neuron-Instance-Typ verwendet wird.

  • aws-efa-k8s-device-plugin— Dies ist ein Kubernetes-Geräte-Plug-in, das die Verwendung des AWS Elastic Fabric Adapter (EFA) auf Amazon EKS-Clustern ermöglicht. EFA ist ein Netzwerkgerät, das Kommunikation mit niedriger Latenz und hohem Durchsatz zwischen Instances in einem Cluster ermöglicht. Erforderlich, wenn ein von EFA unterstützter Instance-Typ verwendet wird.

Weitere Informationen zum Installationsverfahren mithilfe der bereitgestellten Helm-Diagramme finden Sie in der README-Datei im SageMaker HyperPod CLI-Repository.