Detener trabajos de entrenamiento pronto - Amazon SageMaker AI

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 HyperParameterTunerobjeto enAuto.

  • En la consola Amazon SageMaker AI, en el flujo de trabajo Crear un trabajo de ajuste de hiperparámetros, en Parada temprana, elija Automático.

Para ver un ejemplo de bloc de notas 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 cuaderno en la sección Ajuste de hiperparámetros de la sección de ejemplos de IA en una instancia de bloc de notas. hpo_image_classification_early_stopping.ipynb SageMaker Para obtener información acerca de cómo usar los cuadernos de ejemplo en una instancia de cuaderno, consulte Acceso a cuadernos de ejemplo.

Cómo funciona la detención precoz

Al activar la interrupción temprana de un trabajo de ajuste de hiperparámetros, la IA evalúa cada trabajo de entrenamiento que se inicie con el trabajo de ajuste de hiperparámetros de la siguiente manera: SageMaker

  • 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, la SageMaker IA 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 algoritmos de SageMaker IA integrados permiten detener prematuramente el sistema:

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, consulta tf.keras.callbacks. ProgbarLogger API.

MXNet

Utilice la mxnet.callback.LogValidationMetricsCallback. Para obtener más información, consulte APIsmxnet.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.