Freigeben über


Bewährte Methoden für die Architektur für Azure Machine Learning

Azure Machine Learning ist ein verwalteter Clouddienst, mit dem Sie Machine Learning-Modelle trainieren, bereitstellen und verwalten können. Es gibt eine Vielzahl von Auswahlmöglichkeiten und Konfigurationen für Schulungen und Bereitstellungsmodelle, einschließlich Compute-SKUs und Konfigurationen. Sie können Machine Learning-Modelle für maschinelles Lernen oder für andere Azure-Dienste wie Azure Kubernetes Service (AKS) bereitstellen.

Dieser Artikel enthält Architekturempfehlungen für fundierte Entscheidungen, wenn Sie Machine Learning zum Trainieren, Bereitstellen und Verwalten von Machine Learning-Modellen verwenden. Die Anleitung basiert auf den Azure Well-Architected Framework-Säulen.

Von Bedeutung

So verwenden Sie dieses Handbuch

Jeder Abschnitt verfügt über eine Entwurfsprüfliste , die architektonische Themenbereiche zusammen mit Designstrategien darstellt, die auf den Technologiebereich lokalisiert sind.

Außerdem sind Empfehlungen zu den Technologiefunktionen enthalten, die bei der Materialisierung dieser Strategien helfen können. Die Empfehlungen stellen keine vollständige Liste aller Konfigurationen dar, die für Machine Learning und deren Abhängigkeiten verfügbar sind. Stattdessen werden die wichtigsten Empfehlungen aufgelistet, die den Entwurfsperspektiven zugeordnet sind. Verwenden Sie die Empfehlungen, um Ihre Machbarkeitsstudie zu erstellen oder Ihre vorhandenen Umgebungen zu optimieren.

Die grundlegende Architektur der Basisarchitektur der End-to-End-Chat-Referenzarchitektur von OpenAI veranschaulicht viele der wichtigsten Empfehlungen.

Technologieumfang

Diese Überprüfung konzentriert sich auf die in Beziehung stehenden Entscheidungen für diese Azure-Ressourcen:

  • Maschinelles Lernen
  • Computerlern-Computecluster
  • Machine Learning-Computeinstanzen

Die Überprüfung adressiert keine verbundenen Ressourcen wie Datenspeicher oder Azure Key Vault.

Zuverlässigkeit

Der Zweck der Zuverlässigkeitssäule besteht darin, kontinuierliche Funktionsfähigkeit bereitzustellen, indem genügend Widerstandsfähigkeit aufgebaut wird und die Fähigkeit zur schnellen Wiederherstellung von Fehlern sichergestellt wird.

Die Zuverlässigkeitsdesignprinzipien bieten eine allgemeine Designstrategie, die für einzelne Komponenten, Systemflüsse und das gesamte System angewendet wird.

Entwurfsprüfliste

Beginnen Sie Ihre Designstrategie basierend auf der Prüfliste für die Designüberprüfung für Zuverlässigkeit und bestimmen Sie ihre Relevanz für Ihre Geschäftlichen Anforderungen. Erweitern Sie die Strategie, um bei Bedarf weitere Ansätze einzuschließen.

  • Resilienz: Stellen Sie Modelle in Umgebungen bereit, die Verfügbarkeitszonen unterstützen, z. B. AKS. Indem Sie sicherstellen, dass Bereitstellungen über Verfügbarkeitszonen verteilt werden, stellen Sie sicher, dass eine Bereitstellung auch im Falle eines Rechenzentrumsfehlers verfügbar ist. Um die Zuverlässigkeit und Verfügbarkeit zu erhöhen, sollten Sie eine Topologie mit mehreren Regionen in Betracht ziehen.

  • Resilienz: Stellen Sie sicher, dass Sie sowohl für Schulungen als auch für die Ableitung über ausreichende Berechnungen verfügen. Stellen Sie mithilfe der Ressourcenplanung sicher, dass Ihre Compute-SKU und Skalierungseinstellungen den Anforderungen Ihrer Workload entsprechen.

  • Resilienz: Trennen Sie machine Learning-Arbeitsbereiche, die für explorative Arbeit von denen verwendet werden, die für die Produktion verwendet werden.

  • Resilienz: Verwenden Sie bei verwendung von verwalteten Onlineendpunkten für die Ableitung eine Releasestrategie wie blaugrüne Bereitstellungen, um Ausfallzeiten zu minimieren und das Mit der Bereitstellung neuer Versionen verbundene Risiko zu verringern.

  • Geschäftsanforderungen: Wählen Sie Ihre Verwendung von Computeclustern, Computeinstanzen und externen Inferenzhosts basierend auf Ihren Zuverlässigkeitsanforderungen aus, unter Berücksichtigung von Service-Level-Vereinbarungen (SLAs) als Faktor.

  • Wiederherstellung: Stellen Sie sicher, dass Sie über Selbstheilungsfunktionen verfügen, z. B. Prüfpunktfunktionen, die von Machine Learning unterstützt werden, wenn Sie große Modelle trainieren.

  • Wiederherstellung: Stellen Sie sicher, dass Eine Wiederherstellungsstrategie definiert ist. Machine Learning verfügt nicht über automatisches Failover. Daher müssen Sie eine Strategie entwerfen, die den Arbeitsbereich und alle seine Abhängigkeiten umfasst, z. B. Key Vault, Azure Storage und Azure Container Registry.

