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.
Aktualisieren Sie Ihre AMI-Version in Ihrem SageMaker HyperPod Cluster
Amazon SageMaker HyperPod Amazon Machine Images (AMIs) sind spezialisierte Maschinenimages für verteilte Workloads für maschinelles Lernen und Hochleistungsrechnen. Auf jedem AMI sind Treiber, Frameworks für maschinelles Lernen, Schulungsbibliotheken und Tools zur Leistungsüberwachung vorinstalliert. Durch die Aktualisierung der AMI-Version in Ihrem Cluster können Sie die neuesten Versionen dieser Komponenten und Pakete für Ihre Trainingsaufgaben und Workflows verwenden.
Wenn Sie die AMI-Version in Ihrem Cluster aktualisieren, haben Sie die Möglichkeit, das Update sofort zu verarbeiten, ein einmaliges Update zu planen oder einen Cron-Ausdruck zu verwenden, um einen wiederkehrenden Zeitplan zu erstellen. Sie können auch wählen, ob Sie alle Instances in einer Instance-Gruppe oder nur Batches von Instances aktualisieren möchten. Wenn Sie Batches aktualisieren möchten, legen Sie den Prozentsatz oder die Anzahl der Instances fest, für die SageMaker KI gleichzeitig ein Upgrade durchführen soll. Wenn Sie diese Aktualisierungsmethode verwenden, legen Sie ein Intervall fest, in dem SageMaker KI zwischen den Batches warten soll.
Wenn Sie sich dafür entscheiden, stapelweise zu aktualisieren, können Sie auch eine Liste mit Alarmen und Messwerten hinzufügen. Während des Wartezeitraums beobachtet SageMaker KI diese Metriken, und wenn sie ihren Schwellenwert überschreiten, geht der entsprechende Alarm in den ALARM-Status über und SageMaker KI macht das AMI-Update rückgängig. Um automatische Rollbacks nutzen zu können, muss Ihre IAM-Ausführungsrolle über die entsprechende Genehmigung cloudwatch:DescribeAlarms verfügen.
Anmerkung
Die stapelweise Aktualisierung Ihres Clusters ist nur für HyperPod Cluster verfügbar, die in Amazon EKS integriert sind. Wenn Sie mehrere Zeitpläne erstellen, empfehlen wir außerdem, dass Sie zwischen den Zeitplänen einen Zeitpuffer haben. Wenn sich Zeitpläne überschneiden, schlagen Aktualisierungen möglicherweise fehl.
Weitere Informationen zu den einzelnen AMI-Versionen für Ihren HyperPod Cluster finden Sie unterSageMaker HyperPod Amazon-AMI. Weitere Informationen zu allgemeinen HyperPod Versionen finden Sie unterSageMaker HyperPod Versionshinweise von Amazon.
Sie können die SageMaker KI-API- oder CLI-Operationen verwenden, um Ihren Cluster zu aktualisieren oder geplante Updates für einen bestimmten Cluster einzusehen. Wenn Sie die AWS Konsole verwenden, gehen Sie wie folgt vor:
Anmerkung
Die Aktualisierung Ihres AMI mit der AWS Konsole ist nur für Cluster verfügbar, die in Amazon EKS integriert sind. Wenn Sie einen Slurm-Cluster haben, müssen Sie die SageMaker KI-API- oder CLI-Operationen verwenden.
-
Öffnen Sie die Amazon SageMaker AI-Konsole unter https://console.aws.amazon.com/sagemaker/
. -
Erweitern Sie auf der linken Seite HyperPod Clusters und wählen Sie Cluster Management aus.
-
Wählen Sie den Cluster aus, den Sie aktualisieren möchten, klicken Sie dann auf Details und dann auf AMI aktualisieren.
Verwenden Sie die folgenden API-Operationen, um Aktualisierungszeitpläne programmgesteuert zu erstellen und zu verwalten:
-
CreateCluster— Erstellen Sie einen Cluster und geben Sie dabei einen Aktualisierungszeitplan an
-
UpdateCluster— aktualisiert einen Cluster, um einen Aktualisierungszeitplan hinzuzufügen
-
UpdateClusterSoftware— um die Plattformsoftware eines Clusters zu aktualisieren
-
DescribeCluster— sehen Sie sich einen Aktualisierungszeitplan an, den Sie für einen Cluster erstellt haben
-
DescribeClusterNodeund ListClusterNodes— sehen Sie, wann der Cluster zuletzt aktualisiert wurde.
Erforderliche Berechtigungen
Je nachdem, wie Sie Ihr 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
Verwenden Sie die folgenden Befehle, um die Berechtigungen anzuwenden.
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
Cron-Ausdrücke
Verwenden Sie Cron-Ausdrücke, um ein einmaliges Update zu einem bestimmten Zeitpunkt oder nach einem wiederkehrenden Zeitplan zu konfigurieren. Cron-Ausdrücke unterstützen sechs Felder und werden durch Leerzeichen getrennt. Es handelt sich um Pflichtfelder.
cron(MinutesHoursDay-of-monthMonthDay-of-weekYear)
| Felder | Werte | Platzhalter |
|---|---|---|
|
Minuten |
00–59 |
– |
|
Stunden |
00–23 |
– |
|
D ay-of-month |
01–31 |
? |
|
Monat |
01–12 |
* / |
|
D ay-of-week |
1 – 7 oder MO-SA |
? # L |
|
Jahr |
Aktuelles Jahr – 2099 |
* |
Platzhalter
-
Das Platzhalterzeichen * (Sternchen) steht für alle Werte im Feld. Im Feld
Hourssteht * für alle Stunden. -
Das Platzhalterzeichen / (Schrägstrich) steht für schrittweise Steigerungen. In das
Months-Feld könnten Sie*/3eingeben, um jeden 3. Monat anzugeben. -
Das Platzhalterzeichen ? (Fragezeichen) steht für einen Wert. In das
Day-of-monthFeld könntest du 7 eingeben, und wenn es dir egal wäre, welcher Wochentag der siebte war, könntest du eingeben? auf dem Day-of-week Feld. -
Der Platzhalter L im Feld
day-of-weekoder gibt den letzten Tag des Monats oder der Woche an. Beispielsweise bedeutet5Lden letzten Freitag des Monats. -
Der Platzhalter # in dem ay-of-week Feld gibt eine bestimmte Instanz des angegebenen Wochentags innerhalb eines Monats an. Beispiel: 3#2 steht für den zweiten Dienstag des Monats: Die 3 bezieht sich auf Dienstag, da dies der dritte Tag jeder Woche ist, und die 2 bezieht sich auf den zweiten Tag dieses Typs innerhalb des Monats.
Sie können Cron-Ausdrücke für die folgenden Szenarien verwenden:
-
Einmaliger Zeitplan, der zu einer bestimmten Uhrzeit und an einem bestimmten Tag ausgeführt wird. Sie können den
?Platzhalter verwenden, um dies zu kennzeichnen day-of-month oder es spielt day-of-week keine Rolle.cron(30 14 ? 12 MON 2024)cron(30 14 15 12 ? 2024) -
Ein wöchentlicher Zeitplan, der zu einer bestimmten Uhrzeit und an einem bestimmten Tag ausgeführt wird. Im folgenden Beispiel wird ein Zeitplan erstellt, der an jedem Montag um 12:00 Uhr läuft, unabhängig von. day-of-month
cron(00 12 ? * 1 *) -
Monatlicher Zeitplan, der jeden Monat ausgeführt wird, unabhängig vom day-of-week. Der folgende Zeitplan wird am 15. eines jeden Monats um 12:30 Uhr ausgeführt.
cron(30 12 15 * ? *) -
Ein monatlicher Zeitplan, der verwendet day-of-week.
cron(30 12 ? * MON *) -
Um einen Zeitplan zu erstellen, der alle N Monate ausgeführt wird, verwenden Sie den Platzhalter
/. Im folgenden Beispiel wird ein monatlicher Zeitplan erstellt, der alle 3 Monate ausgeführt wird. Die folgenden zwei Beispiele zeigen, wie es mit day-of-week und funktioniert day-of-month.cron(30 12 15 */3 ? *)cron(30 12 ? */3 MON *) -
Ein Zeitplan, der für eine bestimmte Instance des angegebenen Wochentags ausgeführt wird. Im folgenden Beispiel wird ein Zeitplan erstellt, der an jedem zweiten Montag jedes Monats um 12:30 Uhr ausgeführt wird.
cron(30 12 ? * 1#2 *) -
Ein Zeitplan, der auf der letzten Instance des angegebenen Wochentags ausgeführt wird. Der folgende Zeitplan am letzten Montag jeden Monats um 12:30 Uhr ausgeführt.
cron(30 12 ? * 1L *)