

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Transformação em lote para inferência com a Amazon AI SageMaker
<a name="batch-transform"></a>

Use a transformação em lote quando precisar fazer o seguinte: 
+ Pré-processar os conjuntos de dados para remover ruído ou desvio que interfira no treinamento ou na inferência do conjunto de dados.
+ Obter inferências de conjuntos de dados grandes.
+ Executar inferência quando não for necessário um endpoint persistente.
+ Associar registros de entrada com inferências para auxiliar na interpretação de resultados.

Para filtrar dados de entrada antes de executar inferências ou para associar registros de entrada à inferências sobre esses registros, consulte [Associar resultados de predição a registros de entrada](batch-transform-data-processing.md). Por exemplo, é possível filtrar dados de entrada a fim de fornecer contexto para criar e interpretar relatórios sobre os dados de saída.

**Topics**
+ [Uso da transformação em lote para obter inferências de conjuntos de dados grandes](#batch-transform-large-datasets)
+ [Aceleração de um trabalho de transformação em lote](#batch-transform-reduce-time)
+ [Uso da transformação em lote para testar as variantes de produção](#batch-transform-test-variants)
+ [Cadernos de amostra de transformação em lote](#batch-transform-notebooks)
+ [Associar resultados de predição a registros de entrada](batch-transform-data-processing.md)
+ [Armazenamento em Batch Transform](batch-transform-storage.md)
+ [Solução de problemas](batch-transform-errors.md)

## Uso da transformação em lote para obter inferências de conjuntos de dados grandes
<a name="batch-transform-large-datasets"></a>

A transformação em lotes gerencia automaticamente o processamento de grandes conjuntos de dados nos limites de parâmetros especificados. Por exemplo, ter um arquivo de conjunto de dados, `input1.csv`, armazenado em um bucket do S3. O conteúdo do arquivo de entrada pode ser semelhante ao seguinte exemplo:

```
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 um trabalho de transformação em lote é iniciado, a SageMaker IA inicia as instâncias de computação e distribui a carga de trabalho de inferência ou pré-processamento entre elas. A transformação em lote particiona objetos do Amazon S3 na entrada por chave e mapeia objetos do Amazon S3 para as instâncias. Quando você tiver vários arquivos, uma instância pode processar `input1.csv`, e a outra instância pode processar o arquivo chamado `input2.csv`. Se você tiver um arquivo de entrada, mas inicializar várias instâncias de computação, somente uma instância processará o arquivo de entrada. As outras instâncias estão inativas.

Você também pode dividir os arquivos de entrada em minilotes. Por exemplo, é possível criar um minilote de `input1.csv` incluindo somente dois dos registros.

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

**nota**  
SageMaker A IA processa cada arquivo de entrada separadamente. Ele não combina minilotes de diferentes arquivos de entrada para cumprir o limite [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               ).

Para dividir os arquivos de entrada em minilotes ao criar um trabalho de transformação em lote, defina o valor do [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             )parâmetro como. `Line` SageMaker A IA usa todo o arquivo de entrada em uma única solicitação quando:
+ `SplitType` está definido como `None`.
+ Um arquivo de entrada não pode ser dividido em minilotes.

Observe que a Transformação em Lote não é compatível com entrada em formato CSV que contenha caracteres de nova linha incorporados. Você pode controlar o tamanho dos minilotes usando os parâmetros `[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` não deve ser maior que 100 MB. Se você especificar o parâmetro opcional `[MaxConcurrentTransforms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#sagemaker-CreateTransformJob-request-MaxConcurrentTransforms)`, o valor de `(MaxConcurrentTransforms * MaxPayloadInMB)` também não deverá exceder 100 MB.

Se o trabalho de transformação em lote processar com êxito todos os registros em um arquivo de entrada, ele cria um arquivo de saída. O arquivo de saída tem o mesmo nome e a extensão do arquivo `.out`. Em vários arquivos de entrada, como `input1.csv` e `input2.csv`, os arquivos de saída são denominados `input1.csv.out` e `input2.csv.out`. O trabalho de transformação em lotes armazena os arquivos de saída no local especificado no Amazon S3, como `s3://amzn-s3-demo-bucket/output/`. 

As predições em um arquivo de saída são listadas na mesma ordem dos registros correspondentes no arquivo de entrada. O arquivo de saída `input1.csv.out`, com base no arquivo de entrada mostrado anteriormente, seria parecido com o seguinte:

```
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 você definir [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             ) como `Line`, poderá definir o parâmetro [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             ) para `Line` concatenar os registros de saída com um delimitador de linha. Isso não altera o número de arquivos de saída. O número de arquivos de saída é igual ao número de arquivos de entrada, e o uso de `AssembleWith` não mescla arquivos. Se você não especificar o parâmetro `AssembleWith`, os registros de saída serão concatenados em formato binário por padrão.

Quando os dados de entrada são muito grandes e são transmitidos usando codificação HTTP em blocos, para transmitir os dados para o algoritmo, defina [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) como `0`. Os algoritmos integrados do Amazon SageMaker AI não oferecem suporte a esse recurso.

Para obter mais informações sobre como usar a API para criar um trabalho de transformação em lotes, consulte a API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html). Para obter mais informações sobre a relação entre os objetos de entrada e de saída da transformação em lote, consulte [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OutputDataConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OutputDataConfig.html). Para obter um exemplo de como usar a transformação em lotes, consulte [(Opcional) Faça predições com o Transformador de Lotes](ex1-model-deployment.md#ex1-batch-transform).

## Aceleração de um trabalho de transformação em lote
<a name="batch-transform-reduce-time"></a>

Se você estiver usando a API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html), poderá reduzir o tempo necessário para a conclusão de trabalhos de transformação de lote usando valores ideais para parâmetros. Isso inclui parâmetros como [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) ou [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). O valor ideal para `MaxConcurrentTransforms` é igual ao número de operadores de computação na tarefa de transformação em lote. 

Se você estiver usando o console do SageMaker AI, especifique esses valores ideais de parâmetros na seção **Configuração adicional** da página de **configuração do trabalho de transformação em lote**. SageMaker A IA encontra automaticamente as configurações de parâmetros ideais para algoritmos integrados. Para obter algoritmos personalizados, forneça esses valores por meio de um endpoint [execution-parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-batch-code.html#your-algorithms-batch-code-how-containe-serves-requests).

## Uso da transformação em lote para testar as variantes de produção
<a name="batch-transform-test-variants"></a>

Para testar modelos diferentes ou várias configurações de hiperparâmetro, crie um trabalho de transformação separado para cada nova variante do modelo e use um conjunto de dados de validação. Para cada trabalho de transformação, especifique um nome de modelo exclusivo e um local no Amazon S3 para o arquivo de saída. Para analisar os resultados, use [Logs e métricas de pipeline de inferência](inference-pipeline-logs-metrics.md).

## Cadernos de amostra de transformação em lote
<a name="batch-transform-notebooks"></a>

Para ver um caderno de exemplo de transformação em lote, consulte [Transformação em lote com clusters de filme PCA e DBSCAN](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker_batch_transform/introduction_to_batch_transform/batch_transform_pca_dbscan_movie_clusters.html). Esse caderno usa transformação em lote com um modelo de análise de componentes de entidades principais (PCA) para reduzir os dados em uma matriz de revisão de itens do usuário. Em seguida, mostra a aplicação de um clustering espacial baseado na densidade de aplicações com algoritmo de ruído (DBSCAN) para agrupar filmes.

 Para obter instruções sobre como criar e acessar instâncias do notebook Jupyter que você pode usar para executar o exemplo em SageMaker IA, consulte. [Instâncias de SageMaker notebook da Amazon](nbi.md) Depois de criar e abrir uma instância do notebook, escolha a guia **SageMakerExemplos** para ver uma lista de todos os exemplos de SageMaker IA. Os cadernos de exemplo de modelagem do tópico que usam os algoritmos NTM estão localizados na seção **Funcionalidade avançada**. Para abrir um caderno, escolha a guia **Uso** e depois escolha **Criar cópia**.