Planen und Verwalten von Kosten für Azure Machine LearningPlan and manage costs for Azure Machine Learning

In diesem Artikel wird beschrieben, wie Sie die Kosten für Azure Machine Learning planen und verwalten.This article describes how to plan and manage costs for Azure Machine Learning. Bevor Sie Ressourcen hinzufügen, verwenden Sie zunächst den Azure-Preisrechner, um die Kosten zu planen.First, you use the Azure pricing calculator to help plan for costs before you add any resources. Überprüfen Sie dann beim Hinzufügen der Azure-Ressourcen die geschätzten Kosten.Next, as you add the Azure resources, review the estimated costs. Verwenden Sie schließlich kostensparende Tipps beim Trainieren Ihres Modells mit verwalteten Azure Machine Learning Computeclustern.Finally, use cost-saving tips as you train your model with managed Azure Machine Learning compute clusters.

Nachdem Sie mit der Verwendung der Azure Machine Learning-Ressourcen begonnen haben, können Sie die Features für die Kostenverwaltung verwenden, um Budgets festzulegen und die Kosten zu überwachen.After you've started using Azure Machine Learning resources, use the cost management features to set budgets and monitor costs. Überprüfen Sie darüber hinaus die vorhergesagten Kosten, und ermitteln Sie Ausgabentrends, um Bereiche zu identifizieren, in denen ggf. Maßnahmen erforderlich sind.Also review the forecasted costs and identify spending trends to identify areas where you might want to act.

Beachten Sie, dass die Kosten für Azure Machine Learning nur einen Teil der monatlichen Kosten Ihrer Azure-Rechnung darstellen.Understand that the costs for Azure Machine Learning are only a portion of the monthly costs in your Azure bill. Bei Nutzung anderer Azure-Dienste werden Ihnen alle Azure-Dienste und -Ressourcen in Rechnung gestellt, die unter Ihrem Azure-Abonnement genutzt werden, einschließlich der Dienste von Drittanbietern.If you are using other Azure services, you're billed for all the Azure services and resources used in your Azure subscription, including the third-party services. In diesem Artikel wird beschrieben, wie Sie die Kosten für Azure Machine Learning planen und verwalten.This article explains how to plan for and manage costs for Azure Machine Learning. Nachdem Sie sich mit der Verwaltung der Kosten für Azure Machine Learning vertraut gemacht haben, können Sie ähnliche Methoden anwenden, um die Kosten für alle Azure-Dienste zu verwalten, die unter Ihrem Abonnement genutzt werden.After you're familiar with managing costs for Azure Machine Learning, apply similar methods to manage costs for all the Azure services used in your subscription.

Verwenden Sie beim Trainieren Ihrer Machine Learning-Modelle verwaltete Azure Machine Learning-Computecluster, um weitere Tipps zur Kostensenkung zu nutzen:When you train your machine learning models, use managed Azure Machine Learning compute clusters to take advantage of more cost-saving tips:

  • Konfigurieren Sie Ihre Trainingscluster für automatische SkalierungConfigure your training clusters for autoscaling
  • Legen Sie Kontingente für Ihr Abonnement und Ihre Arbeitsbereiche festSet quotas on your subscription and workspaces
  • Legen Sie Terminierungsrichtlinien für Ihre Trainingsläufe festSet termination policies on your training run
  • Verwenden Sie virtuelle Computer (VMs) mit niedriger PrioritätUse low-priority virtual machines (VM)
  • Verwenden Sie eine reservierte Azure-VM-InstanzUse an Azure Reserved VM Instance

VoraussetzungenPrerequisites

Die Kostenanalyse unterstützt verschiedene Arten von Azure-Kontotypen.Cost analysis supports different kinds of Azure account types. Die vollständige Liste der unterstützten Kontotypen finden Sie unter Grundlegendes zu Cost Management-Daten.To view the full list of supported account types, see Understand Cost Management data. Um Kostendaten anzeigen zu können, müssen Sie mindestens über Lesezugriff auf Ihr Azure-Konto verfügen.To view cost data, you need at least read access for your Azure account.

