Prácticas recomendadas para el ajuste de hiperparámetros - 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.

Prácticas recomendadas para el ajuste de hiperparámetros

La optimización de hiperparámetros (HPO) no es un proceso completamente automatizado. Para mejorar la optimización, siga estas prácticas recomendadas de ajuste de hiperparámetros.

Elegir una estrategia de ajuste

Para trabajos de gran tamaño, el uso de la estrategia de ajuste Hyperband puede reducir el tiempo de cálculo. Hyperband tiene un mecanismo de parada temprana para detener los trabajos con bajo rendimiento. Hyperband también puede reasignar recursos hacia configuraciones de hiperparámetros bien utilizadas y ejecutar trabajos paralelos. Para trabajos de entrenamiento más pequeños con menos tiempo de ejecución, utilice la búsqueda aleatoria o la optimización bayesiana.

Utilice la optimización bayesiana para tomar decisiones cada vez más fundamentadas sobre la mejora de las configuraciones de hiperparámetros en la próxima ejecución. La optimización bayesiana utiliza la información recopilada de ejecuciones anteriores para mejorar ejecuciones posteriores. Debido a su naturaleza secuencial, la optimización bayesiana no puede escalar masivamente.

Utilice la búsqueda aleatoria para ejecutar un gran número de trabajos paralelos. En la búsqueda aleatoria, los trabajos posteriores no dependen de los resultados de los trabajos anteriores y se pueden ejecutar de forma independiente. En comparación con otras estrategias, la búsqueda aleatoria es capaz de ejecutar el mayor número de trabajos paralelos.

Utilice la búsqueda por cuadrículas para reproducir los resultados de un trabajo de ajuste o si es importante que el algoritmo de optimización sea sencillo y transparente. También puede utilizar la búsqueda por cuadrículas para explorar todo el espacio de búsqueda de hiperparámetros de forma uniforme. La búsqueda en cuadrículas busca metódicamente todas las combinaciones de hiperparámetros para encontrar los valores de hiperparámetros óptimos. A diferencia de la búsqueda por cuadrículas, la optimización bayesiana, la búsqueda aleatoria y Hyperband extraen hiperparámetros de forma aleatoria del espacio de búsqueda. Como la búsqueda en cuadrículas analiza todas las combinaciones de hiperparámetros, los valores óptimos de los hiperparámetros serán idénticos entre los trabajos de ajuste que utilicen los mismos hiperparámetros.

Elección del número de hiperparámetros

Durante la optimización, la complejidad computacional de un trabajo de ajuste de hiperparámetros depende de lo siguiente:

  • El número de hiperparámetros

  • El rango de valores que Amazon SageMaker tiene que buscar

Si bien puede especificar simultáneamente hasta 30 hiperparámetros, limitar la búsqueda a un número menor puede reducir el tiempo de cálculo. Reducir el tiempo de cálculo SageMaker permite converger más rápidamente hacia una configuración de hiperparámetros óptima.

Elección de intervalos de hiperparámetros

El rango de valores que elija buscar puede afectar negativamente a la optimización de hiperparámetros. Por ejemplo, un rango que abarque todos los valores de hiperparámetros posibles puede generar tiempos de cálculo elevados y un modelo que no se generalice bien con datos invisibles. Si sabe que usar un subconjunto del rango más grande posible es adecuado para su caso de uso, considere limitar el rango a ese subconjunto.

Utilizar las escalas correctas para los hiperparámetros

Durante el ajuste de los hiperparámetros, SageMaker intenta deducir si los hiperparámetros tienen una escala logarítmica o lineal. Inicialmente SageMaker , se supone un escalado lineal para los hiperparámetros. Si los hiperparámetros tienen una escala en registros, elegir la escala correcta hará que la búsqueda sea más eficaz. También puede seleccionarla Auto ScalingType en la API CreateHyperParameterTuningJob si SageMaker quiere detectar la báscula por usted.

Elección del mejor número de trabajos de entrenamiento simultáneos

Puede utilizar los resultados de ensayos anteriores para mejorar el rendimiento de ensayos posteriores. Elija el mayor número de trabajos paralelos que proporcionen un resultado incremental significativo que también esté dentro de su región y las restricciones de computación de la cuenta. Utilice el campo MaxParallelTrainingJobs para limitar el número de trabajos de entrenamiento que un trabajo de ajuste de hiperparámetros puede iniciar en paralelo. Para obtener más información, consulte Ejecutar varios trabajos de HPO en paralelo en Amazon SageMaker.

Ejecución de trabajos de entrenamiento en varias instancias

Cuando un trabajo de entrenamiento se ejecuta en varias máquinas en modo distribuido, cada máquina emite una métrica objetiva. HPO solo puede usar una de estas métricas objetivas emitidas para evaluar el rendimiento del modelo. En el modo distribuido, HPO usa la métrica objetiva que se registró en el último trabajo en ejecución en todas las instancias.

Uso de una semilla aleatoria para reproducir configuraciones de hiperparámetros

Puede especificar un número entero como semilla aleatoria para el ajuste de hiperparámetros y usar esa semilla durante la generación de hiperparámetros. Más adelante, puede utilizar la misma semilla para reproducir configuraciones de hiperparámetros que sean coherentes con los resultados anteriores. Para las estrategias de búsqueda aleatoria y Hyperband, el uso de la misma semilla aleatoria puede proporcionar hasta un 100% de reproducibilidad de la configuración de hiperparámetros anterior para el mismo trabajo de ajuste. En el caso de la estrategia bayesiana, el uso de la misma semilla aleatoria mejorará la reproducibilidad para el mismo trabajo de ajuste.