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.
Gilt für: ✔️ AKS Automatic ✔️ AKS Standard
In diesem Artikel erfahren Sie mehr über Machine Learning Operations (MLOps), einschließlich der Verfahren und Tools, und wie Ihre KI- und Machine Learning-Workflows in Azure Kubernetes Service (AKS) dadurch vereinfacht und beschleunigt werden können.
AKS-Clustermodi für MLOps
AKS unterstützt zwei Clustermodi: AKS Automatic and AKS Standard. Wählen Sie AKS Automatic aus, wenn Sie eine produktionsbereite Grundkonfiguration mit weniger laufendem Plattformmanagement wünschen. Wählen Sie AKS Standard aus, wenn Sie eine tiefere Kontrolle über die Clusterinfrastruktur- und Plattformkonfiguration benötigen.
Die MLOps-Lebenszykluskonzepte in diesem Artikel gelten für beide Modi. Die Implementierungsverantwortung unterscheidet sich jedoch vom Modus: AKS Automatic bietet mehr vorkonfigurierte Standardwerte, während AKS Standard in der Regel explizitere Plattformkonfiguration und Lebenszyklusbesitz erfordert.
| Area | AKS Automatik | AKS Standard |
|---|---|---|
| Grundkonfiguration des Clusters | Weitere vorkonfigurierte Standardwerte | Explizitere Einrichtungsoptionen |
| Systemknotenpoolvorgänge | Weitere vom Dienst verwaltete Verhaltensweisen | Weiteres vom Betreiber verwaltetes Verhalten |
| Kontrollen der Sicherheitsbasislinie | Mehrere Steuerelemente sind in gängigen Szenarien vorkonfiguriert. | Steuerelemente werden häufig von Operatoren aktiviert und verwaltet. |
| Netzwerkbasisplan | Vordefinierte Standardwerte für gängige Muster | Umfassendere Netzwerkkonfigurationsflexibilität |
| Vorgänge und Upgrades | Mehr verwaltetes Betriebsverhalten | Weiteres vom Bediener gesteuertes Verhalten |
| Fokus der MLOps-Implementierung | Validieren, verwalten und Standardwerte optimieren | Entwerfen und Konfigurieren von Plattformsteuerelementen |
Was ist MLOps?
Machine Learning Operations (MLOps) umfasst Verfahren, die die Zusammenarbeit zwischen wissenschaftlichen Fachkräften für Daten, IT-Betriebsteams und Beteiligten im Unternehmen erleichtern, um sicherzustellen, dass Machine Learning-Modelle effizient entwickelt, bereitgestellt und verwaltet werden. MLOps wendet DevOps-Prinzipien auf Machine Learning-Projekte an, um den gesamten Machine Learning-Lebenszyklus zu automatisieren und zu optimieren. Dieser Lebenszyklus umfasst das Trainieren, Packen, Validieren, Bereitstellen, Überwachen und erneute Trainieren von Modellen.
MLOps erfordert, dass mehrere Rollen und Tools effektiv zusammenarbeiten. Data Scientists konzentrieren sich auf Aufgaben im Zusammenhang mit der Schulung des Modells, die als innere Schleife bezeichnet wird. Machine Learning-Techniker und IT-Betriebsteams behandeln die äußere Schleife, in der sie DevOps-Praktiken anwenden, um Modelle zu packen, zu validieren, bereitzustellen und zu überwachen. Wenn das Modell optimiert oder erneut trainiert werden muss, wird der Prozess wieder in die innere Schleife verlagert.
Diese Lebenszyklusschritte sind in allen AKS-Clustermodi konsistent. Der Hauptunterschied besteht darin, wie viel Plattformsetup und Betriebskonfiguration Ihre Teams direkt verwalten.
MLOps-Pipeline
Ihre MLOps-Pipeline kann verschiedene Tools und Microservices nutzen, die sequenziell oder parallel bereitgestellt werden. Nachfolgend finden Sie Beispiele für wichtige Komponenten in Ihrer Pipeline, die von der Implementierung der folgenden Best Practices profitieren, um den Aufwand zu reduzieren und eine schnellere Iteration zu ermöglichen:
- Unstrukturierter Datenspeicher für neue Daten, die in Ihrer Anwendung eingehen
- Vektordatenbank zum Speichern und Abfragen strukturierter, vorverarbeiteter Daten
- Datenerfassungs- und -indizierungsframework
- Workflows für Vektorerfassung oder erneutes Modelltraining
- Metriksammlungs- und -warnungstools (Nachverfolgung der Modellleistung, Menge erfasster Daten usw.)
- Lebenszyklusverwaltungstools
Diese Pipelinekomponenten sind sowohl für AKS Automatic als auch für AKS Standard relevant. Die Modusauswahl wirkt sich in erster Linie auf Plattformbesitzgrenzen und nicht auf Pipelineabsicht aus.
DevOps und MLOps
DevOps ist eine Kombination aus Tools und Methoden, mit denen Sie zuverlässige und reproduzierbare Anwendungen erstellen können. Das Ziel der Verwendung von DevOps besteht darin, Ihren Endbenutzern schnell einen Mehrwert zu bieten. Das Erstellen, Bereitstellen und Überwachen zuverlässiger und reproduzierbarer Modelle, um Endbenutzern einen Mehrwert zu bieten, ist das Hauptziel von MLOps.
Es gibt drei Prozesse, die für MLOps unerlässlich sind:
- Machine-Learning-Workloads, für die ein Data Scientist verantwortlich ist, einschließlich explorativer Datenanalyse (EDA), Feature Engineering sowie Modelltraining und -optimierung.
- Verfahren für die Softwareentwicklung einschließlich Planung, Entwicklung, Test und Packen des Modells für die Bereitstellung
- Betriebliche Aspekte der Bereitstellung und Pflege des Modells in der Produktion, einschließlich das Freigeben und Konfigurieren von Ressourcen sowie das Überwachen des Modells.
In AKS Automatic können Teams häufig weniger Aufwand für das allgemeine Plattformsetup und mehr für die Richtlinien-, Qualitäts- und Modelllebenszyklus-Orchestrierung aufwenden. In AKS Standard führen Teams in der Regel explizitere Plattformdesign und -konfiguration durch.
DevOps-Prinzipien, die für MLOps gelten
MLOps nutzt mehrere Prinzipien von DevOps, um den Lebenszyklus des maschinellen Lernens zu verbessern, z. B. Automatisierung, Continuous Integration und Continuous Delivery (CI/CD), Quellcodeverwaltung, agile Planungund Infrastructure-as-Code (IaC).
Automatisierung
Durch die Automatisierung von Aufgaben können Sie manuelle Fehler reduzieren, die Effizienz steigern und die Konsistenz im gesamten ML-Lebenszyklus sicherstellen. Automatisierung kann auf verschiedene Phasen angewendet werden, einschließlich Datensammlung, Modelltraining, Bereitstellung und Überwachung. Mithilfe der Automatisierung können Sie auch proaktive Maßnahmen in der KI-Pipeline anwenden, um die Datenkonformität mit den Richtlinien Ihrer Organisation sicherzustellen.
Ihre Pipeline kann beispielsweise Folgendes automatisieren:
- Modelloptimierung/erneutes Modelltraining in regelmäßigen Zeitintervallen oder wenn eine bestimmte Menge neuer Daten in Ihrer Anwendung gesammelt wird
- Erkennung von Leistungsbeeinträchtigungen zum Einleiten der Optimierung oder des erneuten Trainings mit einer anderen Teilmenge von Daten
- CVE-Scans von Basis-Container-Images, die aus externen Container-Registries abgerufen werden, zur Gewährleistung sicherer Sicherheitspraktiken.
In beiden AKS-Clustermodi sollten zusätzlich zu Auslösern für die Modellqualität auch Automatisierung für die Richtlinienvalidierung, die Erkennung von Konfigurationsabweichungen und die Release-Governance einbezogen werden.
Kontinuierliche Integration (CI)
Continuous Integration umfasst die Erstellung und Überprüfung der Aspekte des Modellentwicklungsprozesses. Das Ziel von CI besteht darin, den Code zu erstellen und die Qualität des Codes und des Modells vor der Bereitstellung zu überprüfen. Dies umfasst Tests basierend auf einer Reihe von Beispieldatensätzen, um sicherzustellen, dass das Modell erwartungsgemäß funktioniert und Qualitätsstandards erfüllt.
In MLOps kann CI Folgendes umfassen:
- Refactoring von explorativem Code in Jupyter-Notebooks zu Python- oder R-Skripten.
- Überprüfen neuer Eingabedaten auf fehlende oder fehlerhafte Werte
- Komponententests und Integrationstests in der gesamten Pipeline
Zum Ausführen von Linting- und Komponententests können Sie Automatisierungstools wie Azure Pipelines in Azure DevOps oder GitHub Actions verwenden.
In AKS Automatic überprüft CI häufig Artefakte anhand der erwarteten Plattformstandardwerte. In AKS Standard überprüft CI häufig Annahmen anhand explizit konfigurierter Plattformeinstellungen.
Continuous Delivery (CD)
Continuous Delivery umfasst die Schritte, die zur sicheren Bereitstellung eines Modells in der Produktion erforderlich sind. Der erste Schritt besteht darin, das Modell in Präproduktionsumgebungen zu packen und bereitzustellen, z. B. Entwicklungs- und Testumgebungen. Die Portabilität von Parametern, Hyperparametern und anderen Modellartefakten ist ein wichtiger Aspekt, der erhalten bleiben sollte, wenn Sie den Code durch diese Umgebungen befördern. Diese Portabilität ist besonders wichtig, wenn es um große Sprachmodelle (LLMs) und stabile Diffusionsmodelle geht. Sobald das Modell die Komponententests und QA-Tests (Quality Assurance) bestanden hat, können Sie es für die Bereitstellung in der Produktionsumgebung genehmigen.
Heraufstufungspraktiken sind in beiden AKS-Clustermodi ähnlich, aber AKS Standard-Pipelines enthalten häufig mehr infrastrukturspezifische Überprüfungen vor der Veröffentlichung.
Quellcodeverwaltung
Die Quellcodeverwaltung oder Versionskontrolle ist für die Verwaltung von Änderungen an Code und Modellen unerlässlich. In einem ML-System bezieht sich dies auf Datenversionsverwaltung, Codeversionsverwaltung und Modellversionsverwaltung, wodurch funktionsübergreifende Teams effektiv zusammenarbeiten und Änderungen im Laufe der Zeit nachverfolgen können. Mithilfe eines Git-basierten Quellcodeverwaltungssystems wie Azure Repos in Azure DevOps oder einem GitHub-Repository können Sie programmgesteuert einen Verlauf der Änderungen verwalten, zu früheren Versionen zurückkehren und Branches für verschiedene Experimente verwalten.
Agile Planung
Agile Planung umfasst das Isolieren von Arbeit in Sprints, die kurze Zeitrahmen für das Ausführen bestimmter Aufgaben sind. Dieser Ansatz ermöglicht es Teams, sich schnell an Änderungen anzupassen und inkrementelle Verbesserungen am Modell bereitzustellen. Das Modelltraining kann ein fortlaufender Prozess sein, und agile Planung kann dazu beitragen, den Projektumfang zu bestimmen und die Teams besser aufeinander einzustimmen.
Sie können Tools wie Azure Boards in Azure DevOps oder GitHub-Issues verwenden, um Ihre agile Planung zu verwalten.
Infrastruktur als Code (IaC)
Sie verwenden Infrastructure-as-Code, um die Infrastruktur zu wiederholen und zu automatisieren, die erforderlich ist, um Ihre Modelle zu trainieren, bereitzustellen und zu verwalten. In einem ML-System hilft IaC dabei, die für den spezifischen Auftragstyp im Code erforderlichen Azure-Ressourcen zu vereinfachen und zu definieren, und der Code wird in einem Repository verwaltet. Auf diese Weise können Sie die Versionskontrolle für Ihre Infrastruktur verwalten und Änderungen an der Ressourcenoptimierung, Kosteneffizienz usw. nach Bedarf vornehmen.
In AKS Automatic liegt der Schwerpunkt von IaC häufig auf Workload-Definitionen, Governance-Kontrollen und der Konsistenz der Umgebung. In AKS Standard umfasst IaC häufig eine breitere explizite Cluster- und Plattformkonfiguration.
Verwandte Inhalte
In den folgenden Artikeln erfahren Sie mehr über Best Practices für MLOps in Ihren intelligenten Anwendungen in AKS: