KI und ML – Zuverlässigkeit

Dieses Dokument in Well-Architected Framework: AI and MLperspektive bietet einen Überblick über die Prinzipien und Empfehlungen für den Entwurf und den Betrieb zuverlässiger KI- und ML-Systeme auf Google Cloud. Es wird gezeigt, wie Sie erweiterte Zuverlässigkeitspraktiken und Beobachtbarkeit in Ihre Architekturpläne einbinden können. Die Empfehlungen in diesem Dokument entsprechen der Säule der Zuverlässigkeit des Google Cloud beeindruckenden Frameworks.

In der sich schnell entwickelnden KI- und ML-Umgebung sind zuverlässige Systeme für die Kundenzufriedenheit und das Erreichen von Geschäftszielen unerlässlich. Sie benötigen KI- und ML-Systeme, die robust, zuverlässig und anpassbar sind, um die besonderen Anforderungen von ML-Vorhersagen und generativer KI zu erfüllen. Zur Bewältigung der Komplexität von MLOps – von der Entwicklung über die Bereitstellung bis hin zur kontinuierlichen Verbesserung – müssen Sie einen zuverlässigen Ansatz verfolgen. Google Cloud bietet eine maßgeschneiderte KI-Infrastruktur, die sich an den Prinzipien des Site Reliability Engineering (SRE) orientiert und eine leistungsstarke Grundlage für zuverlässige KI- und ML-Systeme bietet.

Sicherstellen, dass die Infrastruktur skalierbar und hochverfügbar ist

Durch eine auf Skalierbarkeit und Verfügbarkeit ausgelegte Architektur können Ihre Anwendungen unterschiedliche Nachfrageschwankungen ohne Dienstunterbrechungen oder Leistungseinbußen bewältigen. Das bedeutet, dass Ihre KI-Dienste Nutzern auch bei Infrastrukturausfällen und bei hohem Traffic weiterhin zur Verfügung stehen.

Beachten Sie die folgenden Empfehlungen:

  • Gestalten Sie Ihre KI-Systeme mit automatischen und dynamischen Skalierungsfunktionen, um Nachfrageschwankungen zu bewältigen. So lässt sich auch bei Traffic-Spitzen eine optimale Leistung erzielen.
  • Ressourcen proaktiv verwalten und durch Lasttests und Leistungsüberwachung zukünftige Anforderungen vorhersehen. Verwenden Sie historische Daten und Vorhersageanalysen, um fundierte Entscheidungen über die Ressourcenzuweisung zu treffen.
  • Achten Sie bei der Entwicklung auf Hochverfügbarkeit und Fehlertoleranz, indem Sie die Archetypen für die Bereitstellung über mehrere Zonen und Regionen in Google Cloud anwenden und Redundanz und Replikation implementieren.
  • Verteilen Sie eingehenden Traffic auf mehrere Instanzen Ihrer KI- und ML-Dienste und -Endpunkte. Mit Load-Balancing wird eine Überlastung einzelner Instanzen verhindert und eine konsistente Leistung und Verfügbarkeit gewährleistet.

Modulare und lose gekoppelte Architektur verwenden

Verwenden Sie eine modulare Architektur, um Ihre KI-Systeme vor Ausfällen einzelner Komponenten zu schützen. Sie können beispielsweise die Komponenten für die Datenverarbeitung und die Datenvalidierung als separate Module entwerfen. Wenn eine bestimmte Komponente ausfällt, hilft die modulare Architektur, Ausfallzeiten zu minimieren und Ihren Teams die schnelle Entwicklung und Bereitstellung von Korrekturen zu ermöglichen.

Beachten Sie die folgenden Empfehlungen:

  • Teilen Sie Ihr KI- und ML-System in kleine, eigenständige Module oder Komponenten auf. Dieser Ansatz fördert die Wiederverwendbarkeit von Code, vereinfacht das Testen und die Wartung und ermöglicht es Ihnen, einzelne Komponenten unabhängig zu entwickeln und bereitzustellen.
  • Entwerfen Sie die lose gekoppelten Module mit klar definierten Schnittstellen. Bei diesem Ansatz werden Abhängigkeiten minimiert und Sie können unabhängige Aktualisierungen und Änderungen vornehmen, ohne das gesamte System zu beeinträchtigen.
  • Planen Sie Graceful Degradation ein. Wenn eine Komponente ausfällt, müssen die anderen Teile des Systems weiterhin eine angemessene Funktionalität bieten.
  • Verwenden Sie APIs, um klare Grenzen zwischen Modulen zu setzen und die Implementierungsdetails auf Modulebene auszublenden. Mit diesem Ansatz können Sie einzelne Komponenten aktualisieren oder ersetzen, ohne die Interaktionen mit anderen Teilen des Systems zu beeinträchtigen.

Automatisierte MLOps-Plattform erstellen

Mit einer automatisierten MLOps-Plattform sind die Phasen und Ausgaben Ihres Modelllebenszyklus zuverlässiger. Wenn Sie Konsistenz, lose Kopplung und Modularität fördern und Vorgänge und Infrastruktur als Code ausdrücken, vermeiden Sie instabile manuelle Schritte und pflegen KI- und ML-Systeme, die robuster und zuverlässiger sind.

