Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Sequence-to-Sequence Algoritmo
Amazon SageMaker Sequence to Sequence es un algoritmo de aprendizaje supervisado en el que la entrada es una secuencia de fichas (por ejemplo, texto o audio) y la salida generada es otra secuencia de fichas. Algunos ejemplos de aplicaciones son la traducción automática (introducir una frase de un idioma y predecir cómo sería esa frase en otro idioma), el resumen de textos (introducir una cadena de palabras más larga y predecir una cadena de palabras más corta que sirva de resumen), speech-to-text (los clips de audio se convierten en frases de salida en forma de símbolos). Recientemente, se han diseñado correctamente problemas en este dominio con redes neuronales profundas que muestran un importante aumento del rendimiento a través de las metodologías anteriores. Amazon SageMaker seq2seq utiliza con atención los modelos de redes neuronales recurrentes (RNNs) y redes neuronales convolucionales () como arquitecturas de CNN codificador-decodificador.
Temas
Interfaz de Sequence-to-Sequence entrada/salida para el algoritmo
Entrenamiento
SageMaker seq2seq espera datos en formato Recordio-ProtoBUF. Sin embargo, los tokens se esperan como enteros, no como puntos flotantes, como suele ser el caso.
Se incluye un script para convertir datos desde archivos de texto tokenizados al formato protobuf en el bloc de notas de muestra de seq2seq
Una vez realizado el procesamiento previo, se puede invocar el algoritmo para la capacitación. El algoritmo espera tres canales:
-
train
: debe contener los datos de capacitación (por ejemplo, el archivotrain.rec
generado por el script de preprocesamiento). -
validation
: debe contener los datos de validación (por ejemplo, el archivoval.rec
generado por el script de preprocesamiento). -
vocab
: debe contener dos archivos de vocabulario (vocab.src.json
yvocab.trg.json
).
Si el algoritmo no encuentra datos en alguno de estos tres canales, se producirá un error en los resultados de capacitación.
Inferencia
Para los puntos de enlace alojados, la inferencia admite dos formatos de datos. Para realizar la inferencia mediante tokens de texto separados por espacios, utilice el formato application/json
. De lo contrario, utilice el formato recordio-protobuf
para trabajar con los datos codificados de números enteros. Ambos modos admiten la creación de lotes de datos de entrada. El formato application/json
también le permite visualizar la matriz de atención.
-
application/json
: Espera la entrada en formato y devuelve la salida en formato. JSON JSON Ambos tipos de aceptación y contenido deben serapplication/json
. Se espera que las secuencias sean una cadena con tokens separados por espacios en blanco. Se recomienda este formato cuando el número de secuencias de origen en el lote es pequeño. También admite las siguientes opciones de configuración adicionales:configuration
: {attention_matrix
:true
}: devuelve la matriz de atención para una secuencia de entrada determinada. -
application/x-recordio-protobuf
: espera la entrada en formatorecordio-protobuf
y devuelve la salida enrecordio-protobuf format
. Ambos tipos de aceptación y contenido deben serapplications/x-recordio-protobuf
. Para este formato, las secuencias de origen deben convertirse en una lista de números enteros para la codificación protobuf posterior. Este formato es el recomendado para la inferencia masiva.
Para la transformación por lotes, la inferencia admite el formato JSON de líneas. La transformación por lotes espera la entrada en formato de JSON líneas y devuelve la salida en formato de JSON líneas. Ambos tipos de aceptación y contenido deben ser application/jsonlines
. El formato para la entrada es el siguiente:
content-type: application/jsonlines {"source": "source_sequence_0"} {"source": "source_sequence_1"}
El formato para la respuesta es el siguiente:
accept: application/jsonlines {"target": "predicted_sequence_0"} {"target": "predicted_sequence_1"}
Para obtener detalles adicionales sobre cómo serializar y deserializar las entradas y salidas en formatos específicos para la referencia, consulte Sequence-to-Sequence Ejemplos de cuadernos.
EC2Recomendación de instancia para el Sequence-to-Sequence algoritmo
El algoritmo SageMaker seq2seq de Amazon solo admite tipos de GPU instancias y solo se puede entrenar en una sola máquina. Sin embargo, puede usar instancias con varias. GPUs El algoritmo seq2seq admite las familias de instancias P2, P3, G4dn y G5. GPU
Sequence-to-Sequence Ejemplos de cuadernos
Para ver un ejemplo de cuaderno que muestra cómo usar el algoritmo de SageMaker secuencia a secuencia para entrenar un modelo de traducción inglés-alemán, consulte Ejemplo de traducción automática inglés-alemán con Seq2Seq