

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.

# Automatische Node-Wiederherstellung mit Ray
<a name="sagemaker-hyperpod-ray-node-recovery"></a>

HyperPod erkennt Hardware- und GPU-Fehler auf einem Knoten und stellt diesen Knoten ohne Eingreifen des Bedieners wieder her. Dies läuft auf der Infrastrukturebene. Ray benötigt dafür keine Konfiguration und Ihr Trainingscode ändert sich nicht.

## Einrichtung
<a name="sagemaker-hyperpod-ray-node-recovery-setup"></a>

Im HyperPod Cluster `NodeRecovery` `Automatic` auf eingestellt. Sie wenden dies an, wenn Sie den Cluster erstellen oder aktualisieren, nicht von Ray aus. Weitere Informationen finden Sie [ NodeRecovery ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html#sagemaker-CreateCluster-request-NodeRecovery) in der * SageMaker AI-API-Referenz*.

Nachdem die Knotenwiederherstellung für den Cluster aktiviert ist, gilt sie für jeden Ray-Workload, der darauf ausgeführt wird.

## Wie funktioniert das mit Ray
<a name="sagemaker-hyperpod-ray-node-recovery-with-ray"></a>

HyperPod stellt einen fehlerhaften Knoten wieder her, indem er neu gestartet oder ausgetauscht wird. Ray behandelt den Knoten, der ihn verlässt und wieder beitritt, als normalen Arbeitsverlust. Der Leiter erkennt die verlorenen Mitarbeiter und plant die betroffenen Aufgaben und Akteure neu ein. Das Training wird fortgesetzt, sobald wiederhergestellte Knoten wieder dem Cluster beitreten.

Einzelheiten zur Knotenwiederherstellung auf einem mit Amazon EKS orchestrierten Cluster finden Sie unter [ Cluster-Resilienzfunktionen für mit Amazon EKS orchestrierte SageMaker HyperPod Cluster. ](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-resiliency.html)

## Konfigurieren Sie Wiederholungen in Ray Train
<a name="sagemaker-hyperpod-ray-node-recovery-retries"></a>

Node Recovery stellt den Knoten wieder her, aber Ihr Trainingslauf muss angewiesen werden, es erneut zu versuchen. Ray Train versucht erneut, einen Lauf durchzuführen, wenn ein Worker ausfällt, bis `max_failures` ein Worker-Modus aktiviert ist. `FailureConfig` Der Standardwert ist 0, sodass ein einzelner Knotenfehler den Lauf beendet, obwohl der Knoten HyperPod wiederhergestellt wurde.

Seien Sie großzügig bei Wiederholungsversuchen. Hardwarefehler sind auf Clusterebene routinemäßig, und ein Wiederholungsversuch wird an Ihrem letzten Checkpoint fortgesetzt, anstatt von vorne zu beginnen. Im folgenden Beispiel wird 20 verwendet, ein bewusst hoher Wert.

```
from ray.train import FailureConfig, RunConfig, ScalingConfig
from ray.train.torch import TorchTrainer

trainer = TorchTrainer(
    train_loop_per_worker=train_func,
    scaling_config=ScalingConfig(num_workers=8, use_gpu=True),
    run_config=RunConfig(
        failure_config=FailureConfig(max_failures=20),
    ),
)
trainer.fit()
```

Legen Sie fest`max_failures=-1`, dass der Vorgang auf unbestimmte Zeit wiederholt werden soll. Wiederholungen zahlen sich nur aus, wenn sie Checkpoints ausführen. Kombinieren Sie dies also mit Checkpointing. Weitere Informationen finden Sie unter [Mehrstufiges Checkpointing](sagemaker-hyperpod-ray-tiered-storage.md).