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.
Amazon SageMaker AI 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. Los ejemplos de aplicaciones incluyen: traducción automática (introducir una oración de un idioma y predecir cómo sería esa oración en otro idioma), resumen de texto (introducir una cadena de palabras más larga y predecir una cadena de palabras más corta que sea un resumen), speech-to-text (clips de audio convertidos en oraciones de salida en fichas). 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 AI seq2seq utiliza modelos de redes neuronales recurrentes (RNNs) y redes neuronales convolucionales (CNN) con atención como arquitecturas de codificador-decodificador.
Temas
Interfaz Sequence-to-Sequence de entrada/salida para el algoritmo
Entrenamiento
SageMaker AI 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 JSON y devuelve la salida en formato 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 interfaz admite el formato de líneas JSON. La transformación por lotes espera la entrada en formato de líneas JSON y devuelve la salida en formato de líneas JSON. 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 Cuadernos de muestra.
EC2 Recomendación de instancia Sequence-to-Sequence para el algoritmo
El algoritmo seq2seq de Amazon SageMaker AI solo es compatible con los tipos de instancias de GPU y solo se puede entrenar en una sola máquina. Sin embargo, puede usar instancias con varias. GPUs El algoritmo seq2seq es compatible con las familias de instancias de GPU P2, P3, G4dn y G5.
Sequence-to-Sequence Cuadernos de muestra
Para ver un ejemplo de cuaderno que muestra cómo usar el algoritmo SageMaker AI Sequence to Sequence para entrenar un modelo de traducción inglés-alemán, consulte Ejemplo de traducción automática inglés-alemán con SageMaker