Informationen zum Zuweisen des Zugriffs auf Azure Cost Management-Daten finden Sie unter Zuweisen des Zugriffs auf Cost Management-Daten.For information about assigning access to Azure Cost Management data, see Assign access to data.

Schätzen der Kosten vor der Verwendung von Azure Machine LearningEstimate costs before using Azure Machine Learning

Verwenden Sie den Azure-Preisrechner zum Schätzen der Kosten, bevor Sie die Ressourcen in einem Azure Machine Learning-Konto erstellen.Use the Azure pricing calculator to estimate costs before you create the resources in an Azure Machine Learning account. Wählen Sie auf der linken Seite KI und Machine Learning und dann Azure Machine Learning aus, um anzufangen.On the left, select AI + Machine Learning, then select Azure Machine Learning to begin.

Der folgende Screenshot zeigt die Kostenschätzung unter Verwendung des Preisrechners:The following screenshot shows the cost estimation by using the calculator:

Kostenschätzung im Azure-Rechner

Wenn Sie Ihrem Arbeitsbereich neue Ressourcen hinzufügen, kehren Sie zu diesem Preisrechner zurück, und fügen Sie hier die gleiche Ressource hinzu, um Ihre Kostenschätzung zu aktualisieren.As you add new resources to your workspace, return to this calculator and add the same resource here to update your cost estimates.

Weitere Informationen finden Sie unter Azure Machine Learning – Preise.For more information, see Azure Machine Learning pricing.

Grundlegendes zum vollständigen Abrechnungsmodell für Azure Machine LearningUnderstand the full billing model for Azure Machine Learning

Azure Machine Learning wird in einer Azure-Infrastruktur ausgeführt, in der beim Bereitstellen der neuen Ressource Kosten für Azure Machine Learning anfallen.Azure Machine Learning runs on Azure infrastructure that accrues costs along with Azure Machine Learning when you deploy the new resource. Es ist wichtig zu verstehen, dass die zusätzliche Infrastruktur Kosten verursachen kann.It's important to understand that additional infrastructure might accrue cost. Sie müssen diese Kosten verwalten, wenn Sie Änderungen an bereitgestellten Ressourcen vornehmen.You need to manage that cost when you make changes to deployed resources.

Häufig anfallende Kosten für Azure Machine LearningCosts that typically accrue with Azure Machine Learning

Wenn Sie Ressourcen für einen Azure Machine Learning-Arbeitsbereich erstellen, werden auch Ressourcen für andere Azure-Dienste erstellt.When you create resources for an Azure Machine Learning workspace, resources for other Azure services are also created. Sie lauten wie folgt:They are:

Nach dem Löschen von Ressourcen möglicherweise anfallende KostenCosts might accrue after resource deletion

Wenn Sie im Azure-Portal oder mit der Azure CLI einen Azure Machine Learning-Arbeitsbereich löschen, sind die folgenden Ressourcen weiterhin vorhanden.When you delete an Azure Machine Learning workspace in the Azure portal or with Azure CLI, the following resources continue to exist. Hierfür fallen weiter Kosten an, bis Sie sie löschen.They continue to accrue costs until you delete them.

  • Azure Container RegistryAzure Container Registry
  • Azure-BlockblobspeicherAzure Block Blob Storage
  • Key VaultKey Vault
  • Application InsightsApplication Insights

Verwenden Sie das SDK, um den Arbeitsbereich zusammen mit den abhängigen Ressourcen zu löschen:To delete the workspace along with these dependent resources, use the SDK:

ws.delete(delete_dependent_resources=True)

Wenn Sie eine Azure Kubernetes Service-Instanz (AKS) in Ihrem Arbeitsbereich erstellen oder Computeressourcen an Ihren Arbeitsbereich anfügen, müssen Sie das Löschen hierfür separat im Azure-Portal durchführen.If you create Azure Kubernetes Service (AKS) in your workspace, or if you attach any compute resources to your workspace you must delete them separately in Azure portal.