Empfehlungen
Empfehlung Nutzen
Modellbereitstellung mit mehreren Regionen: Bei einer verbesserten Zuverlässigkeit und Verfügbarkeit sollten Sie nach Möglichkeit eine Umgebung für die Bereitstellung mit mehreren Regionen in Betracht ziehen. Eine Bereitstellung mit mehreren Regionen stellt sicher, dass Ihre Machine Learning-Workloads weiterhin ausgeführt werden, auch wenn eine Region einen Ausfall erlebt. Die Bereitstellung mit mehreren Regionen verbessert die Lastverteilung über Regionen hinweg, wodurch die Leistung für Benutzer in unterschiedlichen geografischen Regionen potenziell verbessert wird. Weitere Informationen finden Sie unter Failover für Business Continuity & Disaster Recovery.
< c0>Resilienz des Modelltrainings: Verwenden Sie Checkpoint-Funktionen, die von Machine Learning unterstützt werden, einschließlich Azure Container für PyTorch, der TensorFlow Estimator-Klasse oder dem Run-Objekt und der FileDataset-Klasse, die Modell-Checkpointing unterstützen. Modellprüfpunkte speichern den Zustand Ihres Machine Learning-Modells während der Schulung regelmäßig, sodass sie bei Unterbrechungen, Fehlern oder Beendigung wiederhergestellt werden kann. Weitere Informationen finden Sie unter Boost Prüfpunktgeschwindigkeit und Reduzierung der Kosten mit Nebula.
Verwenden Sie die "Dedizierte VM-Stufe" für Computecluster: Verwenden Sie die dedizierte VM-Stufe für Computecluster für die Batch-Inferenz, um sicherzustellen, dass der Batchauftrag nicht unterbrochen wird. Virtuelle Computer mit niedriger Priorität kommen zu einem reduzierten Preis, sind aber vorempfindbar. Cluster, die die Stufe "Dedizierte virtuelle Maschinen" verwenden, werden nicht unterbrochen.

Sicherheit

Der Zweck der Säule "Sicherheit" besteht darin , vertraulichkeits-, Integritäts- und Verfügbarkeitsgarantien für die Arbeitsauslastung bereitzustellen.

Die Prinzipien des Sicherheitsdesigns stellen eine allgemeine Designstrategie für die Erreichung dieser Ziele bereit, indem Ansätze auf das technische Design rund um Machine Learning angewendet werden.

Entwurfsprüfliste

Starten Sie Ihre Designstrategie basierend auf der -Designüberprüfungsprüfliste für Sicherheit und identifizieren Sie Sicherheitsrisiken und Kontrollen, um die Sicherheitslage zu verbessern. Erweitern Sie die Strategie, um bei Bedarf weitere Ansätze einzuschließen.

  • Verfügbarkeit: Verringern Sie die Angriffsfläche des Machine Learning-Arbeitsbereichs, indem Sie den Zugriff auf den Arbeitsbereich auf Ressourcen innerhalb des virtuellen Netzwerks einschränken.

  • Vertraulichkeit: Schützen Sie sich vor Datenexfiltration aus dem Machine Learning-Arbeitsbereich, indem Sie die Netzwerkisolation implementieren. Stellen Sie sicher, dass der Zugriff auf alle externen Ressourcen explizit genehmigt wurde und der Zugriff auf alle anderen externen Ressourcen nicht zulässig ist.

  • Integrität: Implementieren Sie Zugriffskontrollen, die den Machine Learning-Arbeitsbereich für externe Ressourcen basierend auf dem Prinzip der geringsten Berechtigungen authentifizieren und autorisieren.

  • Integrität: Implementieren sie die Anwendungsfalltrennung für Machine Learning-Arbeitsbereiche, indem Sie Arbeitsbereiche basierend auf bestimmten Anwendungsfällen oder Projekten einrichten. Dieser Ansatz entspricht dem Prinzip der geringsten Berechtigung, indem sichergestellt wird, dass Arbeitsbereiche nur für Personen zugänglich sind, die Zugriff auf Daten und Experimentressourcen für den Anwendungsfall oder das Projekt erfordern.

  • Integrität: Reguliert den Zugriff auf foundationale Modelle. Stellen Sie sicher, dass nur genehmigte Register Zugriff auf Modelle in der Modellregistrierung haben.

  • Integrität: Reguliert den Zugriff auf genehmigte Containerregistrierungen. Stellen Sie sicher, dass machine Learning nur auf genehmigte Registrierungen zugreifen kann.

  • Integrität: Regeln Sie die Python-Pakete, die auf machine Learning-Compute ausgeführt werden können. Durch die Regulierung der Python-Pakete wird sichergestellt, dass nur vertrauenswürdige Pakete ausgeführt werden.

  • Integrität: Erfordert Code, der für die Schulung in Machine Learning-Computeumgebungen verwendet wird, um signiert zu werden. Durch das Anfordern der Codesignierung wird sichergestellt, dass der ausgeführte Code von einer vertrauenswürdigen Quelle stammt und nicht manipuliert wurde.

  • Vertraulichkeit: Einhaltung des Prinzips der geringsten Berechtigungen für die rollenbasierte Zugriffssteuerung (RBAC) für den Machine Learning-Arbeitsbereich und zugehörige Ressourcen, z. B. das Arbeitsbereichsspeicherkonto, um sicherzustellen, dass Einzelpersonen nur über die erforderlichen Berechtigungen für ihre Rolle verfügen, wodurch potenzielle Sicherheitsrisiken minimiert werden.

  • Integrität: Einrichten des vertrauensbasierten und überprüften Zugriffs durch Implementieren der Verschlüsselung für Ruhedaten und Daten während der Übertragung.

