

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

# Creazione di un canale di input ML in AWS Clean Rooms ML
<a name="create-ml-input-channel"></a>

**Prerequisiti: **
+ E con accesso a Account AWS AWS Clean Rooms
+ Una configurazione di collaborazione in AWS Clean Rooms cui si desidera creare il canale di input ML
+ Autorizzazioni per interrogare i dati e creare canali di input ML nella collaborazione. 
+ (Facoltativo) Un algoritmo modello esistente da associare al canale di input ML o autorizzazioni per crearne uno nuovo
+ (Facoltativo) Tabelle con regole di analisi che possono essere eseguite per il modello specificato. 
+ (Facoltativo) Una query SQL esistente o un modello di analisi da utilizzare per generare il set di dati
+ (Facoltativo) Un ruolo di servizio esistente con le autorizzazioni appropriate o le autorizzazioni per creare un nuovo ruolo di servizio
+ (Facoltativo) Una AWS KMS chiave personalizzata se desideri utilizzare la tua chiave di crittografia
+ Autorizzazioni appropriate per creare e gestire modelli ML nell'ambito della collaborazione

Un *canale di input ML* è un set di dati creato da una specifica query di dati. I membri con la capacità di interrogare i dati possono preparare i propri dati per la formazione e l'inferenza creando un canale di input ML. La creazione di un canale di input ML consente di utilizzare tali dati in diversi modelli di formazione all'interno della stessa collaborazione. È necessario creare canali di input ML separati per l'addestramento e l'inferenza.

Per creare un canale di input ML, è necessario specificare la query SQL utilizzata per interrogare i dati di input e creare il canale di input ML. I risultati di questa query non vengono mai condivisi con nessun membro e rimangono entro i limiti di Clean Rooms ML. Il riferimento Amazon Resource Name (ARN) viene utilizzato nei passaggi successivi per addestrare un modello o eseguire un'inferenza.

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

**Per creare un canale di input ML (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 canale di input ML.

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

1. In **Modelli ML personalizzati**, nella sezione **Canali di input ML**, scegli **Crea canale di input ML**.

1. Nella pagina **Crea canale di ingresso ML**, per **i dettagli del canale di ingresso ML**, procedi come segue: 

   1. In **Nome**, inserisci un nome univoco per il tuo canale.

   1. (Facoltativo) In **Descrizione**, inserisci una descrizione del tuo canale.

   1. Per **Algoritmo del modello associato**, selezionate l'algoritmo da utilizzare.

      Scegli **Associa un algoritmo del modello** per aggiungerne uno nuovo.

1. Per **Dataset**, scegli un metodo per generare il set di dati di addestramento:
   + Scegliete una **query SQL** per utilizzare i risultati di una query SQL come set di dati di addestramento. 

     Se hai scelto una **query SQL**, inserisci la tua query nel campo **Query SQL**.

     (Facoltativo) Per importare una query che hai usato di recente, scegli **Importa da query recenti**. 
   + Scegli **Modello di analisi** per utilizzare i risultati di un modello di analisi come set di dati di addestramento.
**avvertimento**  
La generazione di dati sintetici protegge dall'inferire attributi individuali se nel set di dati originale sono presenti individui specifici o se sono presenti gli attributi di apprendimento di tali individui. Tuttavia, non impedisce che i valori letterali del set di dati originale, comprese le informazioni di identificazione personale (PII), compaiano nel set di dati sintetico.  
Consigliamo di evitare valori nel set di dati di input associati a un solo interessato, poiché potrebbero identificare nuovamente un interessato. Ad esempio, se un solo utente vive in un codice postale, la presenza di quel codice postale nel set di dati sintetico confermerebbe che l'utente era nel set di dati originale. Per mitigare questo rischio è possibile utilizzare tecniche come il tronco di valori ad alta precisione o la sostituzione di cataloghi non comuni con *altri*. Queste trasformazioni possono far parte della query utilizzata per creare il canale di input ML.

   1. Se non è associata alcuna tabella, scegliete **Associa tabella** per aggiungere tabelle con una regola di analisi che può essere eseguita per il modello specificato. 

   1. Scegli il **tipo di lavoratore** da utilizzare durante la creazione di questo canale dati. Il tipo di lavoratore predefinito è **CR.1X.** Specificare il **numero di lavoratori da utilizzare**. Il numero di lavoratori predefinito è **16**. Per specificare le **proprietà di Spark**:

      1. **Espandi le proprietà di Spark.**

      1. Scegli **Aggiungi proprietà Spark**.

      1. **Nella finestra di dialogo delle **proprietà di Spark**, scegli **il nome di una proprietà** dall'elenco a discesa e inserisci un valore.**

      Le tabelle seguenti forniscono una definizione per ogni proprietà.

      Per ulteriori informazioni sulle proprietà di Spark, consulta [Spark Properties nella documentazione](https://spark.apache.org/docs/latest/configuration.html#spark-properties) di Apache Spark. 
**Nota**  
Puoi configurare un massimo di 50 proprietà Spark. Il valore di ogni proprietà può contenere fino a 500 caratteri.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/clean-rooms/latest/userguide/create-ml-input-channel.html)    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/clean-rooms/latest/userguide/create-ml-input-channel.html)

   1. Per **Conservazione dei dati in giorni**, inserisci il numero di giorni in cui conservare i dati.

   1. Per **il formato dei risultati,** scegliete **CSV** o **Parquet** come formato di dati da utilizzare per il canale di input ML.

1. Per **l'accesso al servizio**, scegliete il **nome del ruolo di servizio esistente** che verrà utilizzato per accedere a questa tabella o scegliete **Crea e utilizza un nuovo ruolo di servizio**. 

1. Per la **crittografia**, scegli il **segreto Encrypt con una chiave KMS personalizzata per specificare la tua chiave** KMS e le informazioni correlate. Altrimenti, Clean Rooms ML gestirà la crittografia.

1. Scegli **Crea canale di input ML**. 

   Ci vorranno alcuni minuti per creare il canale di ingresso ML. È possibile visualizzare un elenco di canali di ingresso ML nella scheda **Modelli ML**.

**Nota**  
Dopo aver creato il canale di input ML, non è possibile modificarlo.

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

Per creare un canale di input ML (API)

Esegui il codice seguente con i tuoi parametri specifici: 

```
import boto3 
acr_client = boto3.client('cleanroomsml')

acr_client.create_ml_input_channel(
    name="{{ml_input_channel_name}}",
    membershipIdentifier='{{membership_id}}',
    configuredModelAlgorithmAssociations=[{{configured_model_algorithm_association_arn}}],
    retentionInDays={{1}},
    inputChannel={
        "dataSource": {
            "protectedQueryInputParameters": {
                "sqlParameters": {
                    "queryString": "select * from {{table}}",
                    "computeConfiguration": {
                        "worker": {
                            "type": "{{CR.1X}}",
                            "number": {{16}},
                            "properties": {
                                "spark": {
                                    "{{spark configuration key}}": "{{spark configuration value}}",
                                }
                            }   
                        }
                    },
                    "resultFormat": "{{PARQUET}}"
                }
            }
        },
        "roleArn": "arn:aws:iam::{{111122223333}}:role/{{role_name}}"
    }
)
channel_arn = resp['{{ML Input Channel ARN}}']
```

------