

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

# Trasformazione in batch per l'inferenza con Amazon SageMaker AI
<a name="batch-transform"></a>

Utilizza la trasformazione in batch quando devi eseguire le seguenti operazioni: 
+ Pre-elaborare i set di dati per rimuovere disturbi o distorsioni che possono interferire con l’addestramento o l’inferenza.
+ Ottenere inferenze da set di dati di grandi dimensioni.
+ Eseguire l’inferenza quando non è necessario un endpoint persistente.
+ Associare record di input alle inferenze per agevolare l’interpretazione dei risultati.

Per filtrare i dati di input prima di eseguire le inferenze o per associare record di input alle inferenze relative a tali record, consulta [Associazione dei risultati delle previsioni ai record di input](batch-transform-data-processing.md). Ad esempio, puoi filtrare i dati di input per fornire un contesto per la creazione e l'interpretazione dei report sui dati di output.

**Topics**
+ [Utilizzare la trasformazione in batch per ottenere inferenze da set di dati di grandi dimensioni](#batch-transform-large-datasets)
+ [Velocizzare un processo di trasformazione in batch](#batch-transform-reduce-time)
+ [Utilizzare la trasformazione in batch per testare varianti di produzione](#batch-transform-test-variants)
+ [Notebook di esempio per la trasformazione in batch](#batch-transform-notebooks)
+ [Associazione dei risultati delle previsioni ai record di input](batch-transform-data-processing.md)
+ [Archiviazione in nella trasformazione in batch](batch-transform-storage.md)
+ [Risoluzione dei problemi](batch-transform-errors.md)

## Utilizzare la trasformazione in batch per ottenere inferenze da set di dati di grandi dimensioni
<a name="batch-transform-large-datasets"></a>

La trasformazione in batch gestisce automaticamente l'elaborazione di set di dati di grandi dimensioni entro i limiti dei parametri specificati. Ad esempio, supponiamo di disporre di un file contenente un set di dati, `input1.csv`, archiviato in un bucket S3. Il contenuto del file di input potrebbe essere simile all'esempio seguente:

```
Record1-Attribute1, Record1-Attribute2, Record1-Attribute3, ..., Record1-AttributeM
Record2-Attribute1, Record2-Attribute2, Record2-Attribute3, ..., Record2-AttributeM
Record3-Attribute1, Record3-Attribute2, Record3-Attribute3, ..., Record3-AttributeM
...
RecordN-Attribute1, RecordN-Attribute2, RecordN-Attribute3, ..., RecordN-AttributeM
```

Quando inizia un processo di trasformazione in batch, l' SageMaker intelligenza artificiale avvia le istanze di calcolo e distribuisce tra di esse il carico di lavoro di inferenza o preelaborazione. Il processo di trasformazione in batch partiziona gli oggetti Amazon S3 nell'input per chiave e mappa gli oggetti Amazon S3 alle istanze. In presenza di più file, un'istanza potrebbe elaborare `input1.csv` e un'altra istanza potrebbe elaborare un altro file denominato `input2.csv`. Se è disponibile un file di input ma sono inizializzate più istanze di calcolo, solo un’istanza elabora il file di input. Le altre istanze sono inattive.

È anche possibile suddividere i file di input in mini-batch. Ad esempio, puoi creare un mini-batch da `input1.csv` includendo solo due record.

```
Record3-Attribute1, Record3-Attribute2, Record3-Attribute3, ..., Record3-AttributeM
Record4-Attribute1, Record4-Attribute2, Record4-Attribute3, ..., Record4-AttributeM
```

**Nota**  
SageMaker L'intelligenza artificiale elabora ogni file di input separatamente. Non combina mini-batch provenienti da file di input differenti per soddisfare il limite di [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-CreateTransformJob-request-MaxPayloadInMB               ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-CreateTransformJob-request-MaxPayloadInMB               ).

Per dividere i file di input in mini-batch quando create un processo di trasformazione in batch, impostate il valore del [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformInput.html#SageMaker-Type-TransformInput-SplitType             ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformInput.html#SageMaker-Type-TransformInput-SplitType             )parametro su. `Line` SageMaker L'IA utilizza l'intero file di input in un'unica richiesta quando:
+ `SplitType` è impostato su `None`;
+ un file di input non può essere suddiviso in mini batch.

Il processo di trasformazione in batch non supporta input in formato CSV che contengono caratteri di nuova riga con embedding. È possibile controllare la dimensione dei mini-batch utilizzando i parametri `[BatchStrategy](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#sagemaker-CreateTransformJob-request-BatchStrategy)` e `[MaxPayloadInMB](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#sagemaker-CreateTransformJob-request-MaxPayloadInMB)`. `MaxPayloadInMB` non deve essere superiore a 100 MB. Se si specifica il parametro `[MaxConcurrentTransforms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#sagemaker-CreateTransformJob-request-MaxConcurrentTransforms)` opzionale, anche il valore di `(MaxConcurrentTransforms * MaxPayloadInMB)` non deve superare i 100 MB.

Se il processo di trasformazione in batch elabora correttamente tutti i record in un file di input, crea un file di output con lo stesso nome e la stessa estensione `.out`. In caso di più file di input, ad esempio `input1.csv` e `input2.csv`, i file di output vengono denominati `input1.csv.out` e `input2.csv.out`. Il processo di trasformazione in batch archivia i file di output nel percorso specificato su Amazon S3, come ad esempio `s3://amzn-s3-demo-bucket/output/`. 

Le previsioni in un file di output sono elencate nello stesso ordine dei record del file di input. Il file di output `input1.csv.out`, in base al file di input mostrato in precedenza, sarà simile al seguente.

```
Inference1-Attribute1, Inference1-Attribute2, Inference1-Attribute3, ..., Inference1-AttributeM
Inference2-Attribute1, Inference2-Attribute2, Inference2-Attribute3, ..., Inference2-AttributeM
Inference3-Attribute1, Inference3-Attribute2, Inference3-Attribute3, ..., Inference3-AttributeM
...
InferenceN-Attribute1, InferenceN-Attribute2, InferenceN-Attribute3, ..., InferenceN-AttributeM
```

Se [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformInput.html#SageMaker-Type-TransformInput-SplitType             ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformInput.html#SageMaker-Type-TransformInput-SplitType             ) è impostato su `Line`, puoi impostare il parametro [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformOutput.html#SageMaker-Type-TransformOutput-AssembleWith             ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformOutput.html#SageMaker-Type-TransformOutput-AssembleWith             ) su `Line` per concatenare i record di output con un delimitatore di riga. Ciò non modifica il numero di file di output. Il numero di file di output è pari al numero di file di input e l'utilizzo di `AssembleWith` non unisce i file. Se non specifichi il parametro `AssembleWith`, i record di output vengono concatenati in un formato binario per impostazione predefinita.

Quando i dati di input sono di dimensioni molto grandi e vengono trasmessi mediante la codifica HTTP Chunked, per trasmettere i dati all'algoritmo, è necessario impostare [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-CreateTransformJob-request-MaxPayloadInMB](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-CreateTransformJob-request-MaxPayloadInMB) su `0`. Gli algoritmi integrati di Amazon SageMaker AI non supportano questa funzionalità.

Per ulteriori informazioni su come usare l'API per creare un processo di trasformazione in batch, consultare l'API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html). Per ulteriori informazioni sulla relazione tra gli oggetti di input e di output della trasformazione in batch, consulta [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OutputDataConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OutputDataConfig.html). Per un esempio di come utilizzare la trasformazione in batch, consulta [(Facoltativo) Formulazione di previsioni con la trasformazione di batch](ex1-model-deployment.md#ex1-batch-transform).

## Velocizzare un processo di trasformazione in batch
<a name="batch-transform-reduce-time"></a>

Se usi l’API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html), puoi ridurre il tempo necessario per completare le operazioni di trasformazione in batch utilizzando valori ottimali per parametri. Questo include parametri come [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-CreateTransformJob-request-MaxPayloadInMB](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-CreateTransformJob-request-MaxPayloadInMB), [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-CreateTransformJob-request-MaxConcurrentTransforms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-CreateTransformJob-request-MaxConcurrentTransforms) oppure [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-CreateTransformJob-request-BatchStrategy](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#SageMaker-CreateTransformJob-request-BatchStrategy). Il valore ideale per `MaxConcurrentTransforms` è pari al numero di processi di calcolo nel processo di trasformazione di batch. 

Se utilizzi la console SageMaker AI, specifica questi valori ottimali dei parametri nella sezione **Configurazione aggiuntiva della pagina di configurazione** del **processo di trasformazione in Batch**. SageMaker L'IA trova automaticamente le impostazioni ottimali dei parametri per gli algoritmi integrati. Per gli algoritmi personalizzati, è necessario fornire questi valori tramite un endpoint [execution-parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-batch-code.html#your-algorithms-batch-code-how-containe-serves-requests).

## Utilizzare la trasformazione in batch per testare varianti di produzione
<a name="batch-transform-test-variants"></a>

Per testare diversi modelli o varie impostazioni di iperparametri, crea un processo di trasformazione separato per ogni nuova variante di modello e utilizza un set di dati di convalida. Per ogni processo di trasformazione, specifica un nome e un percorso univoco in Amazon S3 per il file di output. Per analizzare i risultati, utilizza [Log e parametri della pipeline di inferenza](inference-pipeline-logs-metrics.md).

## Notebook di esempio per la trasformazione in batch
<a name="batch-transform-notebooks"></a>

Per un notebook di esempio che utilizza la trasformazione in batch, consulta [Batch Transform with PCA and DBSCAN Movie Clusters](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker_batch_transform/introduction_to_batch_transform/batch_transform_pca_dbscan_movie_clusters.html). Questo notebook utilizza la trasformazione in batch con un modello di analisi dei componenti principali (PCA) per ridurre i dati in una matrice di recensioni degli articoli degli utenti. Mostra quindi l’applicazione di un algoritmo DBSCAN (Density-Based Spatial Clustering of Applications with Noise) per raggruppare i filmati in cluster.

 Per istruzioni sulla creazione e l'accesso alle istanze di notebook Jupyter da utilizzare per eseguire l'esempio in AI, consulta. SageMaker [Istanze SageMaker per notebook Amazon](nbi.md) Dopo aver creato e aperto un'istanza di notebook, scegli la scheda **SageMakerEsempi** per visualizzare un elenco di tutti gli esempi di IA. SageMaker I notebook dell'esempio di modellazione dell'argomento che utilizzano gli algoritmi NTM sono disponibili nella sezione **Funzionalità avanzate**. Per aprire un notebook, seleziona la relativa scheda **Utilizza**, quindi scegli **Crea copia**.