Empfehlungen
Empfehlung Nutzen
Sicherheitsgrundwerte: Um die Sicherheit und Compliance Ihres Machine Learning-Diensts zu verbessern, wenden Sie die Azure-Sicherheitsbasislinie für Maschinelles Lernen an. Die Sicherheitsbasislinie bietet maßgeschneiderte Anleitungen zu wichtigen Sicherheitsaspekten wie Netzwerksicherheit, Identitätsverwaltung, Datenschutz und privilegiertem Zugriff. Um optimale Sicherheit zu gewährleisten, verwenden Sie Microsoft Defender für Cloud, um diese Aspekte zu überwachen.
Verwaltete virtuelle Netzwerkisolation: Konfigurieren der verwalteten virtuellen Netzwerkisolation für Maschinelles Lernen. Wenn Sie die Isolation verwalteter virtueller Netzwerke aktivieren, wird ein verwaltetes virtuelles Netzwerk für den Arbeitsbereich erstellt. Verwaltete Computeressourcen, die Sie für den Arbeitsbereich erstellen, verwenden automatisch dieses verwaltete virtuelle Netzwerk. Wenn Sie keine verwaltete virtuelle Netzwerkisolation implementieren können, müssen Sie die Empfehlungen für die Netzwerktopologie befolgen, um die Berechnung in ein dediziertes Subnetz von den restlichen Ressourcen in der Lösung zu trennen, einschließlich der privaten Endpunkte für Arbeitsbereichsressourcen. Die verwaltete virtuelle Netzwerkisolation verbessert die Sicherheit, indem Sie Ihren Arbeitsbereich aus anderen Netzwerken isolieren und das Risiko eines nicht autorisierten Zugriffs verringern. In einem Szenario, in dem eine Verletzung in einem anderen Netzwerk in Ihrer Organisation auftritt, bleibt das isolierte Netzwerk Ihres Machine Learning-Arbeitsbereichs unberührt, wodurch Ihre Arbeitsauslastungen für maschinelles Lernen geschützt werden.
Machine Learning-Netzwerkisolation: Konfigurieren Sie einen privaten Endpunkt für Ihren Machine Learning-Arbeitsbereich, und stellen Sie eine Verbindung mit dem Arbeitsbereich über diesen privaten Endpunkt her. Die Machine Learning-Netzwerkisolation verbessert die Sicherheit, indem sichergestellt wird, dass der Zugriff auf Ihren Arbeitsbereich sicher und kontrolliert wird. Wenn ein privater Endpunkt für Ihren Arbeitsbereich konfiguriert ist, können Sie den Zugriff auf Ihren Arbeitsbereich auf die privaten IP-Adressen beschränken.
Nur genehmigten ausgehenden Zugriff zulassen: Konfigurieren Sie den ausgehenden Modus für den verwalteten ausgehenden Zugriff im Machine Learning-Arbeitsbereich, um das Risiko der Datenexfiltration zu Allow only approved outbound minimieren. Konfigurieren Sie private Endpunkte, Diensttags oder vollqualifizierte Domänennamen (FQDNs) für Ressourcen, auf die Sie zugreifen müssen. Diese Konfiguration minimiert das Risiko der Datenexfiltration und verbessert die Datensicherheit. Wenn diese Konfiguration aktiviert ist, kann ein böswilliger Akteur, der Zugriff auf Ihr System erhält, Ihre Daten nicht an ein nicht genehmigtes externes Ziel senden.
Virtuelle Netzwerkisolation für abhängige Dienste: Konfigurieren von abhängigen Diensten wie Speicher, Key Vault und Containerregistrierung mit privaten Endpunkten und Deaktivieren des öffentlichen Zugriffs. Die Netzwerkisolation stärkt die Sicherheit, indem der Zugriff auf Azure-Plattform as a Service (PaaS)-Lösungen nur auf private IP-Adressen beschränkt wird.
Verwaltete Identität: Verwenden Sie verwaltete Identitäten für die Authentifizierung zwischen Machine Learning und anderen Diensten. Verwaltete Identitäten verbessern die Sicherheit, indem sie die Notwendigkeit beseitigen, Anmeldeinformationen zu speichern und Dienstprinzipale manuell zu verwalten und regelmäßig auszutauschen.
Deaktivieren Sie die lokale Authentifizierung: Deaktivieren Sie die lokale Authentifizierung für Computerlern-Computecluster und Instanzen. Durch das Deaktivieren der lokalen Authentifizierung wird die Sicherheit Ihrer Machine Learning-Rechenressourcen erhöht und die zentrale Steuerung und Verwaltung von Identitäten und Ressourcenanmeldeinformationen erleichtert.
Deaktivieren Sie den öffentlichen SSH-Port: Stellen Sie sicher, dass der öffentliche Secure Shell (SSH)-Port auf dem maschinellen Lern-Compute-Cluster inaktiv ist, indem Sie remoteLoginPortPublicAccess auf Disabled setzen. Wenden Sie eine ähnliche Konfiguration an, wenn Sie eine andere Berechnung verwenden. Das Deaktivieren des SSH-Zugriffs verhindert, dass unbefugte Personen Zugriff erhalten und potenziell Schaden an Ihrem System verursachen und Sie vor Brute-Force-Angriffen schützen.
Stellen Sie keine öffentlichen IP-Adressen für Machine Learning-Compute bereit: Setzen Sie enableNodePublicIp auf false, wenn Sie Machine Learning-Computecluster oder Computeinstanzen bereitstellen. Wenden Sie eine ähnliche Konfiguration an, wenn Sie eine andere Berechnung verwenden. Vermeiden Sie die Bereitstellung öffentlicher IP-Adressen, um die Sicherheit zu verbessern, indem Sie das Potenzial für nicht autorisierten Zugriff auf Ihre Computeinstanz oder Cluster einschränken.
Rufen Sie das neueste Betriebssystemimage ab: Erstellen Sie Computeinstanzen neu, um das neueste Betriebssystemimage abzurufen. Durch die Verwendung der neuesten Images wird sichergestellt, dass Sie eine konsistente, stabile und sichere Umgebung beibehalten, einschließlich der Sicherstellung, dass Sie über die neuesten Sicherheitspatches verfügen.
Strenge Zugriffssteuerungen für machine Learning-Arbeitsbereiche: Verwenden Sie Microsoft Entra-ID-Gruppen, um den Arbeitsbereichszugriff zu verwalten und dem Prinzip der geringsten Berechtigungen für RBAC zu entsprechen. Strenge Zugriffskontrollen für Arbeitsbereiche verbessern die Sicherheit, indem sichergestellt wird, dass Einzelpersonen nur über die erforderlichen Berechtigungen für ihre Rolle verfügen. Ein Datenwissenschaftler hat beispielsweise Zugriff auf Experimente, aber nicht um Sicherheitseinstellungen zu ändern und mögliche Sicherheitsrisiken zu minimieren.
Einschränken von Modellkatalogbereitstellungen: Einschränken von Modellbereitstellungen auf bestimmte Registrierungen. Wenn Sie die Bereitstellungen aus dem Modellkatalog auf bestimmte Registrierungen beschränken, stellen Sie sicher, dass Sie nur Modelle für genehmigte Registrierungen bereitstellen. Dieser Ansatz hilft bei der Regulierung des Zugriffs auf die open-source-Foundation-Modelle.
Ruhende Daten verschlüsseln: Erwägen Sie die Verwendung von vom Kunden verwalteten Schlüsseln mit Machine Learning. Durch das Verschlüsseln ruhender Daten wird die Datensicherheit verbessert, indem sichergestellt wird, dass vertrauliche Daten mithilfe von Von Ihnen direkt verwalteten Schlüsseln verschlüsselt werden. Wenn Sie über eine gesetzliche Anforderung zum Verwalten Ihrer eigenen Verschlüsselungsschlüssel verfügen, verwenden Sie dieses Feature, um diese Anforderung einzuhalten.
Minimieren Sie das Risiko der Datenexfiltration: Implementieren Sie die Verhinderung von Datenexfiltration. Erstellen Sie z. B. eine Dienstendpunktrichtlinie, um den ausgehenden virtuellen Netzwerkdatenverkehr zu filtern und die Datenexfiltration nur auf bestimmte Azure Storage-Konten zuzulassen. Minimieren Sie das Risiko der Datenexfiltration, indem Sie eingehende und ausgehende Anforderungen einschränken.
Berater

