Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel erfahren Sie, wie Sie Kosten verwalten und optimieren, wenn Sie Machine Learning-Modelle trainieren und bereitstellen in Azure Machine Learning.
Verwenden Sie die folgenden Tipps, um Ihre Kosten für Computeressourcen zu verwalten und zu optimieren.
- Verwenden Sie Azure Machine Learning Compute-Cluster
- Konfigurieren Sie Ihre Trainingscluster für automatische Skalierung
- Konfigurieren Sie Ihre verwalteten Onlineendpunkte für die automatische Skalierung
- Legen Sie Kontingente für Ihr Abonnement und Ihre Arbeitsbereiche fest
- Legen Sie Terminierungsrichtlinien für Ihren Trainingsauftrag fest
- Verwenden von virtual machines (VM) mit niedriger Priorität
- Planen Sie das automatische Starten und Herunterfahren von Recheninstanzen.
- Verwenden einer Azure reservierten VM-Instanz
- Parallelisieren Sie das Training
- Legen Sie Richtlinien für die Aufbewahrung und das Löschen von Daten fest
- Stellen Sie Ressourcen in derselben Region bereit
- Löschen fehlgeschlagener Bereitstellungen
Informationen zur Planung und Überwachung von Kosten finden Sie unter Plan zum Verwalten von Kosten für Azure Machine Learning.
Wichtig
Die in diesem Artikel markierten Elemente (Vorschau) sind aktuell als öffentliche Vorschau verfügbar. Die Preview-Version wird ohne Service Level Vereinbarung bereitgestellt. Wir raten davon ab, Vorschauversionen für Produktionsworkloads zu verwenden. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Supplementale Nutzungsbedingungen für Microsoft Azure Previews.
Verwenden des Azure Machine Learning Computeclusters
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. Fortlaufendes Training hat aber seinen Preis, insbesondere bei Deep Learning-Modellen auf GPUs.
Azure Machine Learning Benutzer können den verwalteten Azure Machine Learning Computecluster verwenden, auch als AmlCompute bezeichnet. AmlCompute unterstützt verschiedene GPU- und CPU-Optionen. Die AmlCompute wird intern im Namen Ihres Abonnements von Azure Machine Learning gehostet. Sie bietet die gleiche Sicherheitsstufe, Compliance und Governance auf Unternehmensebene im Maßstab der Azure-IaaS-Cloud.
Da sich diese Computepools innerhalb der IaaS-Infrastruktur von Azure befinden, können Sie Ihre Schulung mit den gleichen Sicherheits- und Complianceanforderungen wie die restliche Infrastruktur bereitstellen, skalieren und verwalten. Diese Bereitstellungen erfolgen in Ihrem Abonnement und richten sich nach Ihren Governance-Richtlinien. Weitere Informationen finden Sie unter Plan zum Verwalten von Kosten für Azure Machine Learning.
Konfigurieren von Trainingsclustern für automatische Skalierung
Cluster mit automatischer Skalierung auf der Grundlage Ihrer Workloadanforderungen helfen Ihnen, Ihre Kosten zu senken, indem Sie nur nutzen, was Sie benötigen.
AmlCompute-Cluster sind so konzipiert, dass sie sich dynamisch je nach Arbeitslast skalieren. Der Cluster kann auf die maximale Anzahl der konfigurierten Knoten hochskaliert werden. Nach dem Abschluss der einzelnen Aufträge gibt der Cluster Knoten frei und wird auf die von Ihnen konfigurierte minimale Knotenanzahl skaliert.
Wichtig
Zum Vermeiden von Gebühren, wenn keine Aufträge ausgeführt werden, legen Sie die minimale Anzahl von Knoten auf 0 fest. Diese Einstellung ermöglicht Azure Machine Learning, die Knoten freizugeben, wenn sie nicht verwendet werden. Bei jedem Wert größer als 0 wird die Anzahl der Knoten beibehalten, selbst wenn sie nicht verwendet werden.
Sie können auch festlegen, wie lange sich der Knoten im Leerlauf befindet, bevor er herunterskaliert wird. Standardmäßig ist die Leerlaufzeit vor dem Herunterskalieren auf 120 Sekunden festgelegt.
- Wenn Sie weniger iterative Experimente ausführen, setzen Sie diese Zeit herab, um Kosten zu sparen.
- Wenn Sie hochgradig iterative Dev/Test-Experimente ausführen, müssen Sie die Zeit möglicherweise verlängern, damit Sie nicht für ständiges Hoch- und Herunterskalieren nach jeder Änderung Ihres Trainingsskripts oder Ihrer Umgebung zahlen müssen.
Sie können AmlCompute-Cluster für Ihre sich ändernden Workloadanforderungen konfigurieren, indem Sie Folgendes verwenden:
- Das Azure-Portal
- Die AmlCompute SDK-Klasse
- AmlCompute CLI
- REST-APIs.
Konfigurieren von verwalteten Onlineendpunkten für die automatische Skalierung
Die Autoskalierung stellt automatisch die richtige Menge an Ressourcen bereit, um die Last Ihrer Anwendung zu bewältigen. Verwaltete Online-Endpunkte unterstützen die automatische Skalierung durch Integration der Azure Monitor-Autoskalierungsfunktion. Weitere Informationen finden Sie unter Onlineendpunkte und Bereitstellungen für Rückschlüsse in Echtzeit.
Azure Monitor bietet eine Vielzahl von Regeln zur automatischen Skalierung:
- Metrikbasierte Skalierung, z. B. CPU-Auslastung >70 %
- Zeitplanbasierte Skalierung, z. B. Skalierungsregeln für Hauptgeschäftszeiten
- Kombination der beiden
Weitere Informationen finden Sie unter Autoskalierung von Onlineendpunkten.
Festlegen von Kontingenten für Ressourcen
AmlCompute bietet eine Konfiguration für Kontingente (Limits). Dieses Kontingent gilt je VM-Familie, z. B. Dv2-Serie oder NCv3-Serie. Das Kontingent variiert je nach Region für jedes Abonnement. Abonnements beginnen mit kleinen Standardwerten. Verwenden Sie diese Einstellung, um die Menge der verfügbaren AmlCompute-Ressourcen zu steuern, die in Ihrem Abonnement gestartet werden können. Weitere Informationen finden Sie unter Azure Machine Learning Compute.
Zudem können Sie für jeden Arbeitsbereich innerhalb eines Abonnements das Kontingent auf Arbeitsbereichsebene pro VM-Familie konfigurieren. Dieser Ansatz 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. Weitere Informationen finden Sie unter Kontingente auf Arbeitsbereichsebene.
So legen Sie Kontingente auf Arbeitsbereichsebene fest
Öffnen Sie die Azure portal und wählen Sie dann einen beliebigen Arbeitsbereich in Ihrem Abonnement aus.
Wählen Sie Support + Problembehandlung>Nutzung + Kontingente im Arbeitsbereichsmenü aus.
Wählen Sie View-Kontingent aus, um Kontingente in Azure Machine Learning Studio anzuzeigen.
Auf dieser Seite finden Sie Ihr Abonnement und Ihre Region, um Kontingente festzulegen.
Da sich diese Einstellung auf mehrere Arbeitsbereiche auswirkt, benötigen Sie Berechtigungen im Abonnementbereich, um das Kontingent festzulegen.
Festlegen von Richtlinien zum Beenden von Aufträgen
In einigen Fällen sollten Sie Ihre Trainingsdurchläufe so konfigurieren, dass ihre Dauer eingeschränkt wird oder sie vorzeitig beendet werden. Wenn Sie beispielsweise die integrierte Hyperparameteroptimierung oder automatisierte machine learning von Azure Machine Learning verwenden.
Dies sind einige der Optionen, die sich Ihnen bieten:
- Legen Sie die Eigenschaft
timeoutin der KonfigurationlimitsIhres Befehlsauftrags fest, um die maximale Dauer der Ausführung zu steuern, die auf der von Ihnen gewählten lokalen oder per Fernzugriff über Cloud-Computing erweitert werden kann. - Definieren Sie für die Hyperparameteroptimierung eine Richtlinie für vorzeitige Beendigung, eine Medianstopprichtlinie oder eine Kürzungsauswahlrichtlinie. Verwenden Sie Parameter wie
max_total_trialsodertimeout, um Hyperparametersweeps präziser zu steuern. Weitere Informationen finden Sie unter Angeben der Richtlinie für vorzeitige Beendigung. - Legen Sie für automatisierte machine learning ähnliche Beendigungsrichtlinien mithilfe des Flags
enable_early_terminationfest. Sie können auch Eigenschaften wietrial_timeout_minutesundtimeout_minutesverwenden, um die maximale Dauer einer Testversion oder eines gesamten Experiments zu steuern. Weitere Informationen finden Sie unter Beendigungskriterien.
Verwendung niedrig priorisierter virtueller Maschinen
Azure ermöglicht es Ihnen, überschüssige nicht verwendete Kapazität als Niedrigprioritäts-VMs in Virtual Machine Scale Sets, Batch und dem Machine Learning-Dienst zu nutzen. Diese Zuordnungen sind präemtiv, sie bieten jedoch den Vorteil eines niedrigeren Preises im Vergleich mit dedizierten VMs. Im Allgemeinen werden Low-Priority VMs für Batchworkloads empfohlen. Sie sollten diese auch in Fällen verwenden, in denen eine Wiederherstellung nach Unterbrechungen möglich ist – entweder durch erneute Übermittlungen bei Batch-Inferenz oder durch Neustarts beim Deep-Learning-Training mit Checkpointing.
VMs mit niedriger Priorität besitzen ein einzelnes Kontingent, das sich von dem dedizierten Kontingentwert unterscheidet und sich nach der VM-Familie richtet. Weitere Informationen zu AmlCompute-Kontingenten finden Sie unter Verwalten und Erhöhen von Kontingenten.
VMs mit geringer Priorität funktionieren nicht als Computeinstanzen, da sie in der Lage sein müssen, interaktive Notebookumgebungen zu unterstützen.
Compute-Instanzen planen
Wenn Sie eine Compute-Instanz erstellen, bleibt die VM eingeschaltet, damit sie für Ihre Arbeit verfügbar ist.
- Aktivieren Sie das Herunterfahren im Leerlauf (Vorschau), um Kosten zu sparen, wenn sich die VM für einen bestimmten Zeitraum im Leerlauf befindet. Siehe Konfiguration des automatischen Leerlaufabschaltens.
- Richten Sie einen Zeitplan ein, um die Computeinstanz automatisch zu starten und zu beenden (Vorschau), wenn sie nicht verwendet wird, um Kosten zu sparen. Siehe Planen des automatischen Startens und Beendens.
Verwenden von reservierten Instanzen
Eine weitere Möglichkeit zum Sparen von Kosten für Computeressourcen ist Azure Reservierte VM-Instanz. Bei diesem Angebot verpflichten Sie sich zu einer einjährigen oder dreijährigen Laufzeit. Diese Rabatte reichen bis zu 72% der Standardpreise und werden direkt auf Ihre monatliche Azure Rechnung angewendet.
Azure Machine Learning Compute unterstützt inhärent reservierte Instanzen. Wenn Sie eine einjährige oder dreijährige reservierte Instanz erwerben, wird der Rabatt automatisch auf die verwalteten Rechenressourcen von Azure Machine Learning angewendet.
Parallelisieren Sie das Training
Eine der wichtigsten Methoden zur Optimierung von Kosten und Leistung ist die Parallelisierung der Workload mit Hilfe einer parallelen Komponente in Azure Machine Learning. Mit einer parallelen Komponente können Sie viele kleinere Knoten verwenden, um den Task parallel auszuführen, sodass Sie horizontal skalieren können. Für die Parallelisierung fällt ein Mehraufwand an. Abhängig von der Workload und dem Grad der Parallelität, der erreicht werden kann, stellt dieser Ansatz eine Option dar. Weitere Informationen finden Sie unter ParallelComponent Class.
Legen Sie Richtlinien für die Aufbewahrung und das Löschen von Daten fest
Bei jeder Ausführung einer Pipeline werden in jedem Schritt Zwischen-Datasets generiert. Im Laufe der Zeit belegen diese Zwischendatensätze Platz in Ihrem Speicherkonto. Erwägen Sie das Einrichten von Richtlinien zum Verwalten Ihrer Daten während des gesamten Lebenszyklus, um Ihre Datasets zu archivieren und zu löschen. Weitere Informationen finden Sie unter Kosten optimieren, indem der Datenlebenszyklus automatisch verwaltet wird.
Stellen Sie Ressourcen in derselben Region bereit
Bei Computeressourcen, die sich in unterschiedlichen Regionen befinden, können Netzwerklatenz und erhöhte Datenübertragungskosten auftreten. Azure Netzwerkkosten entstehen aus ausgehender Bandbreite aus Azure Rechenzentren. Um die Netzwerkkosten zu senken, stellen Sie alle Ihre Ressourcen in der Region bereit. Die Bereitstellung Ihres Azure Machine Learning Arbeitsbereichs und abhängiger Ressourcen in derselben Region wie Ihre Daten kann dazu beitragen, die Kosten zu senken und die Leistung zu verbessern.
Für Hybrid-Cloudszenarien wie solche, die Azure ExpressRoute verwenden, kann es manchmal kostengünstiger sein, alle Ressourcen in Azure zu verschieben, um Netzwerkkosten und Latenz zu optimieren.
Löschen fehlgeschlagener Bereitstellungen
Verwaltete Onlineendpunkte verwenden VMs für Bereitstellungen. Wenn Sie eine Anfrage zur Erstellung einer Online-Bereitstellung übermittelt haben und diese nicht erfolgreich war, könnte die Anfrage möglicherweise die Phase der Erstellung von Rechenressourcen durchlaufen haben. In diesem Fall würden für den fehlgeschlagenen Einsatz Gebühren anfallen. Wenn Sie das Debuggen oder die Untersuchung des Fehlers abgeschlossen haben, löschen Sie die fehlgeschlagenen Bereitstellungen, um Kosten zu sparen.