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à.
Sequence-to-Sequence Algoritmo
Amazon SageMaker AI Sequence to Sequence è un algoritmo di apprendimento supervisionato in cui l'input è una sequenza di token (ad esempio testo, audio) e l'output generato è un'altra sequenza di token. Le applicazioni di esempio includono: traduzione automatica (immissione di una frase da una lingua e previsione di quale frase sarebbe in un'altra lingua), riepilogo del testo (immissione di una stringa di parole più lunga e previsione di una stringa di parole più breve, ovvero un riepilogo), speech-to-text (clip audio convertite in frasi di output in token). Recentemente, i problemi in questo dominio sono stati risolti con modelli di rete neurale profonda che hanno ottimizzato le prestazioni rispetto alle precedenti metodologie. Amazon SageMaker AI seq2seq utilizza i modelli Recurrent Neural Networks (RNNs) e Convolutional Neural Network () con attenzione come architetture encoder-decoder. CNN
Argomenti
Interfaccia di Sequence-to-Sequence input/output per l'algoritmo
Addestramento
SageMaker AI seq2seq prevede dati in formato recordio-protobuf. Tuttavia, i token sono previsti come numeri interi, non come valori in virgola mobile, come si fa di solito.
Nel notebook di esempio seq2seq
Una volta completata la preelaborazione, l'algoritmo può essere richiamato per l’addestramento. L'algoritmo prevede tre canali:
-
train
: deve contenere i dati di addestramento (ad esempio, il filetrain.rec
generato dallo script di preelaborazione). -
validation
: deve contenere i dati di convalida (ad esempio, il fileval.rec
generato dallo script di preelaborazione). -
vocab
: deve contenere i due file di vocabolario (vocab.src.json
evocab.trg.json
).
Se l'algoritmo non rileva alcun dato in questi tre canali, si verifica un errore nell’addestramento.
Inferenza
Per gli endpoint ospitati, l'inferenza supporta due formati di dati. Per eseguire l'inferenza utilizzando token di testo separati da spazio, utilizza il formato application/json
. In alternativa, utilizza il formato recordio-protobuf
per lavorare con i dati codificati come numeri interi. Entrambe le modalità supportano la ripartizione in batch dei dati di input. Il formato application/json
consente inoltre di visualizzare la matrice di attenzione.
-
application/json
: si aspetta l'input in formato e restituisce l'output in formato. JSON JSON I tipi di contenuto e accettazione devono essereapplication/json
. Ogni sequenza deve essere una stringa con token separati da spazi vuoti. Questo formato è consigliato quando il numero di sequenze di origine nel batch è esiguo. Inoltre, supporta le seguenti opzioni di configurazione aggiuntive:configuration
: {attention_matrix
:true
}: restituisce la matrice di attenzione per la specifica sequenza di input. -
application/x-recordio-protobuf
: si aspetta l'input nel formatorecordio-protobuf
e restituisce l'output inrecordio-protobuf format
. I tipi di contenuto e accettazione devono essereapplications/x-recordio-protobuf
. Per questo formato, le sequenze di origine devono essere convertite in un elenco di numeri interi per la successiva codifica di protobuf. Questo formato è consigliato per l'inferenza in blocco.
Per la trasformazione in batch, l'inferenza supporta il formato JSON Lines. La trasformazione Batch prevede l'input in formato JSON Lines e restituisce l'output in formato JSON Lines. I tipi di contenuto e accettazione devono essere application/jsonlines
. Il formato dell'input è il seguente:
content-type: application/jsonlines {"source": "source_sequence_0"} {"source": "source_sequence_1"}
Il formato della risposta è il seguente:
accept: application/jsonlines {"target": "predicted_sequence_0"} {"target": "predicted_sequence_1"}
Per ulteriori informazioni su come serializzare e deserializzare gli input e gli output in formati specifici per l'interferenza, consulta Sequence-to-Sequence Notebook di esempio.
EC2Raccomandazione di istanza per l'algoritmo Sequence-to-Sequence
L'algoritmo Amazon SageMaker AI seq2seq supporta solo tipi di GPU istanze e può essere addestrato solo su una singola macchina. Tuttavia, puoi utilizzare istanze con più istanze. GPUs L'algoritmo seq2seq supporta le famiglie di istanze P2, P3, G4dn e G5. GPU
Sequence-to-Sequence Notebook di esempio
Per un taccuino di esempio che mostra come utilizzare l'algoritmo SageMaker AI Sequence to Sequence per addestrare un modello di traduzione inglese-tedesco, vedi Esempio di traduzione automatica inglese-tedesco utilizzando AI Seq2Seq