Im Folgenden sind einige Beispiele für empfehlungen für bewährte Methoden für die Sicherheit von Advisor für Maschinelles Lernen aufgeführt:

  • Arbeitsbereiche sollten mit einem vom Kunden verwalteten Schlüssel (CMK) verschlüsselt werden.
  • Arbeitsbereiche sollten Azure Private Link verwenden.
  • Arbeitsbereiche sollten den öffentlichen Netzwerkzugriff deaktivieren.
  • Compute sollte sich in einem virtuellen Netzwerk befinden.
  • Computeinstanzen sollten neu erstellt werden, um die neuesten Softwareupdates zu erhalten.
Azure-Richtlinie

Im Folgenden sind Beispiele für integrierte Azure-Richtliniendefinitionen für machine Learning-Sicherheit aufgeführt:

Kostenoptimierung

Die Kostenoptimierung konzentriert sich auf das Erkennen von Ausgabenmustern, das Priorisieren von Investitionen in kritische Bereiche und die Optimierung in anderen Bereichen, um das Budget der Organisation zu erfüllen, während die Geschäftsanforderungen erfüllt werden.

Lesen Sie die Entwurfsprinzipien für die Kostenoptimierung , um die Ansätze zu verstehen, um diese Ziele zu erreichen, und die notwendigen Kompromisse bei den technischen Designentscheidungen im Zusammenhang mit der Schulung und Bereitstellung von Modellen in ihren Umgebungen.

Entwurfsprüfliste

Starten Sie Ihre Design-Strategie auf der Grundlage der Checkliste für die Design-Überprüfung zur Kostenoptimierung für Investitionen und nehmen Sie die Feinabstimmung des Designs vor, damit der Workload mit dem für den Workload zugewiesenen Budget in Einklang gebracht wird. Ihr Design sollte die richtigen Azure-Funktionen verwenden, Investitionen überwachen und Möglichkeiten zur Optimierung im Laufe der Zeit finden.

  • Nutzungsoptimierung: Wählen Sie die geeigneten Ressourcen aus, um sicherzustellen, dass sie ihren Workloadanforderungen entsprechen. Wählen Sie z. B. zwischen CPUs oder GPUs, verschiedenen SKUs oder VMs mit niedriger oder normaler Priorität aus.

  • Nutzungsoptimierung: Stellen Sie sicher, dass Rechenressourcen, die nicht verwendet werden, beim Leerlauf herunterskaliert oder heruntergefahren werden, um den Abfall zu reduzieren.

  • Nutzungsoptimierung: Anwenden von Richtlinien und Konfigurieren von Kontingenten zur Einhaltung der oberen und unteren Grenzwerte des Designs.

  • Nutzungsoptimierung: Testen Sie parallelisierende Schulungsarbeitslasten, um zu ermitteln, ob Schulungsanforderungen bei niedrigeren Kosten-SKUs erfüllt werden können.

  • Ratenoptimierung: Kaufen Sie Azure Reserved Virtual Machine Instances, wenn Sie eine gute Schätzung der Nutzung in den nächsten ein bis drei Jahren haben.

  • Überwachen und Optimieren: Überwachen Sie die Ressourcenauslastung, z. B. cpu- und GPU-Auslastung bei Schulungsmodellen. Wenn die Ressourcen nicht vollständig verwendet werden, ändern Sie Ihren Code, um Ressourcen besser zu verwenden oder auf kleinere oder günstigere VM-Größen zu skalieren.

