Trasformazione in batch per l'inferenza con Amazon SageMaker AI - Amazon SageMaker AI

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

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.

  • Associa i record di input alle inferenze per facilitare 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. Ad esempio, puoi filtrare i dati di input per fornire un contesto per la creazione e l'interpretazione dei report sui dati di output.

Usa la trasformazione in batch per ottenere inferenze da set di dati di grandi dimensioni

La trasformazione in batch gestisce automaticamente l'elaborazione di set di dati di grandi dimensioni entro i limiti dei parametri specificati. Ad esempio, avere un file di set di dati archiviato in un input1.csv 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 disponi di un file di input ma inizializzi 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'IA elabora ogni file di input separatamente. Non combina mini-batch provenienti da file di input differenti per soddisfare il limite di MaxPayloadInMB .

Per dividere i file di input in mini-batch quando create un processo di trasformazione in batch, impostate il valore del SplitTypeparametro su. Line SageMaker L'IA utilizza l'intero file di input in un'unica richiesta quando:

  • SplitTypeè impostato suNone.

  • Un file di input non può essere suddiviso in mini-batch.

. Nota che Batch Transform non supporta l'input in formato CSV che contiene caratteri di nuova riga incorporati. È possibile controllare la dimensione dei mini-batch utilizzando i parametri BatchStrategy e MaxPayloadInMB. MaxPayloadInMB non deve essere superiore a 100 MB. Se si specifica il parametro 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. Il file di output ha lo stesso nome e la stessa .out estensione. 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 SplitType è impostato su Line, puoi impostare il parametro 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 si specifica il AssembleWith parametro, 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 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 CreateTransformJob. Per ulteriori informazioni sulla relazione tra oggetti di input e output con trasformazione in batch, consulta OutputDataConfig. Per un esempio di come utilizzare la trasformazione in batch, consulta (Facoltativo) Formulazione di previsioni con la trasformazione di batch.

Accelerare un processo di trasformazione in batch

Se utilizzi l'CreateTransformJobAPI, puoi ridurre il tempo necessario per completare i lavori di trasformazione in batch utilizzando valori ottimali per i parametri. Ciò include parametri come MaxPayloadInMBMaxConcurrentTransforms, o 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.

Usa la trasformazione in batch per testare le varianti di produzione

Per testare diversi modelli o impostazioni di iperparametri, crea un processo di trasformazione separato per ogni nuova variante del 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.

Notebook di esempio con trasformazione in batch

Per un notebook di esempio che utilizza la trasformazione in batch, vedere Batch Transform with PCA e DBSCAN Movie Clusters. Questo notebook utilizza la trasformazione in batch con un modello di analisi dei componenti principali (PCA) per ridurre i dati in una matrice di revisione degli articoli utente. Viene quindi illustrata l'applicazione di un clustering spaziale basato sulla densità di applicazioni con rumore (DBSCAN) ai 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 Amazon SageMaker Notebook 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.