Utilizzo del driver CSI Amazon EBS su SageMaker HyperPod cluster EKS - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo del driver CSI Amazon EBS su SageMaker HyperPod cluster EKS

SageMaker HyperPod supporta il driver Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI), che gestisce il ciclo di vita dei volumi Amazon EBS come storage per i volumi Kubernetes che crei. Con il driver Amazon EBS CSI, puoi creare, collegare e gestire i volumi Amazon EBS per i carichi di lavoro di machine learning in esecuzione su cluster SageMaker HyperPod con orchestrazione Amazon EKS.

Funzionalità chiave di archiviazione

Il driver CSI di Amazon EBS SageMaker HyperPod supporta le seguenti funzionalità di storage.

  • Provisioning statico: associa i volumi Amazon EBS precreati ai volumi persistenti Kubernetes da utilizzare nei pod.

  • Provisioning dinamico: crea automaticamente i volumi Amazon EBS e i volumi persistenti associati da PersistentVolumeClaims. I parametri possono essere passati tramite StorageClass per un controllo granulare sulla creazione dei volumi.

  • Ridimensionamento dei volumi: espande i volumi esistenti aggiornando le specifiche delle dimensioni in PersistentVolumeClaims senza arrestare l’esecuzione dei carichi di lavoro. Questa opzione potrebbe essere essenziale per gestire repository di modelli in crescita o adattarsi a nodi più grandi senza interrompere il servizio.

  • Istantanee di volume: crea point-in-time istantanee di volumi per il backup, il ripristino e il controllo delle versioni dei dati.

  • Volumi a blocchi: fornisce l’accesso ai dispositivi a blocchi non elaborati per applicazioni ad alte prestazioni che richiedono l’accesso diretto all’archiviazione.

  • Modifica del volume: modifica le proprietà del volume, ad esempio il tipo, le operazioni di input o output al secondo (IOPS) o il throughput utilizzando le classi di attributi del volume.

Per ulteriori informazioni sul driver CSI di Amazon EBS, consulta Use Kubernetes volume storage with Amazon EBS in Amazon EKS User Guide.

Per ulteriori informazioni sull’archiviazione nei pod del cluster, consulta Storage nella documentazione di Kubernetes.

Casi d’uso

L'integrazione dei driver CSI di Amazon EBS consente diversi casi d'uso chiave per carichi di lavoro di formazione e inferenza su cluster EKS. SageMaker HyperPod

Carichi di lavoro di addestramento

  • Archiviazione di set di dati: alloca volumi per set di dati di addestramento che persistono anche dopo il riavvio del pod.

  • Archiviazione dei checkpoint: salva i checkpoint del modello e i risultati intermedi dell’addestramento.

  • Artefatti condivisi: accedi a set di dati comuni e ad artefatti dei modelli in più job di addestramento.

Carichi di lavoro di inferenza

  • Archiviazione dei modelli: alloca dinamicamente volumi di dimensione appropriata in base ai requisiti del modello.

  • Caching dei container: crea un’archiviazione temporanea per migliorare le prestazioni di inferenza.

  • Registrazione di log degli eventi: archivia i risultati di inferenza e i log con archiviazione persistente.

Configurazione del driver CSI Amazon EBS sui SageMaker HyperPod cluster EKS

Il driver Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI) consente di effettuare il provisioning e gestire dinamicamente i volumi Amazon EBS per i carichi di lavoro containerizzati in esecuzione su cluster con orchestrazione EKS. SageMaker HyperPod Questa sezione descrive l’installazione e la configurazione del driver CSI di Amazon EBS per abilitare l’archiviazione persistente per i carichi di lavoro di machine learning.

Prerequisiti

Prima di iniziare, esegui queste attività:

Autorizzazioni aggiuntive

Per configurare il componente aggiuntivo del driver CSI di Amazon EBS, segui le istruzioni in Use Kubernetes volume storage with Amazon EBS in Amazon EKS User Guide. Devi anche aggiungere le autorizzazioni seguenti al ruolo IAM utilizzato per eseguire il componente aggiuntivo del driver. Tieni presente che questo è il ruolo IAM specificato nella configurazione dell'account di servizio per il driver aggiuntivo, non il ruolo di esecuzione del HyperPod cluster.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:AttachClusterNodeVolume", "sagemaker:DetachClusterNodeVolume" ], "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/*" }, { "Effect": "Allow", "Action": [ "eks:DescribeCluster" ], "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/my-cluster-name" } ] }

Usando il APIs

In alternativa, puoi utilizzare le operazioni AttachClusterNodeVolumee DetachClusterNodeVolumeAPI per collegare e scollegare i volumi Amazon EBS alle istanze del cluster SageMaker HyperPod EKS.

I requisiti chiave per il loro utilizzo APIs includono quanto segue.

  • Sia il volume Amazon EBS che il cluster SageMaker HyperPod EKS devono essere di proprietà dello stessoAccount AWS.

  • Il principale che esegue la chiamata necessita di autorizzazioni minime specifiche per eseguire correttamente l’operazione di collegamento o scollegamento. Per ulteriori informazioni su queste autorizzazioni, consulta le sezioni seguenti.

  • Dopo aver collegato un volume al HyperPod nodo, segui le istruzioni in Accesso ai nodi del SageMaker HyperPod cluster per accedere al nodo del cluster e Rendere disponibile un volume da utilizzare per montare il volume collegato.

Autorizzazioni necessarie per sagemaker:AttachClusterNodeVolume

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:AttachClusterNodeVolume" ], "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/*" }, { "Effect": "Allow", "Action": [ "eks:DescribeCluster" ], "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/my-cluster-name" }, { "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DescribeVolumes" ], "Resource": "arn:aws:ec2:us-east-1:111122223333:volume/*" } ] }

Autorizzazioni necessarie per sagemaker:DetachClusterNodeVolume

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:DetachClusterNodeVolume" ], "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/*" }, { "Effect": "Allow", "Action": [ "eks:DescribeCluster" ], "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/my-cluster-name" }, { "Effect": "Allow", "Action": [ "ec2:DetachVolume", "ec2:DescribeVolumes" ], "Resource": "arn:aws:ec2:us-east-1:111122223333:volume/*" } ] }

Autorizzazioni richieste per le chiavi AWS KMS

Aggiungi le seguenti AWS KMS autorizzazioni solo se utilizzi chiavi KMS gestite dal cliente per crittografare i volumi Amazon EBS collegati ai nodi del cluster. HyperPod Queste autorizzazioni non sono necessarie se utilizzi chiavi KMS gestite da AWS (l’opzione di crittografia predefinita).

JSON
{ "Version":"2012-10-17", "Id": "key-default-1", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/caller-role" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/caller-role" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:CallerAccount": "111122223333", "kms:ViaService": "ec2.us-east-1.amazonaws.com" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:ebs:id" }, "Bool": { "kms:GrantIsForAWSResource": true }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt" ] } } } ] }
Nota

Queste AWS KMS autorizzazioni non sono necessarie sagemaker:DetachClusterNodeVolume quando si scollega un volume Cluster Auto Volume Attachment (CAVA) crittografato con chiavi KMS gestite dal cliente.