Verwenden von Guthaben mit Azure Machine LearningUsing Monetary Credit with Azure Machine Learning

Sie können für Azure Machine Learning-Gebühren mit Ihrem EA-Mindestverbrauchsguthaben bezahlen.You can pay for Azure Machine Learning charges with your EA monetary commitment credit. Allerdings können Sie mit dem EA-Mindestverbrauchsguthaben keine Gebühren für Produkte und Dienste von Drittanbietern, einschließlich derjenigen aus Azure Marketplace, bezahlen.However, you can't use EA monetary commitment credit to pay for charges for third party products and services including those from the Azure Marketplace.

Erstellen von BudgetsCreate budgets

Sie können Budgets erstellen, um Kosten zu verwalten, und Warnungen erstellen, die die Beteiligten automatisch über Ausgabenanomalien und Überschreitungsrisiken informieren.You can create budgets to manage costs and create alerts that automatically notify stakeholders of spending anomalies and overspending risks. Warnungen basieren auf Ausgaben im Vergleich zum Budget und zu Kostenschwellenwerten.Alerts are based on spending compared to budget and cost thresholds. Budgets und Warnungen werden für Azure-Abonnements und -Ressourcengruppen erstellt und sind daher im Rahmen einer umfassenden Strategie zur Kostenüberwachung hilfreich.Budgets and alerts are created for Azure subscriptions and resource groups, so they're useful as part of an overall cost monitoring strategy.

Sie können ein Budget mit Filtern für bestimmte Ressourcen oder Dienste in Azure erstellen, wenn Sie eine höhere Granularität in Ihrer Überwachung wünschen.Budgets can be created with filters for specific resources or services in Azure if you want more granularity present in your monitoring. Mit Filtern stellen Sie sicher, dass Sie nicht versehentlich neue Ressourcen erstellen, die Ihnen zusätzliche Kosten bereiten.Filters help ensure that you don't accidentally create new resources that cost you additional money. Weitere Informationen zu den Filteroptionen beim Erstellen eines Budgets finden Sie unter Gruppen- und Filteroptionen.For more about the filter options when you when create a budget, see Group and filter options.

Exportieren von KostendatenExport cost data

Sie können Ihre Kostendaten auch in ein Speicherkonto exportieren.You can also export your cost data to a storage account. Dies ist hilfreich, wenn Sie oder andere Personen zusätzliche Datenanalysen für Kosten ausführen müssen.This is helpful when you need or others to do additional data analysis for costs. Beispielsweise können Finanzteams die Daten mithilfe von Excel oder Power BI analysieren.For example, a finance teams can analyze the data using Excel or Power BI. Sie können Ihre Kosten täglich, wöchentlich oder monatlich exportieren und einen benutzerdefinierten Datumsbereich festlegen.You can export your costs on a daily, weekly, or monthly schedule and set a custom date range. Exportieren von Kostendaten ist die empfohlene Abrufmethode für Kostendatasets.Exporting cost data is the recommended way to retrieve cost datasets.

Weitere Optionen zum Verwalten und Reduzieren der Kosten für Azure Machine LearningOther ways to manage and reduce costs for Azure Machine Learning

Verwenden Sie die hier angegebenen Tipps, um die Kosten für Ihre Machine Learning-Computeressourcen zu reduzieren.Use these tips for containing costs on your machine learning compute resources.

Verwenden des Azure Machine Learning Compute-Clusters (AmlCompute)Use Azure Machine Learning compute cluster (AmlCompute)

Bei sich ständig verändernden Daten benötigen Sie ein schnelles und optimiertes Training und Nachtraining von Modellen, um die Genauigkeit der Modelle aufrecht zu erhalten.With constantly changing data, you need fast and streamlined model training and retraining to maintain accurate models. Fortlaufendes Training hat aber seinen Preis, insbesondere bei Deep Learning-Modellen auf GPUs.However, continuous training comes at a cost, especially for deep learning models on GPUs.

