Suivi et définition des critères d'achèvement de votre tâche de réglage - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Suivi et définition des critères d'achèvement de votre tâche de réglage

Vous pouvez utiliser des critères d'achèvement pour demander à Automatic Model Tuning (AMT) d'arrêter votre travail de réglage si certaines conditions sont remplies. Ces conditions vous permettent de définir des performances minimales de modèle ou un nombre maximal de tâches d'entraînement qui ne s'améliorent pas lorsqu'elles sont évaluées par rapport à la métrique d'objectif. Vous pouvez également suivre la progression de votre tâche de réglage et décider de la laisser se poursuivre ou de l'arrêter manuellement. Ce guide vous montre comment définir des critères d'achèvement, vérifier la progression de votre tâche de réglage et l'arrêter manuellement.

Définition de critères d'achèvement pour votre tâche de réglage

Lors de l'optimisation des hyperparamètres, une tâche de réglage lance plusieurs tâches d'entraînement au sein d'une boucle. La tâche de réglage effectuera les opérations suivantes.

  • Elle vérifiera l'achèvement de vos tâches d'entraînement et mettra à jour les statistiques en conséquence.

  • Elle déterminera quelle combinaison d'hyperparamètres évaluer ensuite.

AMTvérifiera en permanence les tâches de formation lancées depuis votre tâche de réglage pour mettre à jour les statistiques. Ces statistiques incluent l'exécution de la tâche de réglage et la meilleure tâche d'entraînement. AMTDétermine ensuite s'il doit arrêter le travail en fonction de vos critères d'achèvement. Vous pouvez également consulter ces statistiques et arrêter votre tâche manuellement. Pour plus d'informations sur l'arrêt manuel d'une tâche, consultez la section Arrêt manuel de votre tâche de réglage.

Par exemple, si votre tâche de réglage répond à votre objectif, vous pouvez arrêter le réglage plus tôt pour économiser les ressources ou garantir la qualité du modèle. AMTvérifie les performances de votre travail par rapport à vos critères d'achèvement et arrête le travail de réglage si certains d'entre eux sont remplis.

Vous pouvez spécifier les types de critères d'achèvement suivants :

  • MaxNumberOfTrainingJobs – Nombre maximal de tâches d'entraînement à exécuter avant l'arrêt du réglage.

  • MaxNumberOfTrainingJobsNotImproving – Nombre maximal de tâches d'entraînement qui n'améliorent pas les performances par rapport à la métrique d'objectif issue de la meilleure tâche d'entraînement actuelle. Par exemple, si la meilleure tâche d'entraînement a renvoyé une métrique d'objectif dont la précision est de 90% et que MaxNumberOfTrainingJobsNotImproving a pour valeur 10. Dans cet exemple, le réglage s'arrête après que 10 tâches d'entraînement ne parviennent pas à renvoyer une précision supérieure à 90 %.

  • MaxRuntimeInSeconds – Limite supérieure de la durée d'exécution d'une tâche de réglage en secondes.

  • TargetObjectiveMetricValue – Valeur de la métrique d'objectif par rapport à laquelle la tâche de réglage est évaluée. Une fois cette valeur atteinte, AMT arrête le travail de réglage.

  • CompleteOnConvergence – Indicateur permettant d'arrêter le réglage lorsqu'un algorithme interne a déterminé qu'il est peu probable que la tâche de réglage s'améliore de plus de 1 % par rapport à la métrique d'objectif issue de la meilleure tâche d'entraînement.

Sélection des critères d'achèvement

Vous pouvez choisir un ou plusieurs critères d'achèvement pour arrêter votre tâche de réglage des hyperparamètres une fois qu'une condition a été remplie. Les instructions suivantes vous indiquent comment sélectionner les critères d'achèvement et comment choisir celui qui convient le mieux à votre cas d'utilisation.

  • Utilisez MaxNumberOfTrainingJobs in ResourceLimitsAPIpour définir une limite supérieure au nombre de tâches d'entraînement pouvant être exécutées avant l'arrêt de votre tâche de réglage. Commencez par un nombre élevé et ajustez-le en fonction des performances du modèle par rapport à l'objectif de votre tâche de réglage. La plupart des utilisateurs saisissent des valeurs d'environ 50 tâches d'entraînement ou plus pour rechercher une configuration hyperparamétrique optimale. Les utilisateurs recherchant des niveaux de performances supérieurs utiliseront 200 tâches d'entraînement ou plus.

  • MaxNumberOfTrainingJobsNotImprovingÀ utiliser BestObjectiveNotImprovingAPIsur le terrain pour arrêter l'entraînement si les performances du modèle ne s'améliorent pas après un certain nombre de tâches. Les performances du modèle sont évaluées par rapport à une fonction d'objectif. Une fois MaxNumberOfTrainingJobsNotImproving le paramètre atteint, le travail de réglage AMT sera arrêté. Les tâches de réglage ont tendance à progresser le plus au début de la tâche. L'amélioration des performances du modèle par rapport à une fonction d'objectif nécessite un plus grand nombre de tâches d'entraînement vers la fin du réglage. Sélectionnez une valeur pour MaxNumberOfTrainingJobsNotImproving en vérifiant les performances de tâches d'entraînement similaires par rapport à votre métrique d'objectif.

  • Utilisez MaxRuntimeInSeconds dans le ResourceLimitsAPIpour définir une limite supérieure à la durée que peut prendre le réglage de l'horloge murale. Utilisez ce champ pour respecter une date limite à laquelle la tâche de réglage doit être terminée ou pour limiter les ressources de calcul.

    Pour obtenir une estimation du temps de calcul total en secondes pour une tâche de réglage, utilisez la formule suivante :

    Temps de calcul maximal estimé en secondes = MaxRuntimeInSeconds * MaxParallelTrainingJobs * MaxInstancesPerTrainingJob

    Note

    La durée réelle d'une tâche de réglage peut légèrement différer de la valeur spécifiée dans ce champ.

  • TargetObjectiveMetricValueÀ utiliser dans le TuningJobCompletionCriteriaAPIpour arrêter votre travail de réglage. Vous arrêtez la tâche de réglage lorsque toute tâche d'entraînement lancée par la tâche de réglage atteint cette valeur de métrique d'objectif. Utilisez ce champ si votre cas d'utilisation dépend de la réalisation d'un niveau de performances spécifique, plutôt que de la dépense de ressources de calcul pour trouver le meilleur modèle possible.

  • CompleteOnConvergenceÀ utiliser TuningJobCompletionCriteriaAPIpour arrêter une tâche de réglage après avoir AMT détecté que la tâche de réglage a convergé et qu'il est peu probable qu'elle progresse de manière significative. Utilisez ce champ lorsqu'il n'est pas clair quelles valeurs doivent être utilisées pour les autres critères d'achèvement. AMTdétermine la convergence sur la base d'un algorithme développé et testé sur un large éventail de benchmarks. Une tâche de réglage est définie comme ayant convergé quand aucune des tâches d'entraînement ne donne lieu à une amélioration significative (1 % ou moins). L'amélioration est mesurée par rapport à la métrique d'objectif renvoyée par la tâche la plus performante à ce jour.

