Partager via


BanditPolicy Classe

Définit une stratégie d’arrêt anticipé basée sur des critères de marge, ainsi qu’une fréquence et un intervalle de retard pour l’évaluation.

Initialisez un BanditPolicy avec un facteur de marge, un slack_amount et un intervalle d’évaluation.

Héritage
azureml.train.hyperdrive.policy.EarlyTerminationPolicy
BanditPolicy

Constructeur

BanditPolicy(evaluation_interval=1, slack_factor=None, slack_amount=None, delay_evaluation=0)

Paramètres

Nom Description
slack_factor

Ratio utilisé pour calculer la distance autorisée par rapport à l’exécution d’expérience la plus performante.

Valeur par défaut: None
slack_amount

Distance absolue autorisée par rapport à l’évaluation la plus performante.

Valeur par défaut: None
evaluation_interval
int

Fréquence d’application de la stratégie.

Valeur par défaut: 1
delay_evaluation
int

Nombre d’intervalles pour lesquels retarder la première évaluation de la stratégie. S’il est spécifié, la stratégie s’applique à chaque multiple de evaluation_interval qui est supérieur ou égal à delay_evaluation.

Valeur par défaut: 0
slack_factor
Obligatoire

Ratio utilisé pour calculer la distance autorisée par rapport à l’exécution d’expérience la plus performante.

slack_amount
Obligatoire

Distance absolue autorisée par rapport à l’évaluation la plus performante.

evaluation_interval
Obligatoire
int

Fréquence d’application de la stratégie.

delay_evaluation
Obligatoire
int

Nombre d’intervalles pour lesquels retarder la première évaluation de la stratégie. S’il est spécifié, la stratégie s’applique à chaque multiple de evaluation_interval qui est supérieur ou égal à delay_evaluation.

Remarques

La stratégie Bandit prend les paramètres de configuration suivants :

  • slack_factor : quantité de marge autorisée par rapport à l’exécution d’entraînement la plus performante. Ce facteur spécifie la marge sous forme de ratio.

  • slack_amount : quantité de marge autorisée par rapport à l’exécution d’entraînement la plus performante. Ce facteur spécifie la marge sous forme de quantité absolue.

  • evaluation_interval : Facultatif. Fréquence d’application de la stratégie. Chaque journalisation de la métrique principale par le script d’entraînement compte pour un intervalle.

  • delay_evaluation : Facultatif. Nombre d’intervalles pour retarder l’évaluation de la stratégie. Utilisez ce paramètre pour éviter l’arrêt prématuré des exécutions d’entraînement. S’il est spécifié, la stratégie s’applique à chaque multiple de evaluation_interval qui est supérieur ou égal à delay_evaluation.

Toutes les exécutions qui ne s’inscrivent pas dans le facteur de marge ou la quantité de marge de la métrique d’évaluation par rapport à l’exécution la plus performante sont arrêtées.

Prenons l’exemple d’une stratégie Bandit avec slack_factor = 0,2 et evaluation_interval = 100. Supposons que l’exécution X est la plus performante avec un AUC (métrique de performance) de 0,8 après 100 intervalles. Par ailleurs, supposons que le meilleur AUC signalé pour une exécution est Y. Cette stratégie compare la valeur (Y + Y * 0,2) à 0,8 et, si elle est inférieure, annule l’exécution. Si delay_evaluation = 200, la stratégie est appliquée la première fois à l’intervalle 200.

Prenons maintenant l’exemple d’une stratégie Bandit avec slack_amount = 0,2 et evaluation_interval = 100. Si l’exécution 3 est la plus performante avec un AUC (métrique de performance) de 0,8 après 100 intervalles, toutes les exécutions avec un AUC inférieur à 0,6 (0,8 - 0,2) après 100 itérations sont arrêtées. De même, le delay_evaluation peut également être utilisé afin de retarder la première évaluation de la stratégie d’arrêt pour un nombre spécifique de séquences.

Pour plus d’informations sur l’application des stratégies d’arrêt anticipé, consultez Régler les hyperparamètres de votre modèle.

Attributs

delay_evaluation

Retourne le nombre de séquences pour lesquelles la première évaluation est retardée.

Retours

Type Description
int

Retard d’évaluation.

evaluation_interval

Retourne la valeur de l’intervalle d’évaluation.

Retours

Type Description
int

Intervalle d’évaluation.

slack_factor

Retourne le facteur de marge par rapport à l’exécution d’entraînement la plus performante.

Retours

Type Description

Facteur de marge.

POLICY_NAME

POLICY_NAME = 'Bandit'