Azure Machine Learning-Benutzer können den verwalteten Azure Machine Learning-Computecluster verwenden, der auch als „AmlCompute“ bezeichnet wird.Azure Machine Learning users can use the managed Azure Machine Learning compute cluster, also called AmlCompute. AmlCompute unterstützt eine Vielzahl von GPU- und CPU-Optionen.AmlCompute supports a variety of GPU and CPU options. Der AmlCompute-Cluster wird von Azure Machine Learning intern im Auftrag Ihres Abonnements gehostet.The AmlCompute is internally hosted on behalf of your subscription by Azure Machine Learning. Er bietet die gewohnte Sicherheit, Compliance und Governance auf Unternehmensniveau im Umfang einer Azure-IaaS-Cloud.It provides the same enterprise grade security, compliance and governance at Azure IaaS cloud scale.

Da sich diese Computepools innerhalb der Azure IaaS-Infrastruktur befinden, können Sie Ihr Training mit den gleichen Sicherheits- und Complianceanforderungen bereitstellen, skalieren und verwalten wie den Rest Ihrer Infrastruktur.Because these compute pools are inside of Azure's IaaS infrastructure, you can deploy, scale, and manage your training with the same security and compliance requirements as the rest of your infrastructure. Diese Bereitstellungen erfolgen in Ihrem Abonnement und richten sich nach Ihren Governanceregeln.These deployments occur in your subscription and obey your governance rules. Weitere Informationen zu Azure Machine Learning Compute.Learn more about Azure Machine Learning compute.

Konfigurieren von Trainingsclustern für automatische SkalierungConfigure training clusters for autoscaling

Cluster mit automatischer Skalierung auf der Grundlage Ihrer Workloadanforderungen helfen Ihnen, Ihre Kosten zu senken, indem Sie nur nutzen, was Sie benötigen.Autoscaling clusters based on the requirements of your workload helps reduce your costs so you only use what you need.

AmlCompute-Cluster sind auf die workloadabhängige Skalierung ausgelegt.AmlCompute clusters are designed to scale dynamically based on your workload. Der Cluster kann auf die maximale Anzahl der konfigurierten Knoten hochskaliert werden.The cluster can be scaled up to the maximum number of nodes you configure. Nach dem Abschluss der einzelnen Durchläufe gibt der Cluster Knoten frei und skaliert auf die von Ihnen konfigurierte minimale Knotenanzahl herunter.As each run completes, the cluster will release nodes and scale to your configured minimum node count.

Wichtig

Zum Vermeiden von Gebühren, wenn keine Aufträge ausgeführt werden, legen Sie die minimale Anzahl von Knoten auf 0 fest.To avoid charges when no jobs are running, set the minimum nodes to 0. Durch diese Einstellung kann Azure Machine Learning die Zuordnung der Knoten aufheben, wenn diese nicht verwendet werden.This setting allows Azure Machine Learning to de-allocate the nodes when they aren't in use. Bei jedem Wert größer 0 wird die entsprechende Anzahl von Knoten weiter ausgeführt, auch wenn sie nicht verwendet werden.Any value larger than 0 will keep that number of nodes running, even if they are not in use.

Sie können auch festlegen, wie lange sich der Knoten im Leerlauf befindet, bevor er herunterskaliert wird.You can also configure the amount of time the node is idle before scale down. Standardmäßig ist die Leerlaufzeit vor dem Herunterskalieren auf 120 Sekunden festgelegt.By default, idle time before scale down is set to 120 seconds.

  • Wenn Sie weniger iterative Experimente ausführen, setzen Sie diese Zeit herab, um Kosten zu sparen.If you perform less iterative experimentation, reduce this time to save costs.
  • Wenn Sie hochgradig iterative Dev/Test-Experimente ausführen, müssen Sie die Zeit möglicherweise erhöhen, damit Sie nicht für ständiges Hoch- und Herunterskalieren nach jeder Änderung Ihres Trainingsskripts oder Ihrer Umgebung zahlen müssen.If you perform highly iterative dev/test experimentation, you might need to increase the time so you aren't paying for constant scaling up and down after each change to your training script or environment.

