Skip to main content
Une configuration de sweep se compose de paires clé-valeur imbriquées. Utilisez les clés de premier niveau de votre configuration de sweep pour définir les caractéristiques de la recherche effectuée par votre sweep, comme les paramètres à explorer (clé parameters) et la méthode d’exploration de l’espace des paramètres (clé method). Le tableau suivant répertorie les clés de premier niveau de la configuration de sweep, accompagnées d’une brève description. Pour plus d’informations sur chaque clé, consultez la section correspondante. Pour plus d’informations, voir Définir la configuration de sweep.

metric

Utilisez la clé de premier niveau metric de la configuration de sweep pour spécifier le nom, l’objectif et la métrique cible à optimiser.

parameters

Dans votre fichier YAML ou votre script Python, spécifiez parameters comme clé de premier niveau. Sous la clé parameters, indiquez le nom de chaque hyperparamètre à optimiser. Parmi les hyperparamètres courants figurent le taux d’apprentissage, la taille de lot, le nombre d’époques et l’optimiseur. Pour chaque hyperparamètre défini dans votre configuration de sweep, spécifiez une ou plusieurs contraintes de recherche. Le tableau suivant présente les contraintes de recherche d’hyperparamètres prises en charge. Selon votre hyperparamètre et votre cas d’usage, utilisez l’une de ces contraintes pour indiquer à votre agent de sweep où chercher (dans le cas d’une distribution) ou quelles valeurs rechercher ou utiliser (par exemple value ou values).
Si vous ne spécifiez pas de distribution, W&B applique les distributions suivantes selon les cas :
  • categorical si vous spécifiez values
  • int_uniform si vous spécifiez max et min sous forme d’entiers
  • uniform si vous spécifiez max et min sous forme de nombres à virgule flottante
  • constant si vous spécifiez value

method

Définissez la stratégie de recherche d’hyperparamètres avec la clé method. Trois stratégies de recherche d’hyperparamètres sont disponibles : la recherche sur grille, la recherche aléatoire et la recherche bayésienne. La recherche sur grille parcourt toutes les combinaisons de valeurs d’hyperparamètres. Elle choisit les valeurs d’hyperparamètres à utiliser à chaque itération sans s’appuyer sur les résultats précédents. La recherche sur grille peut s’avérer coûteuse en calcul. La recherche sur grille s’exécute indéfiniment si l’espace de recherche est continu. La recherche aléatoire choisit, à chaque itération, un ensemble aléatoire et non informé de valeurs d’hyperparamètres en se basant sur une distribution. La recherche aléatoire s’exécute indéfiniment, sauf si vous arrêtez le processus depuis la ligne de commande, dans votre script Python ou depuis la W&B App. Si vous choisissez la recherche aléatoire (method: random), spécifiez la distribution de chaque hyperparamètre dans la clé parameters. Contrairement à la recherche aléatoire et à la recherche sur grille, les modèles bayésiens prennent des décisions éclairées. L’optimisation bayésienne s’appuie sur un modèle probabiliste pour choisir les valeurs à utiliser. Le processus teste les valeurs de manière itérative sur une fonction de substitution avant d’évaluer la fonction objectif. La recherche bayésienne convient bien à un petit nombre de paramètres continus, mais passe mal à l’échelle. Pour plus d’informations sur la recherche bayésienne, consultez l’article Bayesian Optimization Primer. La recherche bayésienne s’exécute indéfiniment, sauf si vous arrêtez le processus depuis la ligne de commande, dans votre script Python ou depuis W&B App. Dans la clé parameters, imbriquez le nom de l’hyperparamètre. Ensuite, définissez la clé distribution et indiquez une distribution pour la valeur. Le tableau suivant répertorie les distributions prises en charge par W&B.

early_terminate

Utilisez l’arrêt anticipé (early_terminate) pour interrompre les runs peu performants. En cas d’arrêt anticipé, W&B arrête le run actuel avant de créer un nouveau run avec un nouvel ensemble de valeurs d’hyperparamètres.
Vous devez spécifier un algorithme d’arrêt si vous utilisez early_terminate. Dans votre configuration de sweep, imbriquez la clé type dans early_terminate.

Algorithme d’arrêt

W&B prend en charge l’algorithme d’arrêt Hyperband.
L’optimisation des hyperparamètres Hyperband détermine si un programme doit s’arrêter ou continuer à un ou plusieurs nombres d’itérations prédéfinis, appelés brackets. Lorsqu’un run W&B atteint un bracket, le sweep compare la métrique de ce run à toutes les valeurs de métrique signalées jusque-là. Le sweep met fin au run si la valeur de sa métrique est trop élevée (lorsque l’objectif est la minimisation) ou trop faible (lorsque l’objectif est la maximisation). Les brackets sont basés sur le nombre d’itérations journalisées. Le nombre de brackets correspond au nombre de fois où vous journalisez la métrique que vous optimisez. Les itérations peuvent correspondre à des étapes, à des époques ou à une granularité intermédiaire. Le calcul des brackets ne tient pas compte de la valeur numérique du compteur d’étapes.
Spécifiez min_iter ou max_iter pour créer un calendrier de brackets.
Hyperband vérifie toutes les quelques minutes quels runs doivent être arrêtés. L’horodatage de fin du run peut différer des brackets spécifiés si votre run ou votre itération est de courte durée.

command

Utilisez la clé de premier niveau command pour contrôler la manière dont l’agent de sweep appelle votre script d’entraînement et lui transmet des arguments. Modifiez le format et le contenu à l’aide de valeurs imbriquées dans la clé command. Vous pouvez inclure directement des composants fixes, tels que des noms de fichiers.
Sur les systèmes Unix, /usr/bin/env garantit que le système d’exploitation choisit l’interpréteur Python approprié en fonction de l’environnement.
W&B prend en charge les macros suivantes pour les composants variables de la commande :
Dernière modification le 30 septembre 2026