

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à.

# Ripristino automatico dei nodi con Ray
<a name="sagemaker-hyperpod-ray-node-recovery"></a>

HyperPod rileva i guasti hardware e della GPU su un nodo e lo ripristina senza l'intervento dell'operatore. Questo viene eseguito a livello di infrastruttura. Ray non richiede alcuna configurazione e il codice di allenamento non cambia.

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

`NodeRecovery`Impostato `Automatic` su nel HyperPod cluster. Lo si applica quando si crea o si aggiorna il cluster, non da Ray. Per ulteriori informazioni, consulta [ NodeRecovery ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html#sagemaker-CreateCluster-request-NodeRecovery) l'*SageMaker AI API Reference*.

Una volta attivato il ripristino del nodo per il cluster, si applica a tutti i carichi di lavoro Ray in esecuzione su di esso.

## Come funziona con Ray
<a name="sagemaker-hyperpod-ray-node-recovery-with-ray"></a>

HyperPod recupera un nodo difettoso riavviandolo o sostituendolo. Ray considera l'uscita e il ricongiungimento del nodo come una normale perdita di lavoratori. Il responsabile rileva i lavoratori smarriti e riprogramma le attività e gli attori interessati. La formazione continua man mano che i nodi ripristinati si ricongiungono al cluster.

Per informazioni dettagliate sul ripristino dei nodi su un cluster orchestrato con Amazon EKS, consulta le caratteristiche di resilienza dei [ cluster per i SageMaker HyperPod cluster orchestrati con Amazon EKS. ](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-resiliency.html)

## Configura i tentativi in Ray Train
<a name="sagemaker-hyperpod-ray-node-recovery-retries"></a>

Il ripristino del nodo ripristina il nodo, ma è necessario indicare all'utente di riprovare. Ray Train riprova una corsa quando un lavoratore fallisce, fino a una. `max_failures` `FailureConfig` L'impostazione predefinita è 0, quindi un errore di un singolo nodo interrompe l'esecuzione anche se il nodo è HyperPod stato ripristinato.

Sii liberale con i tentativi. I guasti hardware sono di routine su scala cluster e un nuovo tentativo viene ripristinato dall'ultimo checkpoint anziché ricominciare da capo. L'esempio seguente utilizza 20, un valore volutamente elevato.

```
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()
```

Impostato `max_failures=-1` per riprovare a tempo indeterminato. I tentativi ripagano solo se vengono eseguiti dei checkpoint, quindi abbinalo ai checkpoint. Per ulteriori informazioni, consulta [Checkpoint a più livelli](sagemaker-hyperpod-ray-tiered-storage.md).