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á.
O Amazon SageMaker AI Sequence to Sequence é um algoritmo de aprendizado supervisionado em que a entrada é uma sequência de tokens (por exemplo, texto, áudio) e a saída gerada é outra sequência de tokens. Exemplos de aplicativos incluem: tradução automática (insira uma frase de um idioma e preveja qual seria essa frase em outro idioma), resumo de texto (insira uma sequência de palavras mais longa e preveja uma sequência menor de palavras que seja um resumo) speech-to-text (clipes de áudio convertidos em frases de saída em tokens). Recentemente, problemas nesse domínio foram modelados com êxito com redes neurais profundas, que mostram um aumento significativo do desempenho sobre as metodologias anteriores. O Amazon SageMaker AI seq2seq usa modelos de Redes Neurais Recorrentes (RNNs) e Redes Neurais Convolucionais (CNN) com atenção como arquiteturas codificador-decodificadoras.
Tópicos
Interface de entrada/saída para o algoritmo Sequence-to-Sequence
Treinamento
SageMaker O AI seq2seq espera dados no formato Recordio-protobuf. No entanto, os tokens são esperados como números inteiros, e não como pontos flutuantes, como é geralmente o caso.
Um script para converter dados de arquivos de texto indexados para o formato protobuf acompanha o caderno de exemplo
Após o pré-processamento, o algoritmo pode ser invocado para treinamento. O algoritmo espera três canais:
-
train
: deve conter os dados de treinamento (por exemplo, o arquivotrain.rec
gerado pelo script de pré-processamento). -
validation
: deve conter os dados de validação (por exemplo, o arquivoval.rec
gerado pelo script de pré-processamento). -
vocab
: deve conter os dois arquivos de vocabulário (vocab.src.json
evocab.trg.json
)
Se o algoritmo não encontrar dados em nenhum desses três canais, o treinamento resultará em um erro.
Inferência
Para endpoints hospedados, a inferência oferece apoio para dois formatos de dados. Para executar inferência usando tokens de texto separados por espaço, use o formato application/json
. Caso contrário, use o formato recordio-protobuf
para trabalhar com os dados codificados por inteiros. Os dois modos são oferecem apoio ao agrupamento de dados de entrada em lotes. O formato application/json
também permite que você visualize a matriz de atenção.
-
application/json
: espera a entrada no formato JSON e retorna a saída no mesmo formato. Os dois cabeçalhos Accept e Content-Type devem serapplication/json
. Cada sequência deve ser uma string com tokens separados por espaço em branco. Esse formato é recomendado quando o número de sequências de origem no lote é pequeno. Também é compatível com as seguintes opções de configuração adicionais:configuration
: {attention_matrix
:true
}: retorna a matriz de atenção para a sequência de entrada específica. -
application/x-recordio-protobuf
: espera a entrada no formatorecordio-protobuf
e retorna a saída no formatorecordio-protobuf format
. Os dois cabeçalhos Accept e Content-Type devem serapplications/x-recordio-protobuf
. Para esse formato, as sequências de origem devem ser convertidas em uma lista de inteiros para codificação protobuf subsequente. Esse formato é recomendado para inferência em massa.
Para transformação em lote, a inferência oferece apoio para o formato de linhas JSON. A transformação em lote espera a entrada no formato JSON Lines e retorna a saída no formato de linhas JSON. Os dois cabeçalhos Accept e Content-Type devem ser application/jsonlines
. O formato da entrada é o seguinte:
content-type: application/jsonlines
{"source": "source_sequence_0"}
{"source": "source_sequence_1"}
O formato da resposta é o seguinte:
accept: application/jsonlines
{"target": "predicted_sequence_0"}
{"target": "predicted_sequence_1"}
Para obter detalhes adicionais sobre como serializar e desserializar as entradas e as saídas para formatos específicos de inferência, consulte os Sequence-to-Sequence Amostras de cadernos.
EC2 Recomendação de instância para o Sequence-to-Sequence algoritmo
O algoritmo Amazon SageMaker AI seq2seq só é compatível com tipos de instância de GPU e só pode ser treinado em uma única máquina. No entanto, você pode usar instâncias com várias GPUs. O algoritmo seq2seq oferece apoio para famílias de instâncias de GPU P2, P3, G4dn e G5.
Sequence-to-Sequence Amostras de cadernos
Para ver um exemplo de caderno que mostra como usar o algoritmo SageMaker AI Sequence to Sequence para treinar um modelo de tradução inglês-alemão, consulte Exemplo de tradução automática em inglês-alemão