Realizar un seguimiento y establecer criterios de finalización de su trabajo de ajuste - 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.

Realizar un seguimiento y establecer criterios de finalización de su trabajo de ajuste

Puede utilizar los criterios de finalización para indicar al ajuste automático del modelo (AMT) que detenga el trabajo de ajuste si se cumplen determinadas condiciones. Con estas condiciones, puede establecer un rendimiento mínimo del modelo o un número máximo de trabajos de entrenamiento que no mejoran cuando se evalúan con respecto a la métrica objetiva. También puede hacer un seguimiento del avance de su trabajo de ajuste y decidir si continuar o detenerlo manualmente. Esta guía le muestra cómo establecer los criterios de finalización, comprobar el avance y detener el trabajo de ajuste manualmente.

Establezca los criterios de finalización para su trabajo de ajuste

Durante la optimización de hiperparámetros, un trabajo de ajuste pondrá en marcha varios trabajos de entrenamiento en bucle. El trabajo de ajuste realizará lo siguiente.

  • Compruebe si ha completado sus trabajos de entrenamiento y actualice las estadísticas en consecuencia

  • Decida qué combinación de hiperparámetros evaluar a continuación.

AMTcomprobará continuamente los trabajos de formación que se iniciaron desde su trabajo de ajuste para actualizar las estadísticas. Estas estadísticas incluyen el tiempo de ejecución del trabajo de ajuste y el mejor trabajo de entrenamiento. A continuación, AMT determina si debe detener el trabajo de acuerdo con sus criterios de finalización. También puede comprobar estas estadísticas y detener el trabajo manualmente. Para obtener más información sobre cómo detener un trabajo manualmente, consulte la sección Detener el trabajo de ajuste manualmente.

Por ejemplo, si su trabajo de ajuste cumple su objetivo, puede interrumpir el ajuste antes de tiempo para ahorrar recursos o garantizar la calidad del modelo. AMTcompara el rendimiento del trabajo con los criterios de finalización y detiene el trabajo de ajuste si se ha cumplido alguno.

Puede especificar los siguientes tipos de criterios de finalización:

  • MaxNumberOfTrainingJobs: el número máximo de trabajos de entrenamiento que deben ejecutarse antes de detener el ajuste.

  • MaxNumberOfTrainingJobsNotImproving: el número máximo de trabajos de entrenamiento que no mejoran el rendimiento en comparación con la métrica objetiva del mejor trabajo de entrenamiento actual. Por ejemplo, si el mejor trabajo de entrenamiento arrojó una métrica objetiva con una precisión de 90%, y MaxNumberOfTrainingJobsNotImproving está establecido en 10. En este ejemplo, el ajuste se detendrá cuando los trabajos de entrenamiento 10 no muestren una precisión superior al 90%.

  • MaxRuntimeInSeconds: el límite máximo de tiempo real que puede durar un trabajo de ajuste en segundos.

  • TargetObjectiveMetricValue: el valor de la métrica objetiva con la que se evalúa el trabajo de ajuste. Una vez alcanzado este valor, AMT detiene el trabajo de ajuste.

  • CompleteOnConvergence: un indicador para detener el ajuste después de que un algoritmo interno determine que es poco probable que el trabajo de ajuste mejore más de un 1% con respecto a la métrica objetiva del mejor trabajo de entrenamiento.

Elección de los criterios de finalización

Puede elegir uno o varios criterios de finalización para detener el trabajo de ajuste de hiperparámetros una vez que se haya cumplido una condición. Las siguientes instrucciones le muestran cómo seleccionar los criterios de finalización y cómo decidir cuál es el más adecuado para su caso de uso.

  • MaxNumberOfTrainingJobsResourceLimitsAPIUtilícelo para establecer un límite superior para el número de trabajos de entrenamiento que se pueden ejecutar antes de detener el trabajo de ajuste. Comience con un número grande y ajústelo en función del rendimiento del modelo en función del objetivo de su trabajo de ajuste. La mayoría de los usuarios introducen valores cercanos a 50 o más trabajos de entrenamiento para encontrar una configuración de hiperparámetros óptima. Los usuarios que buscan niveles más altos de rendimiento del modelo utilizarán 200 o más trabajos de entrenamiento.

  • Úselo BestObjectiveNotImprovingAPIsobre MaxNumberOfTrainingJobsNotImproving el terreno para detener el entrenamiento si el rendimiento del modelo no mejora después de un número específico de trabajos. El rendimiento del modelo se evalúa en función de una función objetivo. Cuando MaxNumberOfTrainingJobsNotImproving se cumpla, se AMT detendrá el trabajo de ajuste. Los trabajos de ajuste suelen progresar más al principio del trabajo. Mejorar el rendimiento del modelo en comparación con una función objetivo requerirá un mayor número de trabajos de entrenamiento hacia el final del ajuste. Seleccione un valor para MaxNumberOfTrainingJobsNotImproving comparando el rendimiento de trabajos de entrenamiento similares con su métrica objetiva.

  • MaxRuntimeInSecondsUtilícelo ResourceLimitsAPIpara establecer un límite superior para la cantidad de tiempo que puede tardar el trabajo de afinación en un reloj de pared. Utilice este campo para cumplir la fecha límite en la que debe completarse el trabajo de ajuste o para limitar los recursos informáticos.

    Para obtener un tiempo de cálculo total estimado en segundos para un trabajo de ajuste, utilice la siguiente fórmula:

    Tiempo máximo de cálculo estimado en segundos = MaxRuntimeInSeconds * MaxParallelTrainingJobs * MaxInstancesPerTrainingJob

    nota

    La duración real de un trabajo de ajuste puede diferir ligeramente del valor especificado en este campo.

  • TargetObjectiveMetricValueÚselo TuningJobCompletionCriteriaAPIpara detener su trabajo de afinación. El trabajo de ajuste se detiene después de que cualquier trabajo de entrenamiento iniciado por el trabajo de ajuste alcance este valor métrico objetivo. Utilice este campo si su caso de uso depende de alcanzar un nivel de rendimiento específico, en lugar de gastar recursos de cálculo para encontrar el mejor modelo posible.

  • CompleteOnConvergenceUtilícelo TuningJobCompletionCriteriaAPIpara detener un trabajo de afinación después AMT de haber detectado que el trabajo de afinación ha convergido y es poco probable que siga progresando de forma significativa. Utilice este campo cuando no esté claro qué valores se deben utilizar para alguno de los demás criterios de finalización. AMTdetermina la convergencia basándose en un algoritmo desarrollado y probado en una amplia gama de puntos de referencia diversos. Se considera que un trabajo de ajuste ha convergido cuando ninguno de los trabajos de entrenamiento arroja una mejora significativa (un 1% o menos). La mejora se mide en función de la métrica objetiva obtenida por el trabajo con el rendimiento más alto hasta el momento.