Combinaison de différents critères d'achèvement

Vous pouvez également combiner des critères d'achèvement quelconques dans la même tâche de réglage. AMTarrêtera le travail de réglage lorsque l'un des critères d'achèvement est satisfait. Par exemple, si vous souhaitez régler votre modèle jusqu'à ce qu'il atteigne une métrique d'objectif, mais que vous ne souhaitez pas continuer à le régler si votre tâche a convergé, suivez les instructions suivantes.

  • Spécifiez TargetObjectiveMetricValue dans le TuningJobCompletionCriteriaAPIpour définir une valeur de mesure cible à atteindre.

  • Réglez CompleteOnConvergencesur Enabled pour arrêter une tâche de réglage si vous avez déterminé AMT qu'il est peu probable que les performances du modèle s'améliorent.

Suivi de la progression de la tâche de réglage

Vous pouvez utiliser le DescribeHyperParameterTuningJob API pour suivre la progression de votre tâche de réglage à tout moment pendant son exécution. Il n'est pas nécessaire de spécifier des critères d'achèvement pour obtenir des informations de suivi pour votre tâche de réglage. Utilisez les champs suivants pour obtenir des statistiques sur votre tâche de réglage.

  • BestTrainingJob— Un objet qui décrit le meilleur poste de formation obtenu jusqu'à présent, évalué par rapport à votre indicateur objectif. Utilisez ce champ pour vérifier les performances actuelles de votre modèle et la valeur de la métrique d'objectif de cette meilleure tâche d'entraînement.

  • ObjectiveStatusCounters— Objet qui indique le nombre total de tâches de formation effectuées dans le cadre d'une tâche de réglage. Pour estimer la durée moyenne d'une tâche de réglage, utilisez ObjectiveStatusCounters et la durée totale d'exécution d'une tâche de réglage. Vous pouvez utiliser la durée moyenne pour estimer la durée d'exécution restante de votre tâche de réglage.

  • ConsumedResources : total des ressources, par exemple RunTimeInSeconds, consommées par votre tâche de réglage. ComparezConsumedResources, trouvé dans le DescribeHyperParameterTuningJob API, BestTrainingJob avec le mêmeAPI. Vous pouvez également ConsumedResources comparer avec la réponse du ListTrainingJobsForHyperParameterTuningJobAPIpour évaluer si votre travail de réglage progresse de manière satisfaisante compte tenu des ressources consommées.

  • TuningJobCompletionDetails— Réglage des informations relatives à l'achèvement des tâches, notamment les suivantes :

    • Horodatage indiquant à quel moment la convergence est détectée si la tâche a convergé.

    • Nombre de tâches d'entraînement qui n'ont pas amélioré les performances du modèle. Les performances du modèle sont évaluées par rapport à la métrique d'objectif issue de la meilleure tâche d'entraînement.

    Utilisez les critères d'achèvement de la tâche de réglage pour évaluer la probabilité que votre tâche de réglage améliore les performances de votre modèle. Les performances du modèle sont évaluées par rapport à la meilleure métrique d'objectif s'il s'est exécuté jusqu'à la fin.

Arrêt manuel de votre tâche de réglage

Vous pouvez déterminer si vous devez laisser la tâche de réglage s'exécuter jusqu'à ce qu'elle soit terminée ou si vous devez l'arrêter manuellement. Pour le déterminer, utilisez les informations renvoyées par les paramètres du DescribeHyperParameterTuningJobAPI, comme indiqué dans la section précédente consacrée au suivi de la progression des tâches de réglage. Par exemple, si les performances de votre modèle ne s'améliorent pas après l'achèvement de plusieurs tâches d'entraînement, vous pouvez choisir d'arrêter la tâche de réglage. Les performances du modèle sont évaluées par rapport à la meilleure métrique d'objectif.

Pour arrêter la tâche de réglage manuellement, utilisez le StopHyperParameterTuningJobAPIet indiquez le nom de la tâche de réglage à arrêter.