AmlCompute-Cluster können im Azure-Portal für Ihre wechselnden Workloadanforderungen konfiguriert werden, mithilfe der AmlCompute SDK-Klasse, des AmlCompute-CLIs und mit den REST-APIs.AmlCompute clusters can be configured for your changing workload requirements in Azure portal, using the AmlCompute SDK class, AmlCompute CLI, with the REST APIs.

az ml computetarget create amlcompute --name testcluster --vm-size Standard_NC6 --min-nodes 0 --max-nodes 5 --idle-seconds-before-scaledown 300

Festlegen von Kontingenten für RessourcenSet quotas on resources

AmlCompute bietet eine Konfiguration für Kontingente (Limits).AmlCompute comes with a quota (or limit) configuration. Dieses Kontingent ist für die VM-Familie spezifisch (z. B. Dv2-Serie, NCv3-Serie) und variiert für die einzelnen Abonnements nach Region.This quota is by VM family (for example, Dv2 series, NCv3 series) and varies by region for each subscription. Abonnements beginnen mit kleinen Standardwerten für den Einstieg, aber mit dieser Einstellung können Sie die Menge der Amlcompute-Ressourcen bestimmen, die für das Hochfahren in Ihrem Abonnement verfügbar sind.Subscriptions start with small defaults to get you going, but use this setting to control the amount of Amlcompute resources available to be spun up in your subscription.

Konfigurieren Sie außerdem für jeden Arbeitsbereich innerhalb eines Abonnements das Kontingent auf Arbeitsbereichsebene pro VM-Familie.Also configure workspace level quota by VM family, for each workspace within a subscription. Diese ermöglicht Ihnen eine präzisere Kontrolle der Kosten, die für die einzelnen Arbeitsbereiche anfallen können, und eine Einschränkung bestimmter VM-Familien.Doing so allows you to have more granular control on the costs that each workspace might potentially incur and restrict certain VM families.

Beginnen Sie das Festlegen von Kontingenten auf Arbeitsbereichsebene im Azure-Portal.To set quotas at the workspace level, start in the Azure portal. Wählen Sie einen beliebigen Arbeitsbereich in Ihrem Abonnement aus, und wählen Sie im linken Bereich Nutzung + Kontingente aus.Select any workspace in your subscription, and select Usages + quotas in the left pane. Wählen Sie anschließend die Registerkarte Kontingente konfigurieren aus, um die Kontingente anzuzeigen.Then select the Configure quotas tab to view the quotas. Sie benötigen Berechtigungen auf Abonnementebene, um dieses Kontingent festzulegen, da diese Einstellung mehrere Arbeitsbereiche betrifft.You need privileges at the subscription scope to set the quota, since it's a setting that affects multiple workspaces.

Festlegen von Richtlinien für die automatische Beendigung von DurchläufenSet run autotermination policies

In einigen Fällen sollten Sie Ihre Trainingsdurchläufe so konfigurieren, dass ihre Dauer eingeschränkt wird oder sie vorzeitig beendet werden.In some cases, you should configure your training runs to limit their duration or terminate them early. Das gilt beispielsweise, wenn Sie die integrierte Hyperparameteroptimierung von Azure Machine Learning oder automatisiertes Machine Learning nutzen.For example, when you are using Azure Machine Learning's built-in hyperparameter tuning or automated machine learning.

