Gérer et optimiser les coûts de Azure Machine Learning

Cet article explique comment gérer et optimiser les coûts lorsque vous entraînez et déployez des modèles machine learning sur Azure Machine Learning.

Utilisez les conseils suivants pour vous aider à gérer et à optimiser les coûts de vos ressources de calcul.

  • Utiliser Azure Machine Learning cluster de calcul
  • Configurer vos clusters d’entraînement pour la mise à l’échelle automatique
  • Configurer vos points de terminaison en ligne managés pour la mise à l’échelle automatique
  • Définir des quotas sur votre abonnement et vos espaces de travail
  • Définir des politiques de résiliation sur votre travail d’entraînement
  • Utiliser des virtual machines de faible priorité (machine virtuelle)
  • Planifier l’arrêt et le démarrage automatiques des instances de calcul
  • Utiliser une instance de machine virtuelle réservée Azure
  • Paralléliser l’entraînement
  • Définir des stratégies de conservation et de suppression des données
  • Déployer des ressources dans la même région
  • Supprimer les déploiements ayant échoué

Pour plus d’informations sur la planification et la surveillance des coûts, consultez Plan pour gérer les coûts de Azure Machine Learning.

Important

Les éléments marqués (aperçu) dans cet article sont actuellement en aperçu public. Cette préversion est fournie sans contrat de niveau de service. Nous vous déconseillons d’utiliser les versions en préversion pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez les Conditions d’utilisation Complémentaires de Microsoft Azure Previews.

Utiliser le cluster de calcul Azure Machine Learning

Avec des données constamment modifiées, vous avez besoin d’un entraînement de modèle rapide et rationalisé et d’un réentraînement pour maintenir des modèles précis. Toutefois, l’entraînement continu est coûteux, en particulier pour les modèles de deep learning sur les GPU.

Azure Machine Learning utilisateurs peuvent utiliser le cluster de calcul Azure Machine Learning managé, également appelé AmlCompute. AmlCompute prend en charge diverses options de GPU et de CPU. AmlCompute est hébergé en interne pour le compte de votre abonnement par Azure Machine Learning. Il fournit la même sécurité, conformité et gouvernance de niveau entreprise à l’échelle du cloud IaaS Azure.

Étant donné que ces pools de calcul se trouvent à l'intérieur de l'infrastructure IaaS de Azure, vous pouvez déployer, mettre à l'échelle et gérer votre formation avec les mêmes exigences de sécurité et de conformité que le reste de votre infrastructure. Ces déploiements se produisent dans votre abonnement et obéissent à vos règles de gouvernance. Pour plus d’informations, consultez Plan pour gérer les coûts de Azure Machine Learning.

Configurer des clusters d'apprentissage pour la mise à l'échelle automatique

La mise à l’échelle automatique des clusters selon les besoins de votre charge de travail vous permet de réduire les coûts et d’utiliser uniquement ce dont vous avez besoin.

Les clusters AmlCompute sont conçus pour effectuer dynamiquement la mise à l’échelle en fonction de votre charge de travail. Le cluster peut être mis à l’échelle jusqu’au nombre maximal de nœuds que vous configurez. À la fin de chaque travail, le cluster publie des nœuds et effectue une mise à l’échelle jusqu’au nombre de nœuds minimal que vous avez configuré.

Important

Pour éviter des frais quand aucun travail n'est en cours, définissez le nombre minimum de nœuds sur 0. Ce paramètre permet Azure Machine Learning de déalloue les nœuds lorsqu'ils ne sont pas utilisés. Toute valeur supérieure à 0 conserve ce nombre de nœuds en cours d’exécution, même s’ils ne sont pas utilisés.

Vous pouvez également configurer la durée d’inactivité du nœud avant l’exécution du scale-down. Par défaut, le délai d’inactivité avant le scale-down est défini sur 120 secondes.

  • Si vous effectuez une expérimentation moins itérative, réduisez ce délai pour réduire les coûts.
  • Si vous effectuez une expérimentation dev/test hautement itérative, vous devrez peut-être augmenter la durée de façon à ce que les opérations constantes de scale-up et de scale-down après chaque modification apportée à votre environnement ou script d’entraînement ne vous soient pas facturées.

Vous pouvez configurer des clusters AmlCompute en fonction de l’évolution de vos besoins en matière de charge à l’aide des éléments suivants :

Configurer des points de terminaison en ligne managés pour la mise à l’échelle automatique

La mise à l’échelle automatique exécute automatiquement la quantité appropriée de ressources pour gérer la charge sur votre application. Les points de terminaison en ligne managés prennent en charge la mise à l’échelle automatique via l’intégration à la fonctionnalité de mise à l’échelle automatique Azure Monitor. Pour plus d’informations, consultez Points de terminaison et déploiements en ligne pour l’inférence en temps réel.

La mise à l’échelle automatique d’Azure Monitor prend en charge un ensemble complet de règles :

  • Mise à l’échelle basée sur les métriques (par exemple, utilisation du processeur > 70 %)
  • Mise à l’échelle basée sur la planification (par exemple, règles de mise à l’échelle pour les heures de pointe)
  • Une combinaison des deux

Pour plus d’informations, consultez Mise à l’échelle automatique des points de terminaison en ligne.

Définir des quotas sur les ressources

AmlCompute est fourni avec une configuration de quota (ou limite). Ce quota est défini par famille de machines virtuelles (par exemple, série Dv2 ou NCv3). Le quota varie selon la région de chaque abonnement. Les abonnements commencent par de petites valeurs par défaut. Utilisez ce paramètre pour contrôler la quantité de ressources AmlCompute pouvant être mises en service dans votre abonnement. Pour plus d’informations, consultez Azure Machine Learning Compute.

Vous pouvez également configurer un quota au niveau de l’espace de travail par famille de machines virtuelles pour chaque espace de travail au sein d’un abonnement. Cette approche vous permet de contrôler plus précisément les coûts que chaque espace de travail peut générer et de restreindre certaines familles de machines virtuelles. Pour plus d’informations, référez-vous à Quotas au niveau de l’espace de travail.

Pour définir des quotas au niveau de l’espace de travail :

  1. Ouvrez le Azure portal puis sélectionnez n’importe quel espace de travail dans votre abonnement.

  2. Sélectionnez Support + Résolution des problèmes>Utilisation + quotas dans le menu de l’espace de travail.

  3. Sélectionnez pour afficher les quotas dans Azure Machine Learning studio.

  4. À partir de cette page, vous pouvez trouver votre abonnement et votre région afin de définir des quotas.

    Ce paramètre affectant plusieurs espaces de travail, vous avez besoin de privilèges dans l’étendue de l’abonnement pour définir le quota.

Définir des stratégies d’arrêt de travail

Dans certains cas, vous devez configurer vos exécutions d’apprentissage pour limiter leur durée ou y mettre fin prématurément. Par exemple, lorsque vous utilisez le réglage des hyperparamètres intégrés de Azure Machine Learning ou les machine learning automatisées.

Voici quelques options dont vous disposez :

  • Définissez la propriété timeout dans la configuration de votre travail de commande limits pour contrôler la durée maximale pour laquelle une exécution peut durer sur le calcul de votre choix, qu'il soit local ou sur le cloud distant.
  • Pour le réglage d’hyperparamètre, définissez une stratégie de résiliation anticipée à partir d’une stratégie Bandit, d’une stratégie d’arrêt médiane ou d’une stratégie de sélection de troncation. Pour contrôler davantage les balayages d’hyperparamètres, utilisez des paramètres tels que max_total_trials ou timeout. Pour plus d’informations, consultez Spécifier une stratégie d’arrêt anticipé.
  • Pour les machine learning automatisés, définissez des stratégies d’arrêt similaires à l’aide de l’indicateur enable_early_termination. Vous pouvez également utiliser des propriétés telles que trial_timeout_minutes et timeout_minutes pour contrôler la durée maximale d’une version d’évaluation ou pour toute l’expérience. Pour plus d’informations, consultez Critères de sortie.

Utiliser des virtual machines de faible priorité

Important

Les machines virtuelles de faible priorité ont été retirées pour Azure Machine Learning le 31 mars 2026. Les clusters de calcul qui spécifient tier: low_priority passent toujours la validation et exécutent toujours des travaux, mais Azure Batch alloue désormais leurs nœuds en tant que machines virtuelles Spot via une migration initiée par le système. Les tarifs Spot et le comportement d’éviction Spot s’appliquent à chaque cluster de faible priorité, que vous l’ayez créé avant ou après la date de mise hors service.

Azure vous permet d’utiliser la capacité excédentaire inutilisée comme machines virtuelles basse priorité dans les groupes de machines virtuelles identiques, Batch et le service Machine Learning. Ces allocations sont préemptibles. En général, les machines virtuelles de faible priorité sont recommandées pour les charges de travail Batch. Vous devez également les utiliser lorsque des interruptions sont récupérables par le biais de renvois pour l’inférence par lots ou de redémarrages pour un entraînement Deep Learning avec points de contrôle.