Empfehlungen
Empfehlung Nutzen
Optimieren Sie Rechenressourcen: Optimieren Sie Ihre Computeressourcen basierend auf den Anforderungen Ihrer Workload. Wählen Sie die SKU aus, die am besten zu Ihrer Workload passt:
  • Allgemeiner Zweck – Ausgewogenes CPU-Zu-Arbeitsspeicher-Verhältnis, gut für alle Zwecke.
  • Compute Optimized – Hohe CPU-Zu-Arbeitsspeicher-Verhältnis, gut für mathelastige Berechnungen.
  • Speicher optimiert – hoher Arbeitsspeicher für CPU, gut für In-Memory-Berechnungen oder Datenbankanwendungen.
  • M-Serie – Sehr große Maschinen mit großen Arbeitsspeicher- und CPU-Mengen.
  • GPU – Besser für Modelle mit einer hohen Anzahl von Variablen, die von höherer Parallelität und spezialisierten Kernanweisungen profitieren können. Typische Anwendungen sind Deep Learning, Bild- oder Videoverarbeitung, wissenschaftliche Simulationen, Data Mining und nutzen GPU-Entwicklungsframeworks. Testen Sie mit mehreren Familien, und dokumentieren Sie die Ergebnisse als Basisplan. Wenn sich Ihr Modell und Ihre Daten entwickeln, kann sich die am besten geeignete Computeressource ändern. Überwachen Sie die Ausführungszeiten, und bewerten Sie sie nach Bedarf erneut.
Die Auswahl der richtigen Rechenressourcen ist entscheidend, da sie sich direkt auf die Kosten für den Betrieb Ihrer Workloads auswirkt. Die Wahl einer GPU oder einer SKU mit hoher Leistung ohne ordnungsgemäße Nutzung kann zu verschwendeten Ausgaben führen, während die Auswahl einer unzureichenden Rechenleistung zu unverhältnismäßig langen Trainingszeiten und Leistungsproblemen führen kann.
Optimieren Sie die Berechnungsskalierung: Konfigurieren Sie Ihre Computecluster für die automatische Skalierung , um sicherzustellen, dass Sie nur das benötigen.

Konfigurieren Sie für Schulungscluster die Mindestanzahl von Knoten auf 0 und stellen Sie die Zeitspanne ein, in der der Knoten inaktiv ist, auf eine geeignete Dauer. Reduzieren Sie für weniger iterative Experimente die Zeit, um Kosten zu sparen. Verwenden Sie für mehr iteratives Experimentieren eine längere Zeit, um Kosten für das Hoch- oder Herunterskalieren nach jeder Änderung zu vermeiden.
Konfigurieren Sie die automatische Skalierung für Computecluster, um die Kapazität zu verringern, wenn ihre Nutzung niedrig ist.

Legen Sie die Mindestanzahl von Knoten auf 0 fest, um Schulungscluster auf 0 zu skalieren, wenn sie nicht verwendet werden.
Festlegen von Richtlinien für die Beendigung von Schulungen: Festlegen von Richtlinien für vorzeitige Beendigungen , um die Dauer von Schulungsläufen zu begrenzen oder sie frühzeitig zu beenden. Das Festlegen von Beendigungsrichtlinien kann Ihnen helfen, Kosten zu sparen, indem Sie nicht leistungsfähige Abläufe frühzeitig beenden.
Verwenden Sie virtuelle Computer mit niedriger Priorität für Batchworkloads: Verwenden Sie virtuelle Computer mit niedriger Priorität für Batchworkloads , die nicht zeitempfindlich sind und in denen Unterbrechungen wiederhergestellt werden können. Virtuelle Maschinen mit niedriger Priorität ermöglichen eine große Menge an Rechenleistung, die zu geringen Kosten genutzt werden kann. Sie nutzen die Überschusskapazität in Azure.
Aktivieren Sie das Herunterfahren im Leerlauf für Computeinstanzen: Aktivieren Sie das Herunterfahren im Leerlauf für Computeinstanzen , oder planen Sie eine Start- und Stoppzeit , wenn die Nutzungszeit bekannt ist. Standardmäßig stehen Ihnen Computeinstanzen zur Verfügung, wodurch Kosten entstehen. Das Konfigurieren von Computeinstanzen zum Herunterfahren beim Leerlauf oder Konfigurieren eines Zeitplans für sie spart Kosten, wenn sie nicht verwendet werden.
Parallelisieren von Schulungsworkloads: Erwägen Sie die Parallelisierung von Schulungsarbeitsauslastungen. Testen Sie die Ausführung mit Hilfe der parallelen Komponenten in Machine Learning. Parallele Workloads können auf mehreren kleineren Instanzen ausgeführt werden, was zu Kosteneinsparungen führt.
Azure Reserved VM Instances: Kaufen Sie Azure Reserved VM Instances, wenn Sie eine gute Schätzung der Nutzung in den nächsten ein bis drei Jahren haben. Nutzen Sie reservierte Kapazitätsoptionen für Dienste, wenn Sie über gute Nutzungsschätzungen verfügen. Kaufen Sie Azure Reserved VM-Instanzen, um im Voraus für die Nutzung virtueller Maschinen zu bezahlen und Rabatte im Rahmen der Zahlungsmodell "Pay-as-you-go" zu erhalten. Der Rabatt wird automatisch für die Nutzung virtueller Computer angewendet, die der Reservierung entspricht.