Beachten Sie die folgenden Empfehlungen:

  • Automatisieren Sie den Modellentwicklungszyklus, von der Datenvorbereitung und -validierung bis hin zum Modelltraining, zur Bewertung, Bereitstellung und zum Monitoring.
  • Verwalten Sie Ihre Infrastruktur als Code (IaC). Dieser Ansatz ermöglicht eine effiziente Versionsverwaltung, schnelle Rollbacks bei Bedarf und wiederholbare Bereitstellungen.
  • Prüfen Sie mit relevanten Daten, ob sich Ihre Modelle wie erwartet verhalten. Automatisieren Sie die Leistungsüberwachung Ihrer Modelle und richten Sie geeignete Benachrichtigungen für unerwartete Ausgaben ein.
  • Validieren Sie die Ein- und Ausgaben Ihrer KI- und ML-Pipelines. Sie können beispielsweise Daten, Konfigurationen, Befehlsargumente, Dateien und Vorhersagen validieren. Konfigurieren Sie Benachrichtigungen für unerwartete oder unzulässige Werte.
  • Setzen Sie eine verwaltete Strategie zur Versionsverwaltung für Ihre Modellendpunkte ein. Diese Art von Strategie ermöglicht inkrementelle Releases und eine schnelle Wiederherstellung im Falle von Problemen.

Vertrauen und Kontrolle durch Daten- und Modell-Governance wahren

Die Zuverlässigkeit von KI- und ML-Systemen hängt von den Vertrauens- und Governance-Fähigkeiten Ihrer Daten und Modelle ab. KI-Ausgaben erfüllen die Erwartungen möglicherweise nicht im Hintergrund. Die Ausgaben können beispielsweise formal konsistent sein, aber falsch oder unerwünscht sein. Durch die Implementierung von Rückverfolgbarkeit und strikter Governance können Sie dafür sorgen, dass die Ausgaben zuverlässig und vertrauenswürdig sind.

Beachten Sie die folgenden Empfehlungen:

  • Verwenden Sie einen Daten- und Modellkatalog, um Ihre Assets effektiv zu verfolgen und zu verwalten. Erstellen Sie während des gesamten Lebenszyklus eine umfassende Aufzeichnung der Daten und Modellversionen, um Tracing und Audits zu vereinfachen.
  • Implementieren Sie strenge Zugriffssteuerungen und Audit-Trails zum Schutz sensibler Daten und Modelle.
  • Verzerrungen in der KI angehen, insbesondere bei generativen KI-Anwendungen Streben Sie Transparenz und Erklärbarkeit in Modellausgaben an, um Vertrauen aufzubauen.
  • Automatisieren Sie das Generieren von Featurestatistiken und implementieren Sie die Anomalieerkennung, um Datenprobleme proaktiv zu identifizieren. Richten Sie Mechanismen ein, mit denen die Auswirkungen von Änderungen bei der Datenverteilung erkannt und gemindert werden können, um die Modellzuverlässigkeit zu gewährleisten.

Ganzheitliche Verfahren zur Beobachtbarkeit und Zuverlässigkeit von KI und ML implementieren

Um Ihre KI-Vorgänge kontinuierlich zu verbessern, müssen Sie aussagekräftige Zuverlässigkeitsziele definieren und den Fortschritt messen. Beobachtbarkeit ist ein Grundelement zuverlässiger Systeme. Beobachtbarkeit ermöglicht es Ihnen, laufende Vorgänge und kritische Ereignisse zu verwalten. Eine gut implementierte Beobachtbarkeit hilft Ihnen, einen zuverlässigen Dienst für Ihre Nutzer zu erstellen und zu verwalten.

Beachten Sie die folgenden Empfehlungen:

  • Verfolgen Sie Infrastrukturmesswerte für Prozessoren (CPUs, GPUs und TPUs) und für andere Ressourcen wie Arbeitsspeichernutzung, Netzwerklatenz und Laufwerksnutzung. Führen Sie Belastungstests und Leistungsüberwachung durch. Verwenden Sie die Testergebnisse und -messwerte aus dem Monitoring, um die Skalierung und Kapazität Ihrer KI- und ML-Systeme zu verwalten.
  • Legen Sie Zuverlässigkeitsziele fest und verfolgen Sie Anwendungsmesswerte. Messen Sie Messwerte wie Durchsatz und Latenz für die von Ihnen erstellten KI-Anwendungen. Überwachen Sie die Nutzungsmuster Ihrer Anwendungen und der bereitgestellten Endpunkte.
  • Richten Sie modellspezifische Messwerte wie Genauigkeit oder Sicherheitsindikatoren ein, um die Modellzuverlässigkeit zu bewerten. Verfolgen Sie diese Messwerte im Zeitverlauf, um Abweichungen oder Verschlechterungen zu erkennen. Für eine effiziente Versionsverwaltung und Automatisierung sollten Sie die Monitoringkonfigurationen als Code definieren.
  • Definieren und verfolgen Sie Messwerte auf Geschäftsebene, um die Auswirkungen Ihrer Modelle und ihrer Zuverlässigkeit auf Geschäftsergebnisse zu verstehen. Um die Zuverlässigkeit Ihrer KI- und ML-Dienste zu messen, sollten Sie einen SRE-Ansatz verfolgen und Service Level Objectives (SLOs) definieren.

Beitragende

Autoren:

Weitere Beitragende: