Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Mettez à jour la version de votre AMI dans votre SageMaker HyperPod cluster
Amazon SageMaker HyperPod Amazon Machine Images (AMIs) sont des images de machine spécialisées pour les charges de travail d'apprentissage automatique distribuées et le calcul haute performance. Chaque AMI est préchargée de pilotes, de cadres de machine learning, de bibliothèques d’entraînement et d’outils de surveillance des performances. En mettant à jour la version de l’AMI dans votre cluster, vous pouvez utiliser les dernières versions de ces composants et packages pour vos tâches d’entraînement et vos flux de travail.
Lorsque vous mettez à jour la version de l’AMI au sein de votre cluster, vous avez la possibilité de traiter la mise à jour immédiatement, de planifier une mise à jour unique ou d’utiliser une expression cron pour créer une planification récurrente. Vous pouvez également choisir de mettre à jour toutes les instances d’un groupe d’instances ou uniquement des lots d’instances. Si vous choisissez de mettre à jour des lots, vous définissez le pourcentage ou le nombre d'instances que l' SageMaker IA doit mettre à niveau à la fois. Si vous utilisez cette méthode de mise à jour, vous définissez un intervalle de temps pendant lequel l' SageMaker IA doit attendre entre les lots.
Si vous choisissez de mettre à jour par lots, vous pouvez également inclure une liste d’alarmes et de métriques. Pendant l'intervalle d'attente, l' SageMaker IA observe ces métriques et si certaines dépassent leur seuil, l'alarme correspondante passe à l'état ALARM, et l' SageMaker IA annule la mise à jour de l'AMI. Pour utiliser les annulations automatiques, votre rôle d’exécution IAM doit disposer de l’autorisation cloudwatch:DescribeAlarms.
Note
La mise à jour de votre cluster par lots n'est disponible que pour les HyperPod clusters intégrés à Amazon EKS. De plus, si vous créez plusieurs planifications, nous vous recommandons de prévoir un intervalle de temps entre les planifications. Si les planifications se chevauchent, les mises à jour risquent d’échouer.
Pour plus d'informations sur chaque version d'AMI pour votre HyperPod cluster, consultezAmazon SageMaker HyperPod AMI. Pour plus d'informations sur les HyperPod versions générales, consultezNotes de SageMaker HyperPod publication d'Amazon.
Vous pouvez utiliser l'API SageMaker AI ou les opérations de la CLI pour mettre à jour votre cluster ou consulter les mises à jour planifiées pour un cluster spécifique. Si vous utilisez la AWS console, procédez comme suit :
Note
La mise à jour de votre AMI avec la AWS console n'est disponible que pour les clusters intégrés à Amazon EKS. Si vous avez un cluster Slurm, vous devez utiliser l'API SageMaker AI ou les opérations CLI.
-
Ouvrez la console Amazon SageMaker AI à l'adresse https://console.aws.amazon.com/sagemaker/
. -
Sur la gauche, développez HyperPod Clusters, puis choisissez Cluster Management.
-
Choisissez le cluster que vous souhaitez mettre à jour, puis choisissez Détails et Mettre à jour l’AMI.
Pour créer et gérer par programmation des planifications de mise à jour, utilisez les opérations d’API suivantes :
-
CreateCluster— crée un cluster en spécifiant un calendrier de mise à jour
-
UpdateCluster— met à jour un cluster pour ajouter un calendrier de mise à jour
-
UpdateClusterSoftware— pour mettre à jour le logiciel de la plateforme d'un cluster
-
DescribeCluster— voir un calendrier de mise à jour que vous avez créé pour un cluster
-
DescribeClusterNodeet ListClusterNodes— voir quand le cluster a été mis à jour pour la dernière fois.
Autorisations requises
En fonction de la façon dont vous avez configuré votre budget d'interruption des pods
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
Utilisez les commandes suivantes pour appliquer ces autorisations.
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
Expressions Cron
Pour configurer une mise à jour ponctuelle à un moment donné ou une planification récurrente, utilisez les expressions cron. Les expressions cron prennent en charge six champs et sont séparées par un espace. Les six champs sont tous requis.
cron(MinutesHoursDay-of-monthMonthDay-of-weekYear)
| Champs | Valeurs | Caractères génériques |
|---|---|---|
|
Minutes |
00 – 59 |
N/A |
|
Heures |
00 – 23 |
N/A |
|
D ay-of-month |
01 – 31 |
? |
|
Mois |
01 – 12 |
* / |
|
D ay-of-week |
1 – 7 ou LUN-DIM |
? # L |
|
Année |
Année en cours – 2099 |
* |
Caractères génériques
-
Le caractère générique * (astérisque) inclut toutes les valeurs du champ. Dans le champ
Hours, * inclut chaque heure. -
Le caractère générique / (barre oblique) spécifie les incréments. Dans le champ
Months, vous pouvez saisir*/3pour spécifier tous les 3 mois. -
Le caractère générique ? (point d’interrogation) indique l’un ou l’autre. Dans le
Day-of-monthchamp, tu pouvais saisir 7, et si tu ne te souciais pas du jour de la semaine le septième, tu pourrais entrer ? sur le Day-of-week terrain. -
Le caractère générique L dans le champ
day-of-weekspécifie le dernier jour du mois ou de la semaine. Par exemple,5Lsignifie le dernier vendredi du mois. -
Le caractère générique # dans le ay-of-week champ indique une certaine instance du jour de la semaine spécifié dans un délai d'un mois. Par exemple, 3#2 correspond au deuxième mardi du mois : le 3 fait référence à mardi, car c’est le troisième jour de chaque semaine, et le 2 fait référence à la deuxième journée de ce type dans le mois.
Vous pouvez utiliser les expressions cron dans les scénarios suivants :
-
Planification unique qui intervient à une heure et à un jour donnés. Vous pouvez utiliser le
?joker pour indiquer cela day-of-month ou cela n'a day-of-week pas d'importance.cron(30 14 ? 12 MON 2024)cron(30 14 15 12 ? 2024) -
Planification hebdomadaire qui intervient à une heure et à un jour donnés. L'exemple suivant crée un calendrier qui s'exécute à 12 h 00 tous les lundis, indépendamment de tout day-of-month.
cron(00 12 ? * 1 *) -
Programme mensuel qui fonctionne tous les mois, quel que soit le day-of-week. La planification suivante intervient à 12h30 le 15 de chaque mois.
cron(30 12 15 * ? *) -
Un calendrier mensuel qui utilise day-of-week.
cron(30 12 ? * MON *) -
Pour créer une planification qui intervient chaque N-ième mois, utilisez le caractère générique
/. L’exemple suivant crée une planification mensuelle qui intervient tous les 3 mois. Les deux exemples suivants montrent comment cela fonctionne avec day-of-week et day-of-month.cron(30 12 15 */3 ? *)cron(30 12 ? */3 MON *) -
Planification qui intervient à une certaine instance du jour de la semaine spécifié. L’exemple suivant crée une planification qui intervient à 12h30 le deuxième lundi de chaque mois.
cron(30 12 ? * 1#2 *) -
Planification qui intervient à la dernière instance du jour de la semaine spécifié. La planification suivante intervient à 12h30 le dernier lundi de chaque mois.
cron(30 12 ? * 1L *)