Operative Exzellenz

Operational Excellence konzentriert sich in erster Linie auf Verfahren für Entwicklungspraktiken, Observability und Release Management.

Die Designprinzipien Operational Excellence bieten eine übergeordnete Designstrategie zur Erreichung dieser Ziele im Hinblick auf die betrieblichen Anforderungen der Arbeitsauslastung.

Entwurfsprüfliste

Entwickeln Sie Ihre Designstrategie auf Grundlage der Prüfliste für die Designüberprüfung für Operational Excellence, um Prozesse für Überwachbarkeit, Tests und Bereitstellung im Zusammenhang mit Machine Learning zu definieren.

  • Entwicklungsstandards: Nutzen Sie Machine Learning-Modellkataloge und Registrierungen, um Machine Learning-Objekte zu speichern, zu versionieren und freizugeben.

  • Automatisieren Sie die Effizienz: Befolgen Sie gute MLOps-Praktiken (Machine Learning Operations ). Erstellen Sie nach Möglichkeit end-to-End automatisierte Pipelines für die Datenvorbereitung, Schulungen und Bewertungsprozesse. Verwenden Sie in der Entwicklung Skripts anstelle von Notizbüchern für Schulungsmodelle, da Skripts einfacher in automatisierte Pipelines integriert werden können.

  • Mit Sicherheit bereitstellen: Implementieren der Infrastruktur als Code (IaC) für Machine Learning-Arbeitsbereiche, Computecluster, Computeinstanzen und andere Bereitstellungsumgebungen.

  • Observability: Überwachen Sie die Leistung Ihrer bereitgestellten Modelle, einschließlich Datenabweichung.

  • Observability: Wenn Ihre Modelle für Onlineendpunkte bereitgestellt werden, aktivieren Sie Application Insights , um Onlineendpunkte und Bereitstellungen zu überwachen. Überwachen Sie die Schulungsinfrastruktur, um sicherzustellen, dass Sie Ihre grundlegenden Anforderungen erfüllen.

  • Einfachheit: Verwenden Sie kuratierte Umgebungen, die für Maschinelles Lernen optimiert sind, wenn verfügbar.

Empfehlungen
Empfehlung Nutzen
Minimieren Sie Machine Learning-Arbeitsbereichsinstanzen: Minimieren Sie die Anzahl der Arbeitsbereiche, wenn möglich, um die Wartung zu reduzieren. Durch die Beschränkung der Anzahl von Arbeitsbereichen wird der Wartungsaufwand und die Betriebskosten reduziert. Für Anforderungen wie Sicherheit benötigen Sie möglicherweise mehrere separate Arbeitsbereiche. Minimieren Sie die Anzahl der Arbeitsbereiche, wenn möglich.
Nutzen Sie Die Vorteile von Modellkatalogen und Registrierungen: Nutzen Sie Machine Learning-Modellkataloge und -registrierungen, um Machine Learning-Objekte zu speichern, zu versionieren und freizugeben.

Verwenden Sie Machine Learning-Modellkataloge, um A/B-Tests und die Bereitstellung von Modellen zu implementieren.
Verwenden Sie Registrierungen für Modelle des maschinellen Lernens, um Ihre Modelle des maschinellen Lernens zu speichern und zu versionieren, damit Änderungen nachverfolgt und die Herkunft zusammen mit den Aufgaben und Datensätzen, die für das Training verwendet wurden, verwaltet werden können.

Mit Machine Learning-Modellkatalogen können Ihre Data Science-Teams vortrainierte machine Learning-Modelle entdecken, auswerten und optimieren.

Das Speichern von versionsbasierten Modellen in Machine Learning-Modellregistrierungen unterstützt Bereitstellungsstrategien wie A/B-Versionen, Canaryversionen und Rollbacks.
Überwachen siedie Modellleistung: Überwachen Sie die Leistung Ihrer bereitgestellten Modelle, und erkennen Sie Datenabweichungen in Datasets. Die Überwachung bereitgestellter Modelle stellt sicher, dass Ihre Modelle die Leistungsanforderungen erfüllen.

Die Überwachung der Datenabweichung hilft Ihnen, Änderungen der Eingabedaten zu erkennen, die zu einem Rückgang der Leistung Ihres Modells führen können. Durch die Verwaltung von Datenabweichungen können Sie sicherstellen, dass Ihr Modell im Laufe der Zeit genaue Ergebnisse liefert.
Überwachen der Infrastruktur: Wenn Ihre Modelle auf Onlineendpunkten bereitgestellt werden, aktivieren Sie Application Insights , um Onlineendpunkte und Bereitstellungen zu überwachen.

Überwachen Sie die Schulungsinfrastruktur, um sicherzustellen, dass Sie Ihre grundlegenden Anforderungen erfüllen.

