

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

# Utilizzo della formazione distribuita in AWS Clean Rooms ML
<a name="use-distributed-training"></a>

Prerequisiti: 
+ E Account AWS con accesso a AWS Clean Rooms
+ Una collaborazione istituita in AWS Clean Rooms
+ Un algoritmo modello configurato che supporta l'addestramento distribuito
+ Un set di dati di grandi dimensioni adatto all'elaborazione distribuita 
+ Autorizzazioni appropriate per creare e gestire modelli ML in collaborazione
+ Quota Amazon EC2 sufficiente per eseguire più istanze per la formazione distribuita 

La formazione distribuita sfrutta la potenza di molti nodi di calcolo che lavorano in parallelo per elaborare grandi quantità di dati e aggiornare i parametri del modello in modo efficiente. 

Per ulteriori informazioni sulla formazione distribuita, consulta [i concetti di formazione distribuita](https://docs.aws.amazon.com/sagemaker/latest/dg/distributed-training.html#distributed-training-basic-concepts) nella *Amazon SageMaker AI Developer Guide*.

------
#### [ Console ]

**Per eseguire un processo di formazione distribuito (console)**

1. Accedi a Console di gestione AWS e apri la AWS Clean Rooms console all'indirizzo [https://console.aws.amazon.com/cleanrooms.](https://console.aws.amazon.com/cleanrooms/home)

1. **Nel riquadro di navigazione a sinistra, scegli Collaborazioni.**

1. Nella pagina **Collaborazioni**, scegli la collaborazione in cui desideri creare un modello addestrato.

1. Dopo l'apertura della collaborazione, scegli la scheda **Modelli ML**.

1. In **Modelli ML personalizzati**, nella sezione **Modelli addestrati**, scegli **Crea modello addestrato**.

1. Nella pagina **Crea modello addestrato**, per **Algoritmo di modello associato**, specifica l'algoritmo

1. Per **i dettagli del modello addestrato**, inserisci quanto segue:

   1. Per **Nome**, inserisci un nome univoco per il modello nella collaborazione.

   1. (Facoltativo) In **Descrizione**, inserite una descrizione del modello addestrato.

   1. Per la **modalità di immissione dei dati di addestramento**, scegliete una delle seguenti opzioni:
      + Seleziona **File** se disponi di un set di dati più piccolo che può essere inserito nel volume di archiviazione ML e preferisci l'accesso tradizionale al file system per lo script di formazione.
      + Seleziona **Pipe** per set di dati di grandi dimensioni per lo streaming dei dati direttamente da S3, evitando di dover scaricare tutto su disco, il che può migliorare la velocità di addestramento e ridurre i requisiti di archiviazione.
      + Scegli **FastFile**se vuoi combinare i vantaggi dello streaming da S3 con l'accesso al file system, in particolare per i dati letti in sequenza o quando hai a che fare con meno file per tempi di avvio più rapidi.

1. Per i **dettagli del canale di input ML**, procedi come segue: 

   1. Per il **canale di input ML**, specificate il canale di input ML che fornisce dati all'algoritmo del modello. 

      Per aggiungere un altro canale, scegliete **Aggiungi un altro canale di input ML**. È possibile aggiungere fino a 19 canali di ingresso ML aggiuntivi. 

   1. Per **Nome canale**, immettete il nome del canale di ingresso ML.

   1. Per il **tipo di distribuzione dei dati di Amazon S3**, scegli una delle seguenti opzioni:
      + Seleziona **Completamente replicato** per fornire a ogni istanza di formazione una copia completa del set di dati. Ciò funziona al meglio quando il set di dati è sufficientemente piccolo da contenere la memoria o quando ogni istanza deve accedere a tutti i dati.
      + Seleziona **Sharded by S3 key** per dividere il set di dati tra le istanze di addestramento basate sulle chiavi S3. Ogni istanza riceve circa 1/n del totale di oggetti S3, dove 'n' è il numero di istanze. Funziona meglio per set di dati di grandi dimensioni che desideri elaborare in parallelo.
**Nota**  
Considerate le dimensioni del set di dati e i requisiti di formazione quando selezionate un tipo di distribuzione. La **replica completa** fornisce l'accesso completo ai dati ma richiede più spazio di archiviazione, mentre **Sharded by S3 key** consente l'elaborazione distribuita di set di dati di grandi dimensioni.

1. Per la **durata massima dell'allenamento**, scegli la quantità massima di tempo in cui desideri addestrare il tuo modello.

1. Per **Hyperparameters**, specificate tutti i parametri specifici dell'algoritmo e i valori desiderati. Gli iperparametri sono specifici del modello da addestrare e vengono utilizzati per ottimizzare l'addestramento del modello.

1. Per **le variabili di ambiente**, specificate tutte le variabili specifiche dell'algoritmo e i valori previsti. Le variabili di ambiente sono impostate nel contenitore Docker.

1. Per utilizzare una **crittografia** personalizzata AWS KMS key, seleziona la casella di controllo **Crittografa il segreto con una chiave KMS personalizzata**.

1. Per la **configurazione delle risorse EC2**, specifica le informazioni sulle risorse di calcolo utilizzate per l'addestramento dei modelli. 

   1. Per **Tipo di istanza**, scegli il tipo di istanza che desideri eseguire. 

      I tipi di istanze supportati per la formazione distribuita sono: 
      + ml.m5.4xlarge
      + ml.m5.12xlarge 
      + ml.m5.2xlarge
      + ml.g5.12xlarge
      + ml.g5.24xlarge

   1. Per **Numero di istanze**, inserisci il numero di istanze.

   1. Per **Dimensione del volume in GB**, inserisci la dimensione del volume di archiviazione ML.

1. Scegli **Crea modello addestrato**. 

------
#### [ API ]

Per eseguire un processo di formazione distribuito (API)

Esegui il codice seguente con i tuoi parametri specifici:

```
import boto3 
acr_ml_client= boto3.client('cleanroomsml')
 
acr_ml_client.create_trained_model(
    membershipIdentifier= '{{membership_id}}',
    configuredModelAlgorithmAssociationArn = 'arn:aws:cleanrooms-ml:{{region:account:membership}}/membershipIdentifier/configured-model-algorithm-association/{{identifier}}',
    name='{{trained_model_name}}',
    trainingInputMode: "File",
    resourceConfig={
        'instanceCount': "3"
        'instanceType': "ml.m5.xlarge",
        'volumeSizeInGB': 3
    },
    dataChannels=[
        {
            "mlInputChannelArn": channel_arn_1,
            "channelName": "{{channel_name}}", 
            "S3DataDistributionType:" "FullyReplicated"
        }
  
    ]
)
```

------

**Nota**  
Dopo aver creato il modello addestrato, non è possibile modificarlo. Per apportare modifiche, elimina il modello addestrato e creane uno nuovo.