Étant donné que ces nœuds sont désormais alloués en tant que machines virtuelles Spot, vous êtes facturé le taux spot actuel pour la taille de machine virtuelle dans la région où le cluster s’exécute. Ce taux est variable plutôt qu’une remise fixe sur le prix dédié. Il change avec la région et la demande, et il peut approcher le prix de paiement à l’utilisation lorsqu’une région a peu de capacité excédentaire. Vous ne payez jamais plus que le tarif du paiement à l’utilisation pour la même taille de machine virtuelle. Azure Batch ne prend pas en charge la définition d'un prix maximal pour les machines virtuelles Spot. Vous ne pouvez donc pas limiter le taux de paiement d'un cluster de calcul ; les nœuds ne sont supprimés que pour des raisons de capacité, jamais en raison du prix. Vérifiez le taux actuel de la taille et de la région de votre machine virtuelle dans la calculatrice de prix Azure avant de choisir une région. Pour plus d’informations, consultez Azure Spot Machines Virtuelles.

Les machines virtuelles de faible priorité ont un quota unique distinct de la valeur de quota dédié, qui est par famille de machines virtuelles. Pour plus d’informations sur les quotas AmlCompute, consultez Gérer et augmenter les quotas.

Les machines virtuelles de faible priorité ne fonctionnent pas pour les instances de calcul, car elles doivent prendre en charge les expériences interactives des notebooks.

Planifier les instances de calcul

Quand vous créez une instance de calcul, la machine virtuelle reste allumée pour être disponible pour votre travail.

  • Activez l’arrêt en cas d’inactivité pour économiser sur les coûts lorsque la machine virtuelle est inactive pendant un laps de temps spécifié. Consultez Configurer l’arrêt inactif.
  • Configurez une planification pour démarrer et arrêter automatiquement l’instance de calcul (préversion) lorsqu’elle n’est pas utilisée afin de réduire les coûts. Consultez Planifier le démarrage et l’arrêt automatiques.

Utiliser des instances réservées

Une autre façon d’économiser de l’argent sur les ressources de calcul est Azure instance de machine virtuelle réservée. Avec cette offre, vous vous engagez à des termes de 1 an ou 3 ans. Ces remises s’étendent jusqu’à 72% des prix Standard et sont appliquées directement à votre facture de Azure mensuelle.

Azure Machine Learning Compute prend en charge les instances réservées par nature. Si vous achetez une instance réservée d’un an ou de trois ans, la remise est automatiquement appliquée à votre calcul géré Azure Machine Learning.

Paralléliser l’entraînement

L’une des méthodes clés pour optimiser les coûts et les performances consiste à paralléliser la charge de travail avec l’aide d’un composant parallèle dans Azure Machine Learning. Un composant parallèle vous permet d’utiliser un grand nombre de plus petits nœuds pour exécuter la tâche en parallèle, ce qui vous permet d’obtenir une extensibilité horizontale. La parallélisation entraîne une surcharge. En fonction de la charge de travail et du degré de parallélisme pouvant être atteint, cette approche peut être une option. Pour plus d’informations, consultez la classe ParallelComponent.

Définir des stratégies de conservation et de suppression des données

Chaque fois qu’un pipeline s’exécute, des jeux de données intermédiaires sont générés à chaque étape. Au fil du temps, ces jeux de données intermédiaires occupent de l’espace dans votre compte storage. Réfléchissez à la configuration de stratégies pour gérer vos données tout au long de leur cycle de vie afin d’archiver et de supprimer vos jeux de données. Pour plus d’informations, consultez Optimiser les coûts en gérant automatiquement le cycle de vie des données.

Déployer des ressources dans la même région

Les calculs situés dans des régions différentes peuvent présenter une latence réseau et une augmentation des coûts de transfert de données. Les coûts réseau d'Azure sont encourus par la bande passante sortante depuis les centres de données Azure. Pour aider à réduire les coûts liés au réseau, déployez toutes vos ressources dans la région. L’approvisionnement de votre espace de travail Azure Machine Learning et des ressources dépendantes dans la même région que vos données peut aider à réduire les coûts et à améliorer les performances.

Pour les scénarios de cloud hybride comme ceux qui utilisent Azure ExpressRoute, il peut parfois être plus rentable de déplacer toutes les ressources vers Azure pour optimiser les coûts et la latence du réseau.

Supprimer les déploiements ayant échoué

Les points de terminaison en ligne managés utilisent des machines virtuelles pour les déploiements. Si vous avez envoyé une requête de création d’un déploiement en ligne et qu’elle a échoué, la requête a peut-être passé la phase de création du calcul. Dans ce cas, le déploiement ayant échoué entraînerait des frais. Une fois le débogage ou l’examen de l’échec terminé, supprimez les déploiements ayant échoué pour économiser les coûts associés.