Dies sind einige der Optionen, die sich Ihnen bieten:Here are a few options that you have:

  • Definieren Sie einen Parameter mit dem Namen max_run_duration_seconds in ihrer RunConfiguration, um die maximale Dauer zu steuern, auf die ein Lauf auf der von Ihnen gewählten Compute (lokale oder Remote-Cloudcompute) ausgedehnt werden kann.Define a parameter called max_run_duration_seconds in your RunConfiguration to control the maximum duration a run can extend to on the compute you choose (either local or remote cloud compute).
  • Definieren Sie für die Hyperparameteroptimierung eine Richtlinie für vorzeitige Beendigung, eine Medianstopprichtlinie oder eine Kürzungsauswahlrichtlinie.For hyperparameter tuning, define an early termination policy from a Bandit policy, a Median stopping policy, or a Truncation selection policy. Verwenden Sie Parameter wie max_total_runs oder max_duration_minutes, um Hyperparametersweeps präziser zu steuern.To further control hyperparameter sweeps, use parameters such as max_total_runs or max_duration_minutes.
  • Legen Sie für automatisiertes maschinelles Lernen ähnliche Beendigungsrichtlinien mithilfe des Flags enable_early_stopping fest.For automated machine learning, set similar termination policies using the enable_early_stopping flag. Verwenden Sie darüber hinaus Eigenschaften wie iteration_timeout_minutes und experiment_timeout_minutes, um die maximale Dauer eines Laufs für das gesamte Experiment zu steuern.Also use properties such as iteration_timeout_minutes and experiment_timeout_minutes to control the maximum duration of a run or for the entire experiment.

Verwenden von virtuellen Computern mit niedriger PrioritätUse low-priority VMs

Azure erlaubt es Ihnen, nicht ausgelastete Überschusskapazität in Form von VMs mit niedriger Priorität für VM-Skalierungsgruppen, Batch und den Machine Learning-Dienst zu verwenden.Azure allows you to use excess unutilized capacity as Low-Priority VMs across virtual machine scale sets, Batch, and the Machine Learning service. Für diese Zuordnungen können Bevorrechtigungen festgelegt werden (pre-emptible), sie bieten jedoch den Vorteil eines niedrigeren Preises im Vergleich mit dedizierten VMs.These allocations are pre-emptible but come at a reduced price compared to dedicated VMs. Im Allgemeinen wird empfohlen, VMS mit niedriger Priorität für Batchworkloads zu verwenden.In general, we recommend using Low-Priority VMs for Batch workloads. Sie sollten diese ebenfalls in Fällen verwenden, in denen eine Wiederherstellung nach Unterbrechungen erfolgen kann – entweder durch erneute Einleitung (bei Batchrückschlüssen) oder mithilfe eines Neustarts (bei Training mit Prüfpunktausführung in Deep-Learning-Szenarios).You should also use them where interruptions are recoverable either through resubmits (for Batch Inferencing) or through restarts (for deep learning training with checkpointing).

VMs mit niedriger Priorität besitzen ein einzelnes Kontingent, das sich nach der VM-Familie richtet.Low-Priority VMs have a single quota separate from the dedicated quota value, which is by VM family. Weitere Informationen über AmlCompute-Kontingente.Learn more about AmlCompute quotas.

VMs mit geringer Priorität funktionieren nicht als Computeinstanzen, da sie in der Lage sein müssen, interaktive Notebookumgebungen zu unterstützen.Low-Priority VMs don't work for compute instances, since they need to support interactive notebook experiences.

Verwenden von reservierten InstanzenUse reserved instances

Reservierte Azure VM-Instanzen sind eine weitere Möglichkeit zur Kosteneinsparung bei Computeressourcen.Another way to save money on compute resources is Azure Reserved VM Instance. Bei diesem Angebot stehen Verträge mit ein- oder dreijähriger Laufzeit zur Wahl.With this offering, you commit to one-year or three-year terms. Diese Rabatte erreichen bis zu 72 % gegenüber den Preisen für nutzungsbasierte Bezahlung und werden direkt auf Ihre monatliche Azure-Rechnung angewendet.These discounts range up to 72% of the pay-as-you-go prices and are applied directly to your monthly Azure bill.

Azure Machine Learning Compute unterstützt reservierte Instanzen nativ.Azure Machine Learning Compute supports reserved instances inherently. Wenn Sie eine reservierte Instanz für ein Jahr oder drei Jahre kaufen, wird der Rabatt automatisch auf ihre verwalteten Azure Machine Learning-Computeressourcen angewendet.If you purchase a one-year or three-year reserved instance, we will automatically apply discount against your Azure Machine Learning managed compute.

Nächste SchritteNext steps