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à.
Aggiorna la versione AMI nel tuo SageMaker HyperPod cluster
Amazon SageMaker HyperPod Amazon Machine Images (AMIs) sono immagini di macchine specializzate per carichi di lavoro di apprendimento automatico distribuiti e calcolo ad alte prestazioni. In ogni AMI sono precaricati driver, framework di machine learning, librerie di addestramento e strumenti di monitoraggio delle prestazioni. Aggiornando la versione AMI nel cluster, puoi utilizzare le versioni più recenti di questi componenti e pacchetti per i tuoi job di addestramento e flussi di lavoro.
Quando aggiorni la versione AMI all’interno del tuo cluster, hai la possibilità di elaborare immediatamente l’aggiornamento, pianificare un aggiornamento una tantum o utilizzare un’espressione Cron per creare una pianificazione ricorrente. Puoi anche scegliere di aggiornare tutte le istanze in un gruppo di istanze o solo batch di istanze. Se scegli di aggiornare i batch, imposti la percentuale o la quantità di istanze che l' SageMaker IA deve aggiornare alla volta. Se utilizzi questo metodo di aggiornamento, imposti un intervallo di tempo di attesa dell' SageMaker IA tra un batch e l'altro.
Se scegli di eseguire l’aggiornamento in batch, puoi anche includere un elenco di allarmi e metriche. Durante l'intervallo di attesa, l' SageMaker IA osserva queste metriche e, se alcune superano la soglia, l'allarme corrispondente passa allo stato ALARM e l' SageMaker IA ripristina l'aggiornamento dell'AMI. Per utilizzare i rollback automatici, il ruolo di esecuzione IAM deve disporre dell’autorizzazione cloudwatch:DescribeAlarms.
Nota
L'aggiornamento del cluster in batch è disponibile solo per HyperPod i cluster integrati con Amazon EKS. Inoltre, se stai creando più pianificazioni, ti consigliamo di inserire un buffer temporale tra le pianificazioni. Se le pianificazioni si sovrappongono, gli aggiornamenti potrebbero non riuscire.
Per ulteriori informazioni su ogni versione AMI per il tuo HyperPod cluster, consultaSageMaker HyperPod AMI Amazon. Per ulteriori informazioni sulle HyperPod versioni generali, vedereNote di SageMaker HyperPod rilascio di Amazon.
Puoi utilizzare l'API SageMaker AI o le operazioni CLI per aggiornare il cluster o visualizzare gli aggiornamenti pianificati per un cluster specifico. Se utilizzi la AWS console, segui questi passaggi:
Nota
L'aggiornamento dell'AMI con la AWS console è disponibile solo per i cluster integrati con Amazon EKS. Se disponi di un cluster Slurm, devi utilizzare l'API SageMaker AI o le operazioni CLI.
-
Apri la console Amazon SageMaker AI all'indirizzo https://console.aws.amazon.com/sagemaker/
. -
A sinistra, espandi HyperPod Clusters e scegli Cluster Management.
-
Scegli il cluster da aggiornare, quindi scegli Dettagli e Aggiorna AMI.
Per creare e gestire le pianificazioni degli aggiornamenti in modo programmatico, utilizza le seguenti operazioni API:
-
CreateCluster— crea un cluster specificando una pianificazione degli aggiornamenti
-
UpdateCluster— aggiorna un cluster per aggiungere una pianificazione degli aggiornamenti
-
UpdateClusterSoftware— aggiornare il software della piattaforma di un cluster
-
DescribeCluster— visualizzare una pianificazione di aggiornamento creata per un cluster
-
DescribeClusterNodee ListClusterNodes— vedi quando è stato aggiornato l'ultima volta il cluster.
Autorizzazioni richieste
A seconda di come hai configurato Pod Disruption Budget
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: hyperpod-patching rules: - apiGroups: [""] resources: ["pods"] verbs: ["list"] - apiGroups: [""] resources: ["pods/eviction"] verbs: ["create"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: hyperpod-patching subjects: - kind: User name: hyperpod-service-linked-role roleRef: kind: ClusterRole name: hyperpod-patching apiGroup: rbac.authorization.k8s.io
Utilizza il comando seguente per impostare le autorizzazioni.
git clone https://github.com/aws/sagemaker-hyperpod-cli.git cd sagemaker-hyperpod-cli/helm_chart helm upgrade hyperpod-dependencies HyperPodHelmChart --namespace kube-system --install
Espressioni Cron
Per configurare un aggiornamento una tantum in un determinato momento o una pianificazione ricorrente, utilizza le espressioni Cron. Le espressioni Cron supportano sei campi e sono separate da uno spazio vuoto. Tutti e sei i campi sono obbligatori.
cron(MinutesHoursDay-of-monthMonthDay-of-weekYear)
| Campi | Valori | Caratteri jolly |
|---|---|---|
|
Minuti |
00-59 |
N/D |
|
Ore |
00-23 |
N/D |
|
D ay-of-month |
01-31 |
? |
|
Mese |
01-12 |
* / |
|
D ay-of-week |
1-7 o LUN-DOM |
? # L |
|
Anno |
Anno corrente: 2099 |
* |
Caratteri jolly
-
Il carattere jolly * (asterisco) include tutti i valori nel campo. Nel campo
Hours, * include ogni ora. -
Il carattere jolly / (barra) specifica gli incrementi. Nel campo
Months, puoi inserire*/3per specificare ogni terzo mese. -
Il carattere jolly ? (punto interrogativo) specifica un valore. Nel
Day-of-monthcampo puoi inserire 7, e se non ti interessa in che giorno della settimana è il settimo, puoi inserire? sul Day-of-week campo. -
Il carattere jolly L nel campo
day-of-weekspecifica l’ultimo giorno del mese o della settimana. Ad esempio,5Lsignifica l’ultimo venerdì del mese. -
Il carattere jolly # nel ay-of-week campo specifica una determinata istanza del giorno della settimana specificato nell'arco di un mese. Ad esempio, 3#2 sarebbe il secondo martedì del mese: il 3 fa riferimento a martedì perché è il terzo giorno di ogni settimana e il 2 fa riferimento al secondo giorno di questo tipo in un mese.
Puoi utilizzare le espressioni Cron per gli scenari seguenti:
-
Pianificazione una tantum che viene eseguita in un giorno e a un’ora predefiniti. Puoi usare il carattere
?jolly per indicarlo day-of-month o day-of-week non importa.cron(30 14 ? 12 MON 2024)cron(30 14 15 12 ? 2024) -
Pianificazione settimanale eseguita in un orario e in giorno determinati. L'esempio seguente crea una pianificazione che viene eseguita alle 12:00 di ogni lunedì indipendentemente. day-of-month
cron(00 12 ? * 1 *) -
Pianificazione mensile che viene eseguita ogni mese indipendentemente da. day-of-week La pianificazione seguente viene eseguita alle 12:30 del 15 di ogni mese.
cron(30 12 15 * ? *) -
Una pianificazione mensile che utilizza day-of-week.
cron(30 12 ? * MON *) -
Per creare una pianificazione eseguita ogni tot mesi, utilizza il carattere jolly
/. Nell’esempio seguente viene creata una pianificazione mensile eseguita ogni 3 mesi. I due esempi seguenti mostrano come funziona con day-of-week e day-of-month.cron(30 12 15 */3 ? *)cron(30 12 ? */3 MON *) -
Pianificazione eseguita su una determinata istanza del giorno della settimana specificato. L’esempio seguente crea una pianificazione che viene eseguita alle 12:30 del secondo lunedì di ogni mese.
cron(30 12 ? * 1#2 *) -
Pianificazione eseguita nell’ultima istanza del giorno della settimana specificato. La pianificazione seguente viene eseguita alle 12:30 dell’ultimo lunedì di ogni mese.
cron(30 12 ? * 1L *)