Stellen Sie sicher, dass Sie Ressourcenprotokolle für Maschinelles Lernen sammeln.
Mithilfe von Überwachungsendpunkten erhalten Sie Einblicke in Metriken wie Anforderungslatenz und Anforderungen pro Minute. Sie können Ihre Leistung im Vergleich zu Ihrem Basisplan vergleichen und diese Informationen verwenden, um Änderungen an der Berechnung von Ressourcen vorzunehmen. Überwachungsmetriken wie Netzwerkbytes können Sie benachrichtigen, wenn Sie Kontingentbeschränkungen erreichen und Drosselung verhindern.

Ebenso bietet Ihnen die Überwachung Ihrer Schulungsumgebung die Informationen, um Änderungen an Ihrer Schulungsumgebung vorzunehmen. Verwenden Sie diese Informationen, um zu entscheiden, ob Sie ein- oder ausgehend skalieren, nach oben oder unten skalieren mit unterschiedlichen leistungsfähigen SKUs, oder zwischen CPUs und GPUs wählen.
Zusammengestellte Modellschulungsumgebungen: Verwenden Sie kuratierte Umgebungen, die für Maschinelles Lernen optimiert sind, wenn verfügbar. Kuratierte Umgebungen sind vorab erstellte Umgebungen von Machine Learning, die die Bereitstellungszeit beschleunigen und die Bereitstellungs- und Schulungslatenz reduzieren. Die Verwendung kuratierter Umgebungen verbessert die Erfolgsraten von Schulungen und Bereitstellungen und vermeidet unnötige Imagebuilds.

Kuratierte Umgebungen, z. B. Azure Container für PyTorch, können auch für die Schulung großer Modelle auf Machine Learning optimiert werden.

Leistungseffizienz

Leistungseffizienz bedeutet , die Benutzererfahrung auch bei steigender Auslastung durch Kapazitätsverwaltung aufrechtzuerhalten. Die Strategie umfasst die Skalierung von Ressourcen, das Identifizieren und Optimieren potenzieller Engpässe und die Optimierung der Spitzenleistung.

Die Designprinzipien für die Leistungseffizienz bieten eine allgemeine Entwurfsstrategie, um diese Kapazitätsziele gegen die erwartete Nutzung zu erreichen.

Entwurfsprüfliste

Starten Sie Ihre Designstrategie basierend auf der Prüfliste für die Entwurfsüberprüfung für die Leistungseffizienz , um einen Basisplan basierend auf wichtigen Leistungsindikatoren für Machine Learning-Workloads zu definieren.

  • Leistungsziele: Bestimmen Sie die akzeptable Schulungszeit und die Wiederholungshäufigkeit für Ihr Modell. Das Festlegen eines klaren Ziels für die Schulungszeit sowie tests hilft Ihnen, die Computeressourcen, CPU im Vergleich zur GPU und CPU-SKUs zu ermitteln, die erforderlich sind, um das Schulungszeitziel zu erfüllen.

  • Leistungsziele: Definieren Sie die zulässigen Leistungsziele für Ihre bereitgestellten Modelle, einschließlich Antwortzeit, Anforderungen pro Sekunde, Fehlerrate und Betriebszeit. Leistungsziele dienen als Benchmark für die Effizienz Ihres bereitgestellten Modells. Ziele können Ihnen helfen, Entscheidungen über CPU im Vergleich zu GPU, CPU-Produktvarianten und Skalierungsanforderungen zu treffen.

  • Erfüllen der Kapazitätsanforderungen: Wählen Sie die richtigen Computeressourcen für modellgestützte Schulungen aus.

  • Erfüllen der Kapazitätsanforderungen: Wählen Sie die richtigen Computeressourcen für Modellbereitstellungen aus.

  • Erfüllen der Kapazitätsanforderungen: Wählen Sie Bereitstellungsumgebungen mit automatischen Skalierungsfunktionen aus, um Kapazität hinzuzufügen und zu entfernen, wenn die Nachfrage schwankt.

  • Erzielen und halten Sie die Leistung:Überwachen Sie kontinuierlich die Leistung Ihrer bereitgestellten Modelle, überprüfen Sie Die Ergebnisse, und ergreifen Sie geeignete Maßnahmen.

  • Erzielen und halten Sie die Leistung: Überwachen Sie kontinuierlich die Leistung Ihrer Infrastruktur von bereitgestellten Modellen, überprüfen Sie die Ergebnisse, und ergreifen Sie geeignete Maßnahmen. Überwachen Sie die Schulungsinfrastruktur, um sicherzustellen, dass Sie Ihre Anforderungen für die Schulungszeit erfüllen.

Empfehlungen
Empfehlung Nutzen
Wählen Sie geeignete Computedienste für Modellschulungen aus: Berücksichtigen Sie Machine Learning-Computecluster über Computeinstanzen für Modellschulungen, wenn Sie eine automatische Skalierung benötigen.

Optimieren Sie Ihre Computeressourcen basierend auf den Schulungsanforderungen. Wählen Sie zuerst zwischen CPUs und GPUs aus. Standardeinstellung für CPUs, berücksichtigen jedoch GPUs für Workloads wie Deep Learning, Bild- oder Videoverarbeitung oder große Datenmengen. Wählen Sie als Nächstes die Image-SKU aus, die am besten zu Ihrer Workload passt.

Verwenden Sie Tests, um die Berechnungsoption auszuwählen, die die Kosten für die Schulungszeit optimiert, wenn Sie Ihren Basisplan bestimmen.
Die Auswahl der richtigen Berechnung ist wichtig, da sie sich direkt auf die Schulungszeit auswirkt. Wenn Sie die richtige SKU und CPU im Vergleich zur GPU auswählen, stellen Sie sicher, dass Ihre Modellschulung Ihre Anforderungen und Leistungsziele erfüllen kann. Die Auswahl einer leistungsarmen SKU, die überlastet ist, kann zu unertragbar langen Trainingszeiten und Leistungsproblemen führen.

Compute-Cluster ermöglichen eine Leistungsverbesserung durch das Skalieren von Workloads, die horizontale Skalierung unterstützen. Diese Methode bietet Flexibilität für die Verarbeitung von Workloads mit unterschiedlichen Anforderungen und ermöglicht es Ihnen, Computer nach Bedarf hinzuzufügen oder zu entfernen.
Modellbereitstellungsumgebungsskalierung: Verwenden Sie die Autoskalierungsfunktionen der Bereitstellungsumgebung. Verwenden Sie für AKS-Bereitstellungsumgebungen die Cluster-Autoskalierung, um die Anforderungen zu erfüllen. Für Online-Endpunkte erfolgt die automatische Skalierung durch die Integration in die Autoskalierungsfunktion von Azure Monitor. Die automatische Skalierung passt die Anzahl der Instanzen des bereitgestellten Modells an die Anforderungen an.
Überwachen siedie Modellleistung: Überwachen Sie die Leistung Ihrer bereitgestellten Modelle. Wenn Sie die Leistung von Modellen in der Produktion verfolgen, werden Sie bei potenziellen Problemen wie Datendrift, Vorhersageabweichung, Datenqualität und Featurezuordnungsabweichung benachrichtigt.

Die Überwachung der Datenabweichung hilft Ihnen, Änderungen der Eingabedaten zu erkennen, die zu einem Rückgang der Leistung Ihres Modells führen können. Durch die Verwaltung von Datenabweichungen können Sie sicherstellen, dass Ihr Modell im Laufe der Zeit genaue Ergebnisse liefert.
Überwachen Sie die Infrastruktur: Überwachen Sie Onlineendpunkte und integrieren Sie sie in Monitor, um die entsprechenden Metriken und Protokolle nachzuverfolgen und zu überwachen. Aktivieren Sie Application Insights beim Erstellen von Onlinebereitstellungen.

Überwachen Sie die Schulungsinfrastruktur und überprüfen Sie die Ressourcenauslastung wie Arbeitsspeicher sowie CPU- oder GPU-Nutzung beim Trainieren von Modellen, um sicherzustellen, dass Ihre grundlegenden Anforderungen erfüllt werden.
Mithilfe von Überwachungsendpunkten erhalten Sie Einblicke in Metriken wie Anforderungslatenz und Anforderungen pro Minute. Sie können Ihre Leistung im Vergleich zu Ihrem Basisplan vergleichen und diese Informationen verwenden, um Änderungen an der Berechnung von Ressourcen vorzunehmen. Überwachungsmetriken wie Netzwerkbytes können Sie benachrichtigen, wenn Sie Kontingentbeschränkungen erreichen und Drosselung verhindern.

Ebenso bietet Ihnen die Überwachung Ihrer Schulungsumgebung die Informationen, um Änderungen an Ihrer Schulungsumgebung vorzunehmen. Verwenden Sie diese Informationen, um zu entscheiden, ob Sie ein- oder ausgehend skalieren, nach oben oder unten skalieren mit unterschiedlichen leistungsfähigen SKUs, oder zwischen CPUs und GPUs wählen.

Azure-Richtlinien

Azure bietet einen umfassenden Satz integrierter Richtlinien im Zusammenhang mit Machine Learning und seinen Abhängigkeiten. Einige der vorstehenden Empfehlungen können über Azure-Richtlinien überwacht werden. Berücksichtigen Sie die folgenden Richtlinien, die sich auf die Sicherheit beziehen:

Berücksichtigen Sie die folgende Richtlinie, die sich auf die Kostenoptimierung bezieht:

Berücksichtigen Sie die folgenden Richtlinien, die sich auf operative Exzellenz beziehen:

Überprüfen Sie für eine umfassende Governance die integrierten Azure-Richtliniendefinitionen für Maschinelles Lernen.

Advisor-Empfehlungen

Advisor ist ein personalisierter Cloudberater, der Ihnen hilft, bewährte Methoden zur Optimierung Ihrer Azure-Bereitstellungen zu befolgen. Empfehlungen von Ratgebern können Ihnen helfen, die Zuverlässigkeit, Sicherheit, Kosteneffizienz, Leistung und operative Exzellenz von Machine Learning zu verbessern.

Beachten Sie die folgenden Empfehlungen für Ratgeber für Sicherheit:

  • Arbeitsbereiche sollten mit einem vom Kunden verwalteten Schlüssel (CMK) verschlüsselt werden.
  • Arbeitsbereiche sollten einen privaten Link verwenden.
  • Arbeitsbereiche sollten den öffentlichen Netzwerkzugriff deaktivieren.
  • Compute sollte sich in einem virtuellen Netzwerk befinden.
  • Computeinstanzen sollten neu erstellt werden, um die neuesten Softwareupdates zu erhalten.

Beachten Sie die folgende Empfehlung des Beraters für operative Exzellenz:

  • Ressourcenprotokolle in Machine Learning-Arbeitsbereichen sollten aktiviert sein.

Nächste Schritte

Betrachten Sie diese Artikel als Ressourcen, die die in diesem Artikel hervorgehobenen Empfehlungen veranschaulichen.