Detener trabajos de entrenamiento pronto - 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.

Detener trabajos de entrenamiento pronto

Detenga pronto los trabajos de entrenamiento que un trabajo de ajuste de hiperparámetros lanza cuando no mejoran de forma significativa de acuerdo con la métrica objetiva. Detener pronto los trabajos de entrenamiento puede ser útil para reducir el tiempo de cómputo y ayuda a evitar ajustes excesivos del modelo. Para configurar un trabajo de ajuste de hiperparámetros para detener los trabajos de entrenamiento pronto, realice una de las siguientes operaciones:

  • Si utilizas el AWS SDK para Python (Boto3), establece el TrainingJobEarlyStoppingType campo del HyperParameterTuningJobConfigobjeto en el que vas a configurar el trabajo de ajuste. AUTO

  • Si utiliza el SDK de Amazon SageMaker Python, defina el early_stopping_type parámetro del objeto HyperParameterTuner en. Auto

  • En la SageMaker consola de Amazon, en el flujo de trabajo Crear trabajo de ajuste de hiperparámetros, en Parada anticipada, seleccione Automático.

Para ver un ejemplo de cuaderno que muestre cómo utilizar la parada temprana, consulte https://github.com/awslabs/amazon-sagemaker-examples/blob/master/hyperparameter_tuning/image_classification_early_stopping/hpo_image_classification_early_stopping.ipynb o abra el hpo_image_classification_early_stopping.ipynb cuaderno en la sección Ajuste de hiperparámetros de la instancia SageMaker Ejemplos en un bloc de notas. Para obtener información acerca de cómo usar los cuadernos de ejemplo en una instancia de cuaderno, consulte Ejemplo de cuadernos.

Cómo funciona la detención precoz

Al activar la parada temprana para un trabajo de ajuste de hiperparámetros, SageMaker evalúa cada trabajo de entrenamiento que el trabajo de ajuste de hiperparámetros inicie de la siguiente manera:

  • Después de cada fecha de inicio de entrenamiento, obtiene el valor de la métrica objetiva.

  • Calcula el promedio de ejecución de la métrica objetiva de todos los trabajos de entrenamiento anteriores hasta la misma fecha de inicio y, a continuación, calcula la media de todos los promedios en ejecución.

  • Si el valor de la métrica objetivo para el trabajo de formación actual es peor (más alto al minimizar o más bajo al maximizar la métrica objetivo) que el valor medio de las medias acumuladas de la métrica objetivo para trabajos de formación anteriores realizados hasta la misma época, SageMaker se detiene el trabajo de formación actual.

Algoritmos que admiten la detención precoz

Para admitir la detención precoz, un algoritmo debe emitir métricas objetivas para cada fecha de inicio. Los siguientes SageMaker algoritmos integrados admiten la interrupción temprana:

nota

Esta lista de algoritmos integrados que admiten la detención precoz está actualizada en fecha de 13 de diciembre de 2018. Más adelante probablemente haya más algoritmos integrados que admitan la detención precoz. Si un algoritmo emite una métrica que se puede utilizar como métrica objetiva para un trabajo de ajuste de hiperparámetros (preferiblemente una métrica de validación), esto significa que admite la detención precoz.

Para utilizar la detección precoz con su propio algoritmo, debe escribir sus algoritmos de modo que emitan el valor de la métrica objetiva después de cada fecha de inicio. En la siguiente lista se muestra cómo puede hacerlo en diferentes marcos de trabajo:

TensorFlow

Utilice la clase tf.keras.callbacks.ProgbarLogger. Para obtener más información, consulte tf.keras.callbacks. ProgbarLogger API.

MXNet

Utilice la mxnet.callback.LogValidationMetricsCallback. Para obtener más información, consulte las API mxnet.callback.

Chainer

Amplíe el chainer mediante la clase extensions.Evaluator. Para obtener más información, consulte la API Chainer.Training.Extensions.Evaluator.

PyTorch y Spark

No hay soporte de tipo general. Tiene que escribir explícitamente su código de entrenamiento de modo que calcule las métricas objetivas y las escriba en registros después de cada fecha de inicio.