Combinar diferentes criterios de finalización

También puede combinar cualquiera de los diferentes criterios de finalización en el mismo trabajo de ajuste. AMTdetendrá el trabajo de ajuste cuando se cumpla alguno de los criterios de finalización. Por ejemplo, si desea ajustar el modelo hasta que cumpla una métrica objetiva, pero no quiere seguir ajustándolo si su trabajo ha sido convergente, utilice la siguiente guía.

  • Especifique TargetObjectiveMetricValue en el TuningJobCompletionCriteriaAPIpara establecer un valor de métrica objetivo objetivo que desee alcanzar.

  • CompleteOnConvergenceConfigúrelo en Enabled para detener un trabajo de ajuste si se AMT ha determinado que es poco probable que el rendimiento del modelo mejore.

Realice un seguimiento del avance del trabajo de ajuste

Puede usarlo DescribeHyperParameterTuningJob API para realizar un seguimiento del progreso de su trabajo de ajuste en cualquier momento mientras esté en ejecución. No es necesario que especifique los criterios de finalización para obtener información de seguimiento para su trabajo de ajuste. Utilice los siguientes campos para obtener estadísticas sobre su trabajo de ajuste.

  • BestTrainingJob— Un objeto que describe el mejor trabajo de entrenamiento obtenido hasta el momento, comparado con tu métrica objetivo. Utilice este campo para comprobar el rendimiento de su modelo actual y el valor de la métrica objetiva de este mejor trabajo de entrenamiento.

  • ObjectiveStatusCounters— Un objeto que especifica el número total de trabajos de formación completados en un trabajo de ajuste. Para estimar la duración media de un trabajo de ajuste, utilice ObjectiveStatusCounters y el tiempo de ejecución total de un trabajo de ajuste. Puede utilizar la duración media para estimar cuánto tiempo durará su trabajo de ajuste.

  • ConsumedResources: los recursos totales, por ejemplo RunTimeInSeconds, consumidos por el trabajo de ajuste. Compara ConsumedResources lo que se encuentra en DescribeHyperParameterTuningJob API, con lo que se encuentra BestTrainingJob en el mismoAPI. También puede ConsumedResources compararla con la respuesta del ListTrainingJobsForHyperParameterTuningJobAPIpara evaluar si su trabajo de ajuste está progresando satisfactoriamente teniendo en cuenta los recursos que se están consumiendo.

  • TuningJobCompletionDetails— Información de finalización del trabajo de ajuste que incluye lo siguiente:

    • La marca temporal en la que se detecta la convergencia si el trabajo ha convergido.

    • El número de trabajos de entrenamiento que no han mejorado el rendimiento del modelo. El rendimiento del modelo se evalúa en función de la métrica objetiva del mejor trabajo de entrenamiento.

    Utilice los criterios de finalización del trabajo de ajuste para evaluar la probabilidad de que su trabajo de ajuste mejore el rendimiento del modelo. El rendimiento del modelo se evalúa en función de la mejor métrica objetiva si se ha completado.

Detener el trabajo de ajuste manualmente

Puede determinar si debe dejar que el trabajo de ajuste se ejecute hasta que se complete o si debe detenerlo manualmente. Para determinarlo, utilice la información devuelta por los parámetros del DescribeHyperParameterTuningJobAPI, tal y como se muestra en la sección anterior Seguimiento del progreso de los trabajos de ajuste. Por ejemplo, si el rendimiento de su modelo no mejora después de completar varios trabajos de entrenamiento, puede optar por detener el trabajo de ajuste. El rendimiento del modelo se evalúa en función de la mejor métrica objetiva.

Para detener el trabajo de afinación manualmente, utilice StopHyperParameterTuningJobAPIy proporcione el nombre del trabajo de afinación que se va a detener.