Découvrez les stratégies de réglage des hyperparamètres disponibles sur Amazon SageMaker - 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.

Découvrez les stratégies de réglage des hyperparamètres disponibles sur Amazon SageMaker

Lorsque vous créez des systèmes de machine learning complexes, tels que des réseaux neuronaux deep learning, il n'est pas possible d'explorer toutes les combinaisons. Le réglage des hyperparamètres peut accélérer votre productivité en testant de nombreuses variantes d'un modèle. Il recherche automatiquement le meilleur modèle en se concentrant sur les combinaisons les plus prometteuses des valeurs des hyperparamètres dans les plages que vous spécifiez. Pour obtenir de bons résultats, vous devez choisir les bonnes plages à explorer. Cette page fournit une brève explication des différentes stratégies de réglage des hyperparamètres que vous pouvez utiliser avec Amazon SageMaker.

Utilisez le guide API de référence pour comprendre comment interagir avec le réglage des hyperparamètres. Vous pouvez utiliser les stratégies de réglage décrites sur cette page avec le HyperParameterTuningJobConfiget HyperbandStrategyConfigAPIs.

Note

L'algorithme lui-même étant stochastique, le modèle de réglage des hyperparamètres risque de ne pas converger vers la meilleure réponse. Cela peut se produire même si la meilleure combinaison de valeurs possible figure dans les plages que vous choisissez.

Lorsque vous utilisez la recherche par quadrillage, le réglage des hyperparamètres sélectionne des combinaisons de valeurs parmi la plage de valeurs catégorielles que vous spécifiez lors de la création de la tâche. Seuls les paramètres catégoriels sont pris en charge lors de l'utilisation de la stratégie de recherche par quadrillage. Vous n'avez pas besoin de spécifier les MaxNumberOfTrainingJobs. Le nombre de tâches de formation créées par la tâche de réglage est automatiquement calculé comme étant le nombre total de combinaisons catégorielles distinctes possibles. Si elle est spécifiée, la valeur de MaxNumberOfTrainingJobs doit être égale au nombre total de combinaisons catégorielles distinctes possibles.

Lorsque vous utilisez la recherche aléatoire, le réglage des hyperparamètres choisit une combinaison aléatoire de valeurs d'hyperparamètres dans les plages que vous spécifiez pour chaque tâche de formation lancée. Le choix des valeurs des hyperparamètres ne dépend pas des résultats des tâches de formation précédentes. Par conséquent, vous pouvez exécuter un maximum de tâches d'entraînement simultanées sans modifier les performances du réglage.

Pour un exemple de bloc-notes utilisant la recherche aléatoire, consultez le bloc-notes Recherche aléatoire et mise à l'échelle des hyperparamètres avec SageMaker XGBoost et le bloc-notes Automatic Model Tuning.

Optimisation bayésienne

L'optimisation bayésienne traite le réglage des hyperparamètres comme un problème de régression. À partir d'un ensemble de caractéristiques d'entrée (les hyperparamètres), le réglage des hyperparamètres optimise un modèle pour la métrique que vous choisissez. Pour résoudre un problème de régression, le réglage des hyperparamètres permet de deviner quelles combinaisons d'hyperparamètres sont susceptibles d'obtenir les meilleurs résultats. Il exécute ensuite des tâches de formation pour tester ces valeurs. Après avoir testé un ensemble de valeurs d'hyperparamètres, le réglage des hyperparamètres utilise la régression pour choisir l'ensemble suivant de valeurs d'hyperparamètres à tester.

Le réglage des hyperparamètres utilise une SageMaker implémentation Amazon de l'optimisation bayésienne.

Lorsque vous choisissez les meilleurs hyperparamètres pour la tâche d'entraînement suivante, le réglage des hyperparamètres tient compte de tous les éléments connus concernant ce problème. Il choisit parfois une combinaison de valeurs d'hyperparamètres proche de celle ayant permis d'obtenir la meilleure tâche d'entraînement précédente afin d'améliorer les performances de façon incrémentielle. Cela permet de régler les hyperparamètres afin d'utiliser les meilleurs résultats connus. Ou bien il choisit un ensemble de valeurs d'hyperparamètres éloigné de ce qu'il a déjà essayé. Cela lui permet d'explorer la plage des valeurs d'hyperparamètres pour essayer de trouver de nouvelles zones encore méconnues. Le compromis explorer/exploiter est courant dans de nombreux problèmes de machine learning.

Pour plus d'informations sur les optimisations bayésiennes, consultez les ressources suivantes :

Hyperband

Hyperband est une stratégie de réglage basée sur la multifidélité qui réalloue dynamiquement les ressources. Hyperband utilise les résultats intermédiaires et finaux des tâches d'entraînement pour réallouer des époques aux configurations d'hyperparamètres bien utilisées et arrêter automatiquement celles qui ne sont pas performantes. Il s'adapte également parfaitement à l'utilisation de nombreuses tâches d'entraînement parallèles. Ces fonctionnalités peuvent considérablement accélérer le réglage des hyperparamètres par rapport aux stratégies de recherche aléatoire et d'optimisation bayésienne.

Hyperband ne doit être utilisé que pour régler des algorithmes itératifs qui publient des résultats à différents niveaux de ressources. Par exemple, Hyperband peut être utilisé pour régler un réseau neuronal pour la classification des images qui publie des métriques de précision après chaque époque.

Pour plus d'informations sur Hyperband, consultez les liens suivants :

Hyperband avec arrêt anticipé

Les tâches d'entraînement peuvent être arrêtées de manière anticipée lorsqu'elles ont peu de chances d'améliorer la métrique objective de la tâche de réglage des hyperparamètres. Cela aide à réduire le temps de calcul et à éviter un surajustement de votre modèle. Hyperband utilise un mécanisme interne avancé pour appliquer un arrêt anticipé. Le paramètre TrainingJobEarlyStoppingType HyperParameterTuningJobConfig API doit être défini sur OFF lors de l'utilisation de la fonction d'arrêt anticipé interne Hyperband.

Note

Le réglage des hyperparamètres n'améliorera pas forcément votre modèle. Il s'agit d'un outil avancé pour créer des solutions automatisées. En tant que tel, il doit être considéré comme faisant partie du processus de développement scientifique.