AI-Workloadvorgänge in Azure
Wenn Sie Ihre KI-Workloads in die Produktion erstellen und übertragen, ist es wichtig, dass Ihre Betriebsteams voll ausgestattet sind, um diese Workloads wie jede andere Produktionsauslastung zu unterstützen. Da Ihre Betriebsteams möglicherweise eingeschränkte Erfahrungen mit KI-Technologien haben, ist es wichtig, diese Technologien zu schulen und die KI-Workloads frühzeitig in ihre Workflows zu integrieren. Bringen Sie Betriebs- und Datenteams frühzeitig zusammen, um das gegenseitige Verständnis der Prozesse jedes Teams zu fördern. Diese frühzeitige Zusammenarbeit ist entscheidend, da beide Teams eng zusammenarbeiten müssen, um die KI-Arbeitsauslastung effektiv zu unterstützen. Datenteams sind von Betriebsteams abhängig, um zuverlässige Gesundheitssignale und umsetzbare Warnungen bereitzustellen. Betriebsteams sind von Datenteams abhängig, um potenzielle Probleme zu diagnostizieren und tatsächliche Probleme gemäß betrieblichen Standards zu lösen. Diese Partnerschaft trägt dazu bei, eine reibungslose und effiziente Systemleistung sicherzustellen.
Dieser Leitfaden enthält Empfehlungen für die Entwicklung von betriebstechnischen Mechanismen und Methoden zur Verbesserung der Unterstützung für KI-Workloads. Es hebt die effiziente Zusammenarbeit zwischen Vorgängen und Datenteams hervor.
Empfehlungen
Hier ist die Zusammenfassung der Empfehlungen in diesem Artikel.
Empfehlung | Beschreibung |
---|---|
Überwachen Sie alle Aspekte Ihrer Workload. | Während viele allgemeine Überwachungs- und Beobachtbarkeitsbedenken auch für KI-Workloads gelten, gibt es spezifische Überlegungen, die Sie durcharbeiten müssen, um sicherzustellen, dass die gesamte Workload jederzeit angemessen überwacht wird. Um Ihre Monitoring- und Observability-Strategie zu erstellen, müssen Sie möglicherweise in verschiedenen Teams zusammenarbeiten, um die richtige Expertise zu erhalten und alle relevanten Modi und Metriken abzudecken. ▪ Erweitern der Observability-Plattform |
Wenden Sie sichere Bereitstellungspraktiken auf Ihre KI-Workload an. | Ergreifen Sie Schritte, um die höchste Sicherheitsstufe rund um sensible Produktionsdaten zu gewährleisten und Bereitstellungsansätze mit Null-Ausfallzeit-Anforderungen auszurichten. Verwenden Sie bei Bedarf die geeigneten Tools, und legen Sie einen Schwerpunkt darauf, tools und Prozesse, die bereits vorhanden sind, nicht neu zu erfinden. Häufig können Sie etablierte Dienste verwenden, um ein hohes Maß an Effizienz zu erzielen und gleichzeitig sichere Bereitstellungen zu ermöglichen. ▪ Einschließen von KI-Workload-Komponenten in Ihre sicheren Bereitstellungsmethoden |
Nutzen Sie DevOps-Methoden zum Testen und Automatisieren. | Wenden Sie DevOps-Methoden beim Erstellen, Bereitstellen und Betreiben Ihrer KI-Arbeitsauslastung in der Produktion an. Ihre Workload sollte die Observability und Tests mit realen Benutzereingaben in der Produktion ermöglichen. Dies kann nur sicher bereitgestellt werden, wenn ein starker DevOps-Prozess und eine optimierte Automatisierung schnelle Bereitstellungen, Fehlerkorrekturen und A/B-Tests ermöglichen. ▪ Unterstützung von Tests in der Produktion ▪ Automatisieren von Betriebspraktiken nach Möglichkeit ▪ DevOps-Methoden nutzen |
Dokumentieren Sie Ihren Fortschritt. | Erstellen Sie von Anfang an gute Dokumentationsgewohnheiten, um die Erfassung strategischer Entscheidungen, der Änderungshistorie und der wichtigsten Informationen zu den Daten zu ermöglichen, die Ihre Workload verwendet. ▪ Bewährte Dokumentationspraktiken einführen |
Erweitern der Observability-Plattform
Um operative Exzellenz zu erreichen, ist eine robuste Observierbarkeit unerlässlich. Wenn Ihre Organisation KI-Technologien einnimmt, ist es entscheidend, dass Sie Ihre Observability-Plattform verbessern, um eine umfassende Überwachung der Arbeitsauslastungsintegrität sicherzustellen. Organisationen, die mit KI noch nicht mit Big Data, Data Science und DataOps-Kenntnissen in ihrem Betriebsteam arbeiten, fehlen möglicherweise. Daher ist die Schulung zu den betrieblichen bewährten Methoden ein wichtiger erster Schritt, um Ihre Observability-Plattform zu verbessern. Aus diesem Grund sollten Vorgänge und Datenteams zusammenarbeiten, um die richtigen Überwachungs- und Metrikmodi zu ermitteln, die erfasst und analysiert werden sollen.
Um die Integrität eines Modells zu bewerten, ist eine umfassende Übersicht über die spezifischen Qualitätsmetriken erforderlich. Qualitätsmessungen umfassen in der Regel Metriken wie Modell-Aktualität, Ausgabekorrektur und Antwortlatenz. Sie sollten jedoch mit Datenwissenschaftlern und Ingenieuren zusammenarbeiten, um die spezifischen Metriken festzulegen, die die Qualität Ihrer Workload definieren. Die nicht unbestimmte Natur von KI-Workloads macht eine wachsame Überwachung der Qualität besonders wichtig, da sich diese Messungen nach der Bereitstellung jederzeit unerwartet ändern können. Zu den Empfehlungen für die Observierbarkeit gehören:
Arbeiten Sie mit Datenwissenschaftlern und Ingenieuren zusammen, um Qualitätsmetriken zu bestimmen.
Erstellen oder erweitern Sie Dashboards, um die Gesamtintegrität der Workload zu bewerten. Dieser Ansatz sollte Komponentenverfügbarkeitsmetriken und Qualitätsmetriken enthalten.
Implementieren Sie gut gestaltete Verfügbarkeits- und Qualitätswarnungen, die die Betriebsteams verstehen und ergreifen können.
Codieren Sie Standardbetriebsverfahren, die definieren, wie Betriebsteams auf Qualitätswarnungen reagieren, z. B. mit Datenteams, um potenzielle Fehlfunktionen zu untersuchen und zu beheben.
Achten Sie genau auf Die Nutzungsmetriken, da es kostenintensiv sein kann, KI-Workloads auszuführen. Die Kosten können schnell wachsen, wenn das Arbeitsauslastungsteam ressourcen nicht heruntergefahren, herunterskaliert oder zugeordnet wird, wenn sie nicht verwendet werden. Vorgänge können sicherstellen, dass die Kosten durch überwachung der Auslastung innerhalb der erwarteten Parameter verbleiben.
Einschließen von KI-Workload-Komponenten in Ihre sicheren Bereitstellungsmethoden
KI-Workloads sind von Produktionsdaten abhängig, die häufig vertrauliche Informationen enthalten. Daher ist es wichtig, die höchste Sicherheit bei diesen Workloads aufrechtzuerhalten. Um Ihre Daten zu schützen, erweitern Sie Ihre sicheren Bereitstellungspraktiken , um den gesamten Code einzuschließen, der sich auf die KI-Komponenten Ihrer Workload bezieht. Wenn Für Ihre Workload keine Ausfallzeiten erforderlich sind, entwerfen Sie ihren Bereitstellungsansatz für die KI-Komponenten entsprechend.
Verwenden Sie für die Ableitung von Endpunkten je nach Bereitstellungsmodell Blaugrün oder Canarybereitstellungen mit oder ohne Datenverkehrsspiegelung.
Verwenden Sie für die Indexbereitstellung ein paralleles Bereitstellungsmodell mit Aliasupdates, um den Datenverkehr zu reduzieren.
Verwenden Sie zum Orchestrierungscode Featurekennzeichnungen oder blaugrüne Bereitstellungen.
Je nach Anwendung, Datenplattform und spezifischer Netzwerktopologie müssen Sie möglicherweise eine Gatewaylösung verwenden, z. B. Azure-App lizenzierungsgateway oder Azure Front Door.
Extras
Azure Machine Learning unterstützt blaugrüne Bereitstellungen nativ mit integrierter Datenverkehrsteilung.
Erfinden Sie das Rad nicht neu
Da es sich bei den Online-Ableitungsendpunkten im Wesentlichen um Mikroservices handelt, funktionieren sie als vollständig eigenständige Workloadkomponenten mit eigenen Daten und Code, die eine bestimmte Funktion im Workflow erfüllen. Aus diesem Grund behandeln Sie Online-Inferencing-Endpunkte wie andere kritische Mikroservices, die ihre eigenen Lebenszyklen aufweisen. Sie können Online-Ableitungsendpunkte einzeln aktualisieren. Wie andere Microservices in einer größeren Arbeitsauslastung müssen sie jedoch nahtlos zusammenarbeiten. Daher sollten Sie integrationstests priorisieren, wenn Sie Updates bereitstellen. Stellen Sie sicher, dass Ihre Bereitstellungen keine negativen Auswirkungen auf andere Dienste haben, z. B. modellbasiertes Bereitstellen und Orchestrator. Alternativ werden Batch-Ableitungsendpunkte häufig eng mit der Auftragsverarbeitungsberechnung verknüpft und in die Datenpipeline einbezogen. Behandeln Sie sie in diesen Fällen als Teil einer größeren Lösung anstelle von Microservices.
Unterstützung von Tests in der Produktion
Die Betriebsteams werden wahrscheinlich keine KI-Workloadtests entwerfen oder durchführen. Sie müssen jedoch KI-Workloadtests durch Überwachung, Warnung und Untersuchung unterstützen, da Tests in der Produktion erforderlich sind. Aufgrund der nicht deterministischen Natur der KI ist das Testen in der Produktion erforderlich, um sicherzustellen, dass die Arbeitsauslastung im Laufe der Zeit wie erwartet funktioniert. Das Betriebsteam sollte eng mit dem Workloadteam zusammenarbeiten, um ungewöhnliche Testergebnisse effizient und gemäß den betrieblichen Standards zu erfassen und zu diagnostizieren. Um sicherzustellen, dass Vorgänge Tests unterstützen können und dass Arbeitsauslastungsteams Tests durchführen können, müssen beide Teams ihre Prozesse ausrichten, um zusammenzuarbeiten. Durch Schulungen zu Testaktivitäten in Nichtproduktionsumgebungen können Sie das Team mit der Reihenfolge der Vorgänge vertraut machen.
Automatisieren von Betriebspraktiken nach Möglichkeit
Automatisieren Sie alle Arbeitsauslastungspraktiken, einschließlich Überwachung, Warnungen und Testprozesse. Automatisierung ist eine primäre Strategie, um Prozesse wiederholbar, effizient und konsistent zu halten. Wenn Sie Ihre Automatisierungsstrategien entwerfen, müssen Sie die menschliche Aufsicht für Aktivitäten erfordern, z. B. die ordnungsgemäße Diagnose von Modellinkonsistenzen und anderen Qualitätssignalen. Dies gilt insbesondere für die ersten Versionen. Prozesse, die im Zusammenhang mit der Aufrechterhaltung des Modells stehen, sind für die Betriebsteams neu, sodass das Risiko einer unsachgemäßen Reaktion auf Qualitätssignale in diesem Stadium höher ist. Wenn Ihre Arbeitsauslastung reift, können Sie die Automatisierung möglicherweise verwenden, um falsche Alarme mit gut gestalteten Qualitätstoren zu identifizieren, aber zu diesem Punkt kann ein langer und komplexer Prozess sein.
Wenn möglich, verwenden Sie vorhandene Automatisierungstools, um neue Automatisierungsaufgaben für Ihre KI-Workload auszuführen. Wenn Sie beispielsweise bereits Azure Pipelines oder GitHub-Workflows verwenden, verwenden Sie sie weiterhin für die Bereitstellung von Orchestrierungscode, anstatt ein separates Tool zu verwenden. Vermeiden Sie jedoch die Überentwicklung, um nur ein Automatisierungstool zu verwenden. Wenn bestimmte Aufgaben oder Aufträge nicht gut für Ihr ausgewähltes Tool geeignet sind, wählen Sie ein geeigneteres Tool aus, anstatt eine benutzerdefinierte Lösung zu erstellen, die unnötige Komplexität hinzufügt.
Hinweis
Um die Workload vollständig zu unterstützen, sind viele überschneidende Rollen und Technologien erforderlich. Daten-, Infrastruktur-, Sicherheits- und Betriebsteams hängen in gewissem Umfang von der Automatisierung ab. Verwenden Sie die wenigen möglichen Tools, und standardisieren Sie sie, um die Automatisierungsstrategie überschaubar und einfacher zu trainieren.
DevOps-Methoden nutzen
Standardisieren Sie frühzeitig in ihrer Workloadentwicklung die Verwendung von DevOps-Methoden in Ihren Entwicklungsprozessen. Für alle Umgebungen neben Sandkastenumgebungen sollten streng definierte und erzwungene Standards den gesamten Entwicklungslebenszyklus regeln. Erzwingen Sie diese Standards durch striktes Verbot manueller Bereitstellungsaktivitäten. Alle Bereitstellungen, unabhängig davon, ob sie Updates, Patches oder neue Ressourcenbereitstellungen sind, müssen über eine kontinuierliche Integrations- und fortlaufende Bereitstellungspipeline erfolgen, die den sicheren Bereitstellungsmethoden entspricht. Zu den bewährten DevOps-Hygienepraktiken gehören:
Versionssteuerelement: Verwenden Sie die Versionssteuerung für alle Coderessourcen so weit wie möglich. Die Versionssteuerung ist ein Eckpfeiler von DevOps und guten Change Management-Praktiken und ist für eine reibungslose Zusammenarbeit von entscheidender Bedeutung. Wenden Sie die Versionssteuerung auf Bibliothekspakete an, einschließlich SDKs und Containerimages. Seien Sie konsistent bei der Verwendung einer bestimmten Version von Bibliothekspaketen im gesamten Lebenszyklus der Softwareentwicklung (SDLC). Verschiedene Versionen von Bibliotheken wie XGBoost oder Scikit-Learn in verschiedenen Entwicklungsumgebungen können Zu Abweichungen im Verhalten Ihrer Workload führen. Das gleiche gilt für die Modellversionsverwaltung. Stellen Sie sicher, dass Modellversionen in der gesamten SDLC konsistent sind, damit Sie keine Version des Modells in einer Vorproduktionsumgebung testen und eine andere Version in der Produktion freigeben.
Benennungsschema für einfache Versionen: Verwenden Sie ein einfaches Benennungsschema für Versionen, um sicherzustellen, dass Sie immer die zuletzt genehmigte Version eines bestimmten Asset verwenden. KI-spezifische Ressourcen können Folgendes umfassen:
- Notizbuchcode.
- Orchestrator-Code.
- Datenverarbeitungsauftragscode.
- Machine Learning-Auftragscode.
- Das -Modell
Tools, die Sie operationalisieren können: Einige Tools eignen sich hervorragend zum Experimentieren, sind aber nicht für die Operationalisierung konzipiert. Diese Einschränkung kann es schwierig oder unmöglich machen, sie in Ihre betriebstechnische Automatisierung zu integrieren. Notizbücher sind z. B. ein gutes Tool für Experimente und explorative Datenanalysen, aber sie sind kein gutes Tool für die Entwicklung von Produktionspipelinen. Wenn Sie Ihr Experiment abschließen, ziehen Sie die Logik aus diesen Tools heraus, und fügen Sie sie in ein Python-Paket ein, das Sie für Ihren Auftragscode verwenden können.
Bewährte Dokumentationspraktiken einführen
Gute Dokumentationsgewohnheiten sind für alle Arten von Workloads wichtig. Die Komplexität von KI-Workloads macht diese Gewohnheiten noch wichtiger. Stellen Sie sicher, dass Sie über ein Repository verfügen, das für Ihr Workloadteam spezifisch ist, in dem die Dokumentation sicher gespeichert und versionsgesteuert wird. Wie bei anderen Workloads sollten Sie Standardinformationen dokumentieren. Diese Standardinformationen umfassen alle Tools, die in der Workload, Sicherheitskonfigurationen, Netzwerkdesigns und Einrichtungshandbüchern verwendet werden. Erwägen Sie, die folgenden KI-spezifischen Workloadinformationen zu dokumentieren:
Modelltrainings- und Erdungsdatenindex-Informationen: Dokumentieren Sie Datenquellen, Besitzer von Datenquellen, Aktualisierungshäufigkeit und Bias-Eliminierungsprozesse, um zu ermitteln, wie das Modell trainiert und wie Bodenungsdaten verarbeitet werden.
Verlauf des Schulungsvorgangs: Details dazu, wie Sie zur aktuellen genehmigten Konfiguration gelangt sind, indem Sie dokumentieren, warum Sie bestimmte Hyperparameter, Temperaturen, Gewichte und andere Parameter ausgewählt haben. Geben Sie an, welche anderen Konfigurationen Sie getestet haben, und welche Verhaltensänderungen Sie während des gesamten Schulungsprozesses beobachtet haben. Diese Informationen verhindern die Wiederholung erfolgloser oder ineffizienter Konfigurationen.
Featurespeicherinformationen: Dokumentieren Sie, welche Features die beste Prädiktivleistung haben und wie Sie diese Bestimmung getroffen haben.
Konfiguration der Datenwissenschaftlerarbeitsstation: Dokumentieren Sie Arbeitsstationskonfigurationen gründlich, um den Onboardingprozess für Data Scientists zu optimieren. Geben Sie die erforderlichen Bibliotheken und Abhängigkeiten an, die für die Verwendung von Conda-Umgebungen erforderlich sind.
Datentransformationsinformationen: Dokumentieren Sie den gesamten Prozess von Anfang bis Ende, wenn die Datentransformation auftritt. Dokumentieren Sie, wie die Daten bei der Aufnahme angezeigt werden und wie sie nach der Transformation dargestellt werden.
Extras
Nutzen Sie die Vorteile der automatisierten Konfiguration und Verlaufserfassung durch MLFlow und Machine Learning.