Archivos de manifiesto aumentados para trabajos de formación - Amazon SageMaker

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.

Archivos de manifiesto aumentados para trabajos de formación

Para incluir metadatos con su conjunto de datos en un trabajo de capacitación, use un archivo de manifiesto aumentado. Al utilizar un archivo de manifiesto aumentado, el conjunto de datos debe almacenarse en Amazon Simple Storage Service (Amazon S3), y debe configurar su trabajo de entrenamiento para el uso del conjunto de datos almacenado allí. Debe especificar la ubicación y el formato de este conjunto de datos para uno o varios Channel. Los manifiestos aumentados solo pueden admitir el modo de entrada de canalización. Consulte la sección Channelpara obtener más información sobre el modo de entrada por tubería. InputMode

Al especificar los parámetros de un canal, debe especificar una ruta al archivo, algo conocido como un S3Uri. Amazon SageMaker interpreta esto URI en función de lo especificado S3DataType en S3DataSource. La opción AugmentedManifestFile define un formato de manifiesto que incluye metadatos con los datos de entrada. El uso de un archivo de manifiesto aumentado es una alternativa al procesamiento previo cuando ha etiquetado datos. Para los trabajos de capacitación con datos etiquetados, normalmente debe procesar previamente el conjunto de datos para combinar los datos de entrada con los metadatos antes de la capacitación. Si su conjunto de datos de capacitación es grande, el procesamiento previo puede resultar lento y costoso.

Formato de archivo de manifiesto aumentado

Un archivo de manifiesto aumentado debe tener el formato de JSONlíneas. En el formato de JSON líneas, cada línea del archivo es un JSON objeto completo seguido de un separador de líneas nuevas.

Durante el entrenamiento, SageMaker analiza cada JSON línea y envía algunos o todos sus atributos al algoritmo de entrenamiento. El contenido de los atributos se debe pasar y el orden en que se va a pasar con el AttributeNames parámetro de. CreateTrainingJobAPI El AttributeNames parámetro es una lista ordenada de nombres de atributos que SageMaker busca en el JSON objeto para utilizarla como entrada de entrenamiento.

Por ejemplo, si muestra ["line", "book"] para AttributeNames, los datos de entrada deben incluir los nombres de atributo de line y book en el orden especificado. En este ejemplo, el siguiente contenido del archivo de manifiesto aumentado es válido:

{"author": "Herman Melville", "line": "Call me Ishmael", "book": "Moby Dick"} {"line": "It was love at first sight.", "author": "Joseph Heller", "book": "Catch-22"}

SageMaker ignora los nombres de atributos que no figuran en la lista incluso si van antes, después o se encuentran entre los atributos de la lista.

Al usar archivos de manifiesto aumentados, observe las siguientes directrices:

  • El orden de los atributos mostrados en el parámetro AttributeNames determina el orden de los atributos pasados al algoritmo en el trabajo de capacitación.

  • La lista AttributeNames puede ser un subconjunto de todos los atributos de la línea. JSON SageMaker omite los atributos que no figuran en la lista del archivo.

  • Puede especificar cualquier tipo de datos que permita el JSON formatoAttributeNames, incluidos textos, numéricos, matrices de datos u objetos.

  • Para incluir un S3 URI como nombre de atributo, agréguele el sufijo-ref.

Si el nombre de un atributo contiene el sufijo-ref, el valor del atributo debe ser un S3 URI para un archivo de datos al que pueda acceder el trabajo de entrenamiento. Por ejemplo, si AttributeNames contiene ["image-ref", "is-a-cat"], el siguiente ejemplo muestra un archivo de manifiesto aumentado válido:

{"image-ref": "s3://amzn-s3-demo-bucket/sample01/image1.jpg", "is-a-cat": 1} {"image-ref": "s3://amzn-s3-demo-bucket/sample02/image2.jpg", "is-a-cat": 0}

En el caso de la primera JSON línea de este archivo de manifiesto, SageMaker recupera el image1.jpg archivo s3://amzn-s3-demo-bucket/sample01/ y la representación en cadena del is-a-cat atributo "1" para la clasificación de la imagen.

sugerencia

Para crear un archivo de manifiesto aumentado, usa Amazon SageMaker Ground Truth y crea un trabajo de etiquetado. Para obtener más información sobre la salida de un trabajo de etiquetado, consulte Etiquetar los datos de salida del trabajo.

Utilice un archivo de manifiesto aumentado

Las siguientes secciones te muestran cómo usar archivos de manifiesto aumentados en tus trabajos de SageMaker formación de Amazon, ya sea con la SageMaker consola o mediante programación mediante Python SageMaker . SDK

Uso de un archivo de manifiesto aumentado (consola)

Para completar este procedimiento, se necesita lo siguiente:

  • El URL del depósito de S3 en el que guardaste el archivo de manifiesto aumentado.

  • Para almacenar los datos que se muestran en el archivo de manifiesto aumentado en un bucket de S3.

  • El URL del depósito de S3 en el que desea almacenar el resultado del trabajo.

Para usar un archivo de manifiesto aumentado en un trabajo de capacitación (consola)
  1. Abre la SageMaker consola de Amazon en https://console.aws.amazon.com/sagemaker/.

  2. En el panel de navegación, elija Entrenamiento; a continuación, elija Trabajos de entrenamiento.

  3. Elija Crear trabajo de entrenamiento.

  4. Proporcione un nombre para el trabajo de entrenamiento. El nombre debe ser único en una AWS región de la AWS cuenta. Puede tener de 1 a 63 caracteres. Los caracteres válidos son: a-z, A-Z, 0-9 y . : + = @ _ % - (guion).

  5. Elija el algoritmo que desee usar. Para obtener más información acerca de los algoritmos integrados admitidos, consulte Algoritmos integrados y modelos previamente entrenados en Amazon SageMaker. Si desea usar un algoritmo personalizado, asegúrese de que sea compatible con el modo de canalización.

  6. (Opcional) En Resource configuration (Configuración de recursos), acepte los valores predeterminados o, para reducir el tiempo de computación, aumente el consumo de recursos.

    1. (Opcional) En Instance type (Tipo de instancia), elija el tipo de instancia de computación de machine learning que desea utilizar. En la mayoría de los casos, ml.m4.xlarge es suficiente.

    2. En Instance count (Recuento de instancias), use el valor predeterminado, 1.

    3. (Opcional) En Additional volume per instance (GB) (Volumen adicional por instancia [GB]), elija el tamaño del volumen de almacenamiento de machine learning que desea aprovisionar. En la mayoría de los casos, puede usar el valor predeterminado, que es 1. Si usa un conjunto de datos voluminoso, utilice un tamaño más grande.

  7. Proporcione información sobre los datos de entrada para el conjunto de datos de capacitación.

    1. En Channel name (Nombre de canal), acepte el valor predeterminado (train) o escriba un nombre más significativo, como training-augmented-manifest-file.

    2. Para InputMode, elija Pipe.

    3. Para el tipo de distribución de datos S3, elija FullyReplicated. Al entrenar cada vez más, la replicación completa hace que cada instancia de computación de machine learning use una copia completa del conjunto de datos ampliado. En los algoritmos basados en lo neuronal, como Algoritmo del modelo de tema neuronal (NTM), elija ShardedByS3Key.

    4. Si los datos especificados en el archivo de manifiesto aumentado se descomprimen, establezca el Compression type (Tipo de compresión) en None (Ninguno). Si los datos se comprimen con gzip, establézcalos en Gzip.

    5. (Opcional) En Tipo de contenido, especifique el MIME tipo adecuado. El tipo de contenido es el tipo de extensión multipropósito de correo de Internet (MIME) de los datos.

    6. En Record wrapper (Contenedor de registros), si el conjunto de datos especificado en el archivo de manifiesto aumentado se guarda en formato RecordIO, elija RecordIO. Si su conjunto de datos no se guarda como archivo con formato RecordIO, elija None (Ninguno).

    7. Para el tipo de datos S3, elija AugmentedManifestFile.

    8. En S3 location (Ubicación de S3), proporcione la ruta al bucket donde almacenó el archivo de manifiesto aumentado.

    9. Para los nombres de los AugmentedManifestFile atributos, especifique el nombre del atributo que desee usar. El nombre de atributo debe estar presente en el archivo de manifiesto aumentado y distingue entre mayúsculas y minúsculas.

    10. (Opcional) Para añadir más nombres de atributo, elija Add row (Añadir fila) y especifique otro nombre de atributo para cada atributo.

    11. (Opcional) Para ajustar el orden de los nombres de atributo, elija los botones hacia arriba o hacia abajo situados junto a los nombres. Al usar un archivo de manifiesto aumentado, el orden de los nombres de atributo especificados es importante.

    12. Seleccione Listo.

  8. En Configuración de datos de salida, proporcione la siguiente información:

    1. En Ubicación de S3, escriba la ruta al bucket de S3 donde desea almacenar los datos de salida.

    2. (Opcional) Puede usar su clave de cifrado AWS Key Management Service (AWS KMS) para cifrar los datos de salida en reposo. Para la clave de cifrado, proporciona el ID de la clave o su número de recurso de Amazon (ARN). Para obtener más información, consulte KMS-Claves de cifrado administradas.

  9. (Opcional) En Etiquetas, agregue una o más etiquetas al trabajo de entrenamiento. Una etiqueta son los metadatos que puede definir y asignar a los recursos de AWS . En este caso, puede usar las etiquetas para ayudarle a administrar sus trabajos de capacitación. Una etiqueta consta de una clave y un valor que define el usuario. Por ejemplo, es posible que desee crear una etiqueta con Project como clave y un valor que hace referencia a un proyecto relacionado con el trabajo de capacitación, como Home value forecasts.

  10. Seleccione Crear trabajo de formación. SageMaker crea y ejecuta el trabajo de formación.

Una vez finalizado el trabajo de entrenamiento, SageMaker almacena los artefactos del modelo en el depósito cuya ruta proporcionó para la ruta de salida de S3 en el campo de configuración de datos de salida. Para implementar el modelo para obtener predicciones, consulte Implemente el modelo en Amazon EC2.

Utilice un archivo de manifiesto aumentado (API)

A continuación, se muestra cómo entrenar un modelo con un archivo de manifiesto aumentado mediante la biblioteca de Python de SageMaker alto nivel:

import sagemaker # Create a model object set to using "Pipe" mode. model = sagemaker.estimator.Estimator( training_image, role, instance_count=1, instance_type='ml.p3.2xlarge', volume_size = 50, max_run = 360000, input_mode = 'Pipe', output_path=s3_output_location, sagemaker_session=session ) # Create a train data channel with S3_data_type as 'AugmentedManifestFile' and attribute names. train_data = sagemaker.inputs.TrainingInput( your_augmented_manifest_file, distribution='FullyReplicated', content_type='application/x-recordio', s3_data_type='AugmentedManifestFile', attribute_names=['source-ref', 'annotations'], input_mode='Pipe', record_wrapping='RecordIO' ) data_channels = {'train': train_data} # Train a model. model.fit(inputs=data_channels, logs=True)

Una vez finalizado el trabajo de entrenamiento, SageMaker almacena los artefactos del modelo en el depósito cuya ruta proporcionó para la ruta de salida de S3 en el campo de configuración de datos de salida. Para implementar el modelo para obtener predicciones, consulte Implemente el modelo en Amazon EC2.