KI und ML – Zuverlässigkeit

Last reviewed 2026-10-29 UTC

Dieses Dokument im Google Cloud Well-Architected Framework: KI- und ML-Perspektive bietet einen Überblick über die Prinzipien und Empfehlungen zum Entwerfen und Betreiben zuverlässiger KI- und ML-Systeme in Google Cloud. Es wird erläutert, wie Sie erweiterte Zuverlässigkeitsverfahren und Beobachtbarkeit in Ihre Architektur-Blueprints einbinden. Die Empfehlungen in diesem Dokument entsprechen der Säule „Zuverlässigkeit“ des Well-Architected Framework.

In der sich schnell entwickelnden KI- und ML-Landschaft sind zuverlässige Systeme unerlässlich, um die Kundenzufriedenheit zu gewährleisten und Geschäftsziele zu erreichen. Um die besonderen Anforderungen von prädiktivem ML und generativer KI zu erfüllen, benötigen Sie KI- und ML-Systeme, die robust, zuverlässig und anpassungsfähig sind. Um die Komplexität von MLOps von der Entwicklung über die Bereitstellung bis hin zur kontinuierlichen Verbesserung zu bewältigen, müssen Sie einen Ansatz verfolgen, bei dem die Zuverlässigkeit im Vordergrund steht. Google Cloud bietet eine speziell entwickelte KI-Infrastruktur, die auf den Prinzipien des Site Reliability Engineering (SRE) basiert und eine leistungsstarke Grundlage für zuverlässige KI- und ML-Systeme bietet.

Die Empfehlungen in diesem Dokument sind den folgenden Grundprinzipien zugeordnet:

Skalierbarkeit und Hochverfügbarkeit der ML-Infrastruktur sicherstellen

Zuverlässige KI- und ML-Systeme in der Cloud erfordern eine skalierbare und hochverfügbare Infrastruktur. Diese Systeme haben dynamische Anforderungen, unterschiedliche Ressourcenanforderungen und kritische Abhängigkeiten von der Modellverfügbarkeit. Skalierbare Architekturen passen sich an schwankende Lasten und Variationen im Datenvolumen oder bei Inferenzanfragen an. Hochverfügbarkeit (HA) trägt dazu bei, die Ausfallsicherheit auf Komponenten-, Zonen- oder Regionsebene zu gewährleisten.

Beachten Sie die folgenden Empfehlungen, um eine skalierbare und hochverfügbare ML-Infrastruktur zu erstellen.

Automatische und dynamische Skalierungsfunktionen implementieren

KI- und ML-Arbeitslasten sind dynamisch. Die Nachfrage schwankt je nach Datenankunftsrate, Trainingshäufigkeit und Volumen des Inferenz-Traffics. Durch die automatische und dynamische Skalierung werden Infrastrukturressourcen nahtlos an Nachfrageschwankungen angepasst. Durch die effektive Skalierung Ihrer Arbeitslasten können Sie Ausfallzeiten vermeiden, die Leistung aufrechterhalten und die Kosten optimieren.

Verwenden Sie die folgenden Produkte und Funktionen in Google Cloud, um Ihre KI- und ML-Arbeitslasten automatisch zu skalieren:

  • Datenverarbeitungspipelines: Erstellen Sie Datenpipelines in Dataflow. Konfigurieren Sie die Pipelines so, dass das horizontale Autoscaling-Feature von Dataflow verwendet wird. Dadurch wird die Anzahl der Worker-Instanzen dynamisch anhand der CPU-Auslastung, der Pipeline-Parallelität und der ausstehenden Daten angepasst. Sie können Autoscaling-Parameter über Pipelineoptionen konfigurieren, wenn Sie Jobs starten.
  • Trainingsjobs: Automatisieren Sie die Skalierung von Trainingsjobs mit dem benutzerdefinierten Training der Gemini Enterprise Agent Platform. Sie können Worker-Pool-Spezifikationen wie den Maschinentyp, den Typ und die Anzahl der Beschleuniger sowie die Anzahl der Worker-Pools definieren. Bei Jobs, die Unterbrechungen tolerieren können, und bei Jobs, bei denen der Trainingscode Prüfpunkte implementiert, können Sie die Kosten durch die Verwendung von Spot-VMs senken.
  • Online-Inferenz: Verwenden Sie für die Online-Inferenz Agent Platform-Endpunkte. Konfigurieren Sie die minimale und maximale Anzahl von Replikaten, um Autoscaling zu aktivieren. Geben Sie für die Hochverfügbarkeit mindestens zwei Replikate an. Die Agent-Plattform passt die Anzahl der Replikate automatisch anhand des Traffics und der konfigurierten Autoscaling-Messwerte wie CPU-Auslastung und Replikatnutzung an.
  • Containerisierte Arbeitslasten in der Google Kubernetes Engine: Konfigurieren Sie das Autoscaling auf Knoten- und Pod-Ebene. Konfigurieren Sie das Cluster-Autoscaling und die automatische Knotenbereitstellung, um die Knotenanzahl basierend auf ausstehenden Pod-Ressourcenanfragen wie CPU, Arbeitsspeicher, GPU und Cloud TPU anzupassen. Verwenden Sie Horizontal Pod Autoscaler (HPA) für Deployments, um Skalierungsrichtlinien basierend auf Messwerten wie CPU- und Arbeitsspeicherauslastung zu definieren. Sie können die Skalierung auch auf Grundlage benutzerdefinierter KI- und ML-Messwerte ausführen, z. B. der GPU- oder Cloud TPU-Auslastung und der Vorhersageanfragen pro Sekunde.
  • Serverlose containerisierte Dienste: Stellen Sie die Dienste in Cloud Run bereit und konfigurieren Sie das Autoscaling, indem Sie die minimale und maximale Anzahl von Containerinstanzen angeben. Verwenden Sie Best Practices für das Autoscaling von GPU-fähigen Instanzen, indem Sie den Beschleunigertyp angeben. Cloud Run skaliert Instanzen automatisch zwischen den konfigurierten Mindest- und Höchstgrenzen basierend auf eingehenden Anfragen. Wenn keine Anfragen vorhanden sind, wird effizient auf null Instanzen herunterskaliert. Sie können die automatische, anfragegesteuerte Skalierung von Cloud Run nutzen, um Agents und Drittanbieter-Arbeitslasten wie quantisierte Modelle mit Ollama und LLM-Inferenz mit vLLM bereitzustellen.

Für Hochverfügbarkeit und Fehlertoleranz entwerfen

Bei KI- und ML-Arbeitslasten auf Produktionsebene ist es wichtig, dass Sie für einen kontinuierlichen Betrieb und Ausfallsicherheit sorgen. Um Hochverfügbarkeit und Fehlertoleranz zu implementieren, müssen Sie Redundanz und Replikation in Ihre Architektur auf Google Cloudeinbauen. Dieser Ansatz trägt dazu bei, dass der Ausfall einer einzelnen Komponente nicht zu einem Ausfall des gesamten Systems führt.

Implementieren Sie Redundanz für kritische KI- und ML-Komponenten in Google Cloud. Im Folgenden finden Sie Beispiele für Produkte und Features, mit denen Sie Ressourcenredundanz implementieren können:

  • Stellen Sie regionale GKE-Cluster in mehreren Zonen bereit.
  • Sorgen Sie für Datenredundanz für Datasets und Prüfpunkte, indem Sie multiregionale oder biregionale Cloud Storage-Buckets verwenden.
  • Verwenden Sie Spanner für die global konsistente, hochverfügbare Speicherung von Metadaten.
  • Konfigurieren Sie Cloud SQL-Lesereplikate für operative Datenbanken.
  • Sorgen Sie dafür, dass Vektordatenbanken für Retrieval-Augmented Generation (RAG) hochverfügbar und multizonal oder multiregional sind.

Ressourcen proaktiv verwalten und Anforderungen antizipieren

Ein effektives Ressourcenmanagement ist wichtig, um Kosten, Leistung und Zuverlässigkeit zu optimieren. KI- und ML-Arbeitslasten sind dynamisch und es besteht eine hohe Nachfrage nach spezialisierter Hardware wie GPUs und Cloud TPU. Daher ist es wichtig, dass Sie ein proaktives Ressourcenmanagement anwenden und die Ressourcenverfügbarkeit sicherstellen.

Planen Sie die Kapazität basierend auf historischen Monitoring-Daten wie GPU- oder Cloud TPU-Auslastung und Durchsatzraten aus Cloud Monitoring und Logs in Cloud Logging. Analysieren Sie diese Telemetriedaten mit BigQuery oder Data Studio und prognostizieren Sie den zukünftigen Bedarf an GPUs basierend auf Wachstum oder neuen Modellen. Durch die Analyse von Mustern und Trends bei der Ressourcennutzung können Sie vorhersagen, wann und wo Sie kritische spezialisierte Beschleuniger benötigen.

  • Validieren Sie Kapazitätsschätzungen durch strenge Lasttests. Simulieren Sie Traffic auf KI- und ML-Diensten wie Bereitstellung und Pipelines mit Tools wie Apache JMeter oder LoadView.
  • Systemverhalten unter Stress analysieren
    • Um erhöhte Arbeitslastanforderungen in der Produktion vorherzusehen und zu erfüllen, sollten Sie den Ressourcenbedarf proaktiv ermitteln. Überwachen Sie Latenz, Durchsatz, Fehler und Ressourcennutzung, insbesondere die GPU- und Cloud TPU-Auslastung. Erhöhen Sie die Ressourcenkontingente nach Bedarf.
    • Testen Sie die Bereitstellung generativer KI unter hoher gleichzeitiger Last und ermitteln Sie, ab welchem Punkt die Verfügbarkeit des Beschleunigers die Leistung einschränkt.
  • Führen Sie ein kontinuierliches Monitoring für Modellabfragen durch und richten Sie proaktive Benachrichtigungen für Agenten ein.
    • Im Dashboard für die Modellbeobachtbarkeit können Sie sich Messwerte ansehen, die von Monitoring erfasst werden, z. B. Modellabfragen pro Sekunde, Token-Durchsatz und Latenzen für das erste Token.

Verfügbarkeit und Erhalt von Ressourcen optimieren

Optimieren Sie die Kosten und sorgen Sie für die Verfügbarkeit von Ressourcen, indem Sie die geeigneten Rechenressourcen basierend auf den Anforderungen der Arbeitslast strategisch auswählen.

  • Verwenden Sie für stabile Inferenz rund um die Uhr oder für Trainingsarbeitslasten mit festen oder vorhersehbaren Kapazitätsanforderungen Rabatte für zugesicherte Nutzung für VMs und Beschleuniger.
  • Verwenden Sie für GKE-Knoten und Compute Engine-VMs Spot-VMs und Dynamic Workload Scheduler (DWS)-Funktionen:

    • Verwenden Sie für fehlertolerante Aufgaben wie Bewertungs- und Experimentierarbeitslasten Spot-VMs. Spot-VMs können vorzeitig beendet werden, aber sie können dazu beitragen, Ihre Gesamtkosten zu senken.
    • Wenn Sie das Risiko einer vorzeitigen Beendigung für Beschleuniger mit hoher Nachfrage verwalten möchten, können Sie mit DWS für eine bessere Verfügbarkeit sorgen.
      • Verwenden Sie für komplexes Batchtraining, das High-End-GPUs erfordert und bis zu sieben Tage dauern kann, den DWS Flex-Start-Modus.
      • Für länger laufende Arbeitslasten, die bis zu drei Monate dauern, können Sie im Kalendermodus bestimmte GPUs (H100 und H200) und Cloud TPU (Trillium) reservieren.
  • Um die KI-Inferenz in der GKE zu optimieren, können Sie eine vLLM-Engine ausführen, die dynamisch Cloud TPU und GPUs verwendet, um schwankende Kapazitäts- und Leistungsanforderungen zu erfüllen. Weitere Informationen finden Sie unter vLLM-GPU/TPU-Austauschbarkeit.

  • Für erweiterte Szenarien mit komplexen Ressourcen- und Topologieanforderungen, die Beschleuniger umfassen, sollten Sie Tools verwenden, um die Ressourcenverwaltung zu abstrahieren.

    • Mit Cluster Director können Sie Beschleunigergruppen mit Colocation und Planung für das Training mit mehreren GPUs (A3 Ultra H200 und A4 B200) bereitstellen und verwalten. Cluster Director unterstützt GKE- und Slurm-Cluster.
    • Ray auf der Gemini Enterprise Agent Platform abstrahiert die verteilte Computing-Infrastruktur. Anwendungen können Ressourcen für das Training und die Bereitstellung anfordern, ohne dass VMs und Container direkt verwaltet werden müssen.

Eingehenden Traffic auf mehrere Instanzen verteilen

Effektives Load Balancing ist für KI-Anwendungen mit schwankenden Anforderungen entscheidend. Load Balancing verteilt den Traffic, optimiert die Ressourcennutzung, bietet Hochverfügbarkeit und niedrige Latenz und trägt zu einer nahtlosen Nutzererfahrung bei.

  • Inferenz mit unterschiedlichen Ressourcenanforderungen: Implementieren Sie Load Balancing basierend auf Modellmesswerten. Mit dem GKE Inference Gateway können Sie Modelle hinter einem Load Balancer mit modellbewusstem Routing bereitstellen. Das Gateway priorisiert Instanzen mit GPU- und Cloud TPU-Beschleunigern für rechenintensive Aufgaben wie generative KI und LLM-Inferenz. Konfigurieren Sie detaillierte Systemdiagnosen, um den Modellstatus zu bewerten. Verwenden Sie Bereitstellungs-Frameworks wie vLLM oder Triton für LLM-Messwerte und binden Sie die Messwerte mit Google Cloud Managed Service for Prometheus in Monitoring ein.
  • Inferenzarbeitslasten, die GPUs oder Cloud TPUs erfordern: Um sicherzustellen, dass kritische KI- und ML-Inferenzarbeitslasten konsistent auf Maschinen ausgeführt werden, die den Anforderungen der Arbeitslasten entsprechen, insbesondere wenn die GPU- und Cloud TPU-Verfügbarkeit eingeschränkt ist, verwenden Sie benutzerdefinierte GKE-Compute-Klassen. Sie können bestimmte Compute-Profile mit Fallback-Richtlinien für das Autoscaling definieren. Sie können beispielsweise ein Profil definieren, das reservierten GPU- oder Cloud TPU-Instanzen eine höhere Priorität zuweist. Das Profil kann einen Fallback enthalten, um kostengünstige Spot-VMs zu verwenden, wenn die reservierten Ressourcen vorübergehend nicht verfügbar sind.
  • Generative KI auf verschiedenen Orchestrierungsplattformen: Verwenden Sie einen zentralen Load Balancer. Aus Gründen der Kosten- und Verwaltungseffizienz können Sie beispielsweise Anfragen mit geringem GPU-Bedarf an Cloud Run und komplexere, GPU-intensive Aufgaben an GKE weiterleiten. Implementieren Sie für die Kommunikation zwischen Diensten und die Richtlinienverwaltung ein Service Mesh mit Cloud Service Mesh. Sorgen Sie mit Logging und Monitoring für ein einheitliches Logging und Monitoring.
  • Globale Lastverteilung: Verwenden Sie einen globalen externen Application Load Balancer, um Traffic von globalen Nutzern, die eine niedrige Latenz benötigen, per Load Balancing zu verteilen. Konfigurieren Sie das Geolocation-Routing zur nächstgelegenen Region und implementieren Sie ein Failover. Richten Sie die regionale Endpunktreplikation in der Agent Platform oder GKE ein. Cloud CDN für statische Assets konfigurieren Globalen Traffic und Latenz mit Monitoring überwachen.
  • Detaillierte Traffic-Verwaltung: Implementieren Sie für Anfragen mit unterschiedlichen Datentypen oder komplexen und lang andauernden Anfragen eine detaillierte Traffic-Verwaltung.
    • Konfigurieren Sie inhaltsbasiertes Routing, um Anfragen anhand von Attributen wie URL-Pfaden und Headern an spezialisierte Backends weiterzuleiten. Leiten Sie beispielsweise Anfragen für Bild- oder Videomodelle an GPU-fähige Backends und Anfragen für textbasierte Modelle an CPU-optimierte Backends weiter.
    • Verwenden Sie für lang andauernde generative KI-Anfragen oder Batcharbeitslasten WebSockets oder gRPC. Implementieren Sie die Traffic-Verwaltung, um Zeitüberschreitungen und Zwischenspeicherung zu verarbeiten. Konfigurieren Sie Zeitlimits und Wiederholungsversuche für Anfragen und implementieren Sie Ratenbegrenzungen und Kontingente mit API Gateway oder Apigee.

Modulare und lose gekoppelte Architektur verwenden

In einer modularen, lose gekoppelten KI- und ML-Architektur werden komplexe Systeme in kleinere, eigenständige Komponenten aufgeteilt, die über klar definierte Schnittstellen interagieren. Diese Architektur minimiert Modulabhängigkeiten, vereinfacht die Entwicklung und das Testen, verbessert die Reproduzierbarkeit und erhöht die Fehlertoleranz, indem Fehler eingegrenzt werden. Der modulare Ansatz ist entscheidend, um die Komplexität zu bewältigen, Innovationen zu beschleunigen und die langfristige Wartbarkeit zu gewährleisten.

Beachten Sie die folgenden Empfehlungen, um eine modulare und lose gekoppelte Architektur für KI- und ML-Arbeitslasten zu entwerfen.

Kleine, eigenständige Module oder Komponenten implementieren

Teilen Sie Ihr End-to-End-KI- und ML-System in kleine, eigenständige Module oder Komponenten auf. Jedes Modul oder jede Komponente ist für eine bestimmte Funktion verantwortlich, z. B. Datenaufnahme, Feature-Transformation, Modelltraining, Inferenzbereitstellung oder Bewertung. Ein modulares Design bietet mehrere wichtige Vorteile für KI- und ML-Systeme: verbesserte Wartbarkeit, höhere Skalierbarkeit, Wiederverwendbarkeit sowie mehr Flexibilität und Agilität.

In den folgenden Abschnitten werden Produkte, Features und Tools von Google Cloud beschrieben, mit denen Sie eine modulare Architektur für Ihre KI- und ML-Systeme entwerfen können.

Containerisierte Mikrodienste in GKE

Für komplexe KI- und ML-Systeme oder komplexe generative KI-Pipelines, die eine detaillierte Orchestrierung erfordern, implementieren Sie Module als Mikrodienste, die mit GKE orchestriert werden. Verpacken Sie jede einzelne Phase als separaten Mikrodienst in Docker-Containern. Diese Phasen umfassen die Datenaufnahme, die auf verschiedene Formate zugeschnitten ist, die spezialisierte Datenvorverarbeitung oder das Feature Engineering, das verteilte Modelltraining oder die Feinabstimmung großer Foundation Models, die Bewertung oder die Bereitstellung.

Stellen Sie die containerisierten Mikrodienste in der GKE bereit und nutzen Sie die automatische Skalierung basierend auf der CPU- und Arbeitsspeicherauslastung oder benutzerdefinierten Messwerten wie GPU-Auslastung, rollierenden Updates und reproduzierbaren Konfigurationen in YAML-Manifesten. Sorgen Sie für eine effiziente Kommunikation zwischen den Mikrodiensten, indem Sie die GKE-Service Discovery verwenden. Verwenden Sie für asynchrone Muster Nachrichtenwarteschlangen wie Pub/Sub.

Der Ansatz mit Mikrodiensten in GKE hilft Ihnen, skalierbare, robuste Plattformen für Aufgaben wie komplexe RAG-Anwendungen zu erstellen, bei denen die Phasen als separate Dienste konzipiert werden können.

Serverlose ereignisgesteuerte Dienste

Für ereignisgesteuerte Aufgaben, die von serverloser, automatischer Skalierung profitieren können, verwenden Sie Cloud Run oder Cloud Run Functions. Diese Dienste sind ideal für asynchrone Aufgaben wie die Vorverarbeitung oder für kleinere Inferenzjobs. Cloud Run-Funktionen bei Ereignissen auslösen, z. B. wenn eine neue Datendatei in Cloud Storage erstellt wird oder Modellaktualisierungen in Artifact Registry erfolgen. Verwenden Sie Cloud Run für Webhook-Aufgaben oder Dienste, die eine Containerumgebung erfordern.

Cloud Run-Dienste und Cloud Run Functions können schnell hochskaliert und auf null herunterskaliert werden. Das trägt zur Kosteneffizienz bei schwankenden Arbeitslasten bei. Diese Dienste eignen sich für modulare Komponenten in Agent Conversation-Workflows. Sie können Komponentensequenzen mit Workflows oder Application Integration orchestrieren.

Verwaltete Dienste der Agent Platform

Agent Platform-Dienste unterstützen die Modularität und vereinfachen die Entwicklung und Bereitstellung Ihrer KI- und ML-Systeme. Die Dienste abstrahieren die Komplexität der Infrastruktur, sodass Sie sich auf die Anwendungslogik konzentrieren können.

  • Wenn Sie Workflows orchestrieren möchten, die aus modularen Schritten bestehen, verwenden Sie Gemini Enterprise Agent Platform-Pipelines.
  • Wenn Sie benutzerdefinierten KI- und ML-Code ausführen möchten, verpacken Sie den Code in Docker-Containern, die in verwalteten Diensten wie dem benutzerdefinierten Training und der Vorhersage der Agent Platform ausgeführt werden können.
  • Für modulare Feature-Engineering-Pipelines verwenden Sie Agent Platform Feature Store.
  • Für modulare Exploration und Prototyping können Sie Notebook-Umgebungen wie Gemini Enterprise Agent Platform Workbench oder Colab Enterprise verwenden. Organisieren Sie Ihren Code in wiederverwendbaren Funktionen, Klassen und Skripts.

Agentische Anwendungen

Für KI-Agenten bietet das Agent Development Kit (ADK) modulare Funktionen wie Tools und Zustand. Um die Interoperabilität zwischen Frameworks wie LangChain, LangGraph, LlamaIndex und der Agent Platform zu ermöglichen, können Sie das ADK mit dem Agent2Agent (A2A)-Protokoll und dem Model Context Protocol (MCP) kombinieren. Diese Interoperabilität ermöglicht es Ihnen, agentische Workflows mit verschiedenen Komponenten zu erstellen.

Sie können KI-Agenten in der Agent Runtime auf der Gemini Enterprise Agent Platform bereitstellen. Dies ist eine verwaltete Laufzeit, die für die skalierbare Bereitstellung von KI-Agenten optimiert ist. Wenn Sie containerisierte KI-Agenten ausführen möchten, können Sie die Autoscaling-Funktionen in Cloud Run nutzen.

Klar definierte Schnittstellen entwerfen

Um robuste und wartbare Softwaresysteme zu erstellen, ist es wichtig, dass die Komponenten eines Systems lose gekoppelt und modularisiert sind. Dieser Ansatz bietet erhebliche Vorteile, da er die Abhängigkeiten zwischen verschiedenen Teilen des Systems minimiert. Wenn Module lose gekoppelt sind, haben Änderungen in einem Modul nur minimale Auswirkungen auf andere Module. Diese Isolation ermöglicht unabhängige Updates und Entwicklungsworkflows für einzelne Module.

In den folgenden Abschnitten finden Sie Informationen dazu, wie Sie eine nahtlose Kommunikation und Integration zwischen den Modulen Ihrer KI- und ML-Systeme gewährleisten können.

Protokollauswahl

  • Verwenden Sie für den universellen Zugriff HTTP APIs, halten Sie sich an RESTful-Prinzipien und verwenden Sie JSON für den sprachunabhängigen Datenaustausch. Entwerfen Sie die API-Endpunkte so, dass sie Aktionen für Ressourcen darstellen.
  • Für eine leistungsstarke interne Kommunikation zwischen Mikrodiensten verwenden Sie gRPC mit Protokollzwischenspeichern (Protobuf) für eine effiziente Serialisierung und strikte Typisierung. Definieren Sie Datenstrukturen wie ModelInput, PredictionResult oder ADK-Tool-Daten mithilfe von .proto-Dateien und generieren Sie dann Sprachbindungen.
  • Verwenden Sie für leistungskritische Anwendungsfälle gRPC-Streaming für große Datasets oder für kontinuierliche Abläufe wie Live-Text-zu-Sprache- oder Videoanwendungen. gRPC-Dienste in GKE bereitstellen

Standardisierte und umfassende Dokumentation

Unabhängig vom gewählten Schnittstellenprotokoll ist eine standardisierte Dokumentation entscheidend. Die OpenAPI-Spezifikation beschreibt RESTful APIs. Verwenden Sie OpenAPI, um Ihre KI- und ML-APIs zu dokumentieren: Pfade, Methoden, Parameter, Anfrage-Antwort-Formate, die mit JSON-Schemas verknüpft sind, und Sicherheit. Eine umfassende API-Dokumentation trägt dazu bei, die Auffindbarkeit und die Client-Integration zu verbessern. Verwenden Sie für die API-Erstellung und -Visualisierung UI-Tools wie den Swagger Editor. Um die Entwicklung zu beschleunigen und Konsistenz zu gewährleisten, können Sie Client-SDKs und Server-Stubs mit KI-gestützten Codierungstools wie Gemini Code Assist generieren. OpenAPI-Dokumentation in Ihren CI/CD-Ablauf einbinden.

Interaktion mit verwalteten Diensten von Google Cloud wie der Agent Platform

Sie haben die Wahl zwischen der höheren Abstraktion des Agent Platform SDK, das für die Entwicklungsproduktivität bevorzugt wird, und der detaillierten Steuerung, die die REST API bietet.

  • Das Agent Platform SDK vereinfacht Aufgaben und die Authentifizierung. Verwenden Sie das SDK, wenn Sie mit der Agent Platform interagieren müssen.
  • Die REST API ist eine leistungsstarke Alternative, insbesondere wenn Interoperabilität zwischen den Ebenen Ihres Systems erforderlich ist. Das ist nützlich für Tools in Sprachen, für die es kein SDK gibt, oder wenn Sie eine detaillierte Kontrolle benötigen.

APIs verwenden, um Module zu isolieren und Implementierungsdetails zu abstrahieren

Aus Gründen der Sicherheit, Skalierbarkeit und Sichtbarkeit ist es wichtig, dass Sie eine robuste API-Verwaltung für Ihre KI- und ML-Dienste implementieren. Verwenden Sie die folgenden Produkte, um die API-Verwaltung für Ihre definierten Schnittstellen zu implementieren:

  • API Gateway: Für APIs, die extern bereitgestellt und verwaltet werden, bietet API Gateway einen zentralen, sicheren Einstiegspunkt. Sie vereinfacht den Zugriff auf serverlose Backend-Dienste wie Vorhersage-, Trainings- und Daten-APIs. API Gateway hilft dabei, Zugriffspunkte zu konsolidieren, API-Verträge durchzusetzen und Sicherheitsfunktionen wie API-Schlüssel und OAuth 2.0 zu verwalten. Um Backends vor Überlastung zu schützen und die Zuverlässigkeit zu gewährleisten, sollten Sie in API Gateway Ratenbegrenzungen und Nutzungskontingente implementieren.
  • Cloud Endpoints: Wenn Sie die API-Entwicklung und -Bereitstellung in GKE und Cloud Run optimieren möchten, verwenden Sie Endpoints. Dies ist eine entwicklerfreundliche Lösung zum Generieren von API-Schlüsseln. Außerdem bietet es integriertes Monitoring und Tracing für API-Aufrufe und automatisiert die Generierung von OpenAPI-Spezifikationen, was die Dokumentation und Clientintegration vereinfacht. Mit Endpoints können Sie den Zugriff auf interne oder kontrollierte KI- und ML-APIs verwalten, z. B. um das Training auszulösen und Feature Stores zu verwalten.
  • Apigee: Für KI und ML auf Unternehmensebene, insbesondere für komplexe generative KI-APIs, bietet Apigee eine erweiterte, umfassende API-Verwaltung. Verwenden Sie Apigee für erweiterte Sicherheit wie Bedrohungsschutz und OAuth 2.0, für die Traffic-Verwaltung wie Caching, Kontingente und Mediation sowie für Analysen. Mit Apigee können Sie detaillierte Einblicke in die Nutzungsmuster, die Leistung und das Engagement von APIs gewinnen, was für das Verständnis der Nutzung von generativen KI-APIs entscheidend ist.

Graduelle Fehlertoleranz einplanen

In KI- und ML-Produktionssystemen sind Komponentenausfälle wie in anderen Systemen unvermeidlich. Die graduelle Fehlertoleranz sorgt dafür, dass wichtige Funktionen weiterhin ausgeführt werden, möglicherweise mit reduzierter Leistung. Dieser Ansatz verhindert vollständige Ausfälle und verbessert die allgemeine Verfügbarkeit. Die graduelle Fehlertoleranz ist entscheidend für latenzempfindliche Inferenz, verteiltes Training und generative KI.

In den folgenden Abschnitten werden Techniken beschrieben, mit denen Sie eine graduelle Fehlertoleranz planen und implementieren können.

Fehlerisolation

  • Wenn Sie fehlerhafte Komponenten in verteilten Architekturen isolieren möchten, implementieren Sie das Circuit Breaker-Muster mithilfe von Resilienzbibliotheken wie Resilience4j in Java und CircuitBreaker in Python.
  • Um kaskadierende Fehler zu vermeiden, konfigurieren Sie Schwellenwerte basierend auf KI- und ML-Arbeitslastmesswerten wie Fehlerraten und Latenz und definieren Sie Fallbacks wie einfachere Modelle und im Cache gespeicherte Daten.

Komponentenredundanz

Implementieren Sie für kritische Komponenten Redundanz und automatisches Failover. Verwenden Sie beispielsweise GKE-Cluster mit mehreren Zonen oder regionale Cluster und stellen Sie Cloud Run-Dienste redundant in verschiedenen Regionen bereit. Verwenden Sie Cloud Load Balancing, um Traffic an fehlerfreie Instanzen weiterzuleiten, wenn fehlerhafte Instanzen erkannt werden.

Datenredundanz durch Verwendung multiregionaler Cloud Storage-Buckets sicherstellen Implementieren Sie für verteiltes Training asynchrones Checkpointing, um das Training nach Fehlern fortzusetzen. Verwenden Sie für ein ausfallsicheres und elastisches Training Pathways.

Proaktives Monitoring

Die graduelle Fehlertoleranz trägt dazu bei, die Systemverfügbarkeit bei Ausfällen sicherzustellen. Sie müssen jedoch auch proaktive Maßnahmen für kontinuierliche Systemdiagnosen und umfassendes Monitoring implementieren. Erfassen Sie Messwerte, die für KI und ML spezifisch sind, z. B. Latenz, Durchsatz und GPU-Auslastung. Erfassen Sie außerdem Messwerte zur Verschlechterung der Modellleistung, z. B. Modell- und Datendrift, indem Sie Monitoring und Model Monitoring auf der Gemini Enterprise Agent Platform verwenden.

Systemdiagnosen können die Notwendigkeit auslösen, fehlerhafte Knoten zu ersetzen, mehr Kapazität bereitzustellen oder automatisch ein kontinuierliches Neulernen oder Feinabstimmung von Pipelines auszulösen, die aktualisierte Daten verwenden. Dieser proaktive Ansatz hilft, sowohl die Verschlechterung der Genauigkeit als auch die graduelle Fehlertoleranz auf Systemebene zu verhindern und die Gesamtzuverlässigkeit zu verbessern.

SRE-Praktiken

Wenn Sie den Zustand Ihrer Systeme überwachen möchten, sollten Sie SRE-Verfahren zur Implementierung von Service Level Objectives (SLOs) in Betracht ziehen. Warnungen zu Fehlerbudgetverlust und Burn-Rate können frühe Indikatoren für Zuverlässigkeitsprobleme des Systems sein. Weitere Informationen zu SRE-Verfahren finden Sie im Google SRE-Buch.

Automatisierte End-to-End-MLOps-Plattform erstellen

Ein robustes, skalierbares und zuverlässiges KI- und ML-System in Google Clouderfordert eine automatisierte End-to-End-MLOps-Plattform für den Lebenszyklus der Modellentwicklung. Der Entwicklungslebenszyklus umfasst die anfängliche Datenverarbeitung, das kontinuierliche Modelltraining, die Bereitstellung und das Monitoring in der Produktion. Durch die Automatisierung dieser Phasen in Google Cloudetablieren Sie wiederholbare Prozesse, reduzieren den manuellen Aufwand, minimieren Fehler und beschleunigen das Innovationstempo.

Eine automatisierte MLOps-Plattform ist unerlässlich, um die Zuverlässigkeit Ihrer Anwendungen auf Produktionsniveau zu gewährleisten. Die Automatisierung trägt dazu bei, die Modellqualität zu gewährleisten, die Reproduzierbarkeit zu garantieren und die kontinuierliche Integration und Bereitstellung von KI- und ML-Artefakten zu ermöglichen.

Beachten Sie die folgenden Empfehlungen, um eine automatisierte End-to-End-MLOps-Plattform zu erstellen.

Lebenszyklus der Modellentwicklung automatisieren

Ein Kernelement einer automatisierten MLOps-Plattform ist die Orchestrierung des gesamten KI- und ML-Workflows als eine Reihe von verbundenen, automatisierten Schritten: von der Datenvorbereitung und -validierung bis hin zum Modelltraining, zur Bewertung, Bereitstellung und zum Monitoring.

  • Verwenden Sie Agent Platform-Pipelines als zentralen Orchestrator:
    • Definieren Sie End-to-End-Workflows mit modularen Komponenten für Datenverarbeitung, Training, Bewertung und Bereitstellung.
    • Automatisieren Sie Pipelineausführungen mithilfe von Zeitplänen oder Triggern wie neuen Daten oder Codeänderungen.
    • Implementieren Sie eine automatisierte Parametrisierung und Versionsverwaltung für jede Pipelineausführung und erstellen Sie einen Versionsverlauf.
    • Überwachen Sie den Pipelinefortschritt und die Ressourcennutzung mithilfe von integriertem Logging und Tracing und binden Sie Monitoring-Benachrichtigungen ein.
  • Definieren Sie Ihre ML-Pipelines programmatisch mit dem Kubeflow Pipelines (KFP) SDK oder dem TensorFlow Extended SDK. Weitere Informationen finden Sie unter Schnittstellen für Agent Platform-Pipelines.
  • Vorgänge mit Diensten von Google Cloud orchestrieren, z. B. Dataflow, benutzerdefiniertes Training auf der Agent Platform, Model Registry auf der Gemini Enterprise Agent Platform und Endpunkte auf der Agent Platform.
  • Für generative KI-Workflows können Sie die Schritte für Prompt-Management, Batch-Inferenz, Human-in-the-Loop-Bewertung (HITL) und die Koordination von ADK-Komponenten orchestrieren.

Infrastruktur als Code verwalten

Infrastructure as Code (IaC) ist entscheidend für die Verwaltung der Infrastruktur von KI- und ML-Systemen und für die Ermöglichung reproduzierbarer, skalierbarer und wartbarer Bereitstellungen. Die Infrastrukturanforderungen von KI- und ML-Systemen sind dynamisch und komplex. Die Systeme erfordern oft spezielle Hardware wie GPUs und Cloud TPU. IaC trägt dazu bei, die Risiken der manuellen Infrastrukturverwaltung zu minimieren, indem es für Konsistenz sorgt, Rollbacks ermöglicht und Bereitstellungen wiederholbar macht.

Verwenden Sie die folgenden Techniken, um Ihre Infrastrukturressourcen effektiv als Code zu verwalten.

Ressourcenbereitstellung automatisieren

Wenn Sie IaC in Google Cloudeffektiv verwalten möchten, definieren und stellen Sie Ihre KI- und ML-Infrastrukturressourcen mit Terraform bereit. Die Infrastruktur kann Ressourcen wie die folgenden umfassen:

  • GKE-Cluster, die mit Knotenpools konfiguriert sind. Die Knotenpools können basierend auf den Arbeitslastanforderungen optimiert werden. Sie können beispielsweise A100-, H100-, H200- oder B200-GPUs für das Training und L4-GPUs für die Inferenz verwenden.
  • Agent Platform-Endpunkte, die für die Modellbereitstellung konfiguriert sind, mit definierten Maschinentypen und Skalierungsrichtlinien.
  • Cloud Storage-Buckets für Daten und Artefakte.

Konfigurationsvorlagen verwenden

Organisieren Sie Ihre Terraform-Konfigurationen als modulare Vorlagen. Wenn Sie die Bereitstellung von KI- und ML-Ressourcen beschleunigen möchten, können Sie das Cluster Toolkit verwenden. Das Toolkit bietet Beispiel-Blueprints. Das sind von Google zusammengestellte Terraform-Vorlagen, mit denen Sie einsatzbereite HPC-, KI- und ML-Cluster in Slurm oder der GKE bereitstellen können. Sie können den Terraform-Code anpassen und in Ihrem Versionsverwaltungssystem verwalten. Wenn Sie die Ressourcenbereitstellung und den Aktualisierungs-Workflow automatisieren möchten, können Sie den Code mithilfe von Cloud Build in Ihre CI/CD-Pipelines einbinden.

Konfigurationsänderungen automatisieren

Nachdem Sie Ihre Infrastruktur bereitgestellt haben, verwalten Sie die laufenden Konfigurationsänderungen deklarativ:

  • In Kubernetes-zentrierten Umgebungen können Sie Ihre Google Cloud-Ressourcen mit Config Connector als Kubernetes-Objekte verwalten.
  • Agent Platform-Ressourcen wie Datasets, Modelle und Endpunkte, Cloud SQL-Instanzen, Pub/Sub-Themen und Cloud Storage-Buckets mithilfe von YAML-Manifesten definieren und verwalten.
  • Stellen Sie die Manifeste in Ihrem GKE-Cluster bereit, um die Anwendungs- und Infrastrukturkonfiguration zu integrieren.
  • Automatisieren Sie Konfigurationsupdates mithilfe von CI/CD-Pipelines und verwenden Sie Vorlagen, um Umgebungsunterschiede zu berücksichtigen.
  • Konfigurationen für IAM-Richtlinien (Identity and Access Management) und Dienstkonten mithilfe von IaC implementieren

In CI/CD einbinden

  • Automatisieren Sie den Lebenszyklus der Google Cloud -Infrastrukturressourcen, indem Sie IaC in CI/CD-Pipelines einbinden. Verwenden Sie dazu Tools wie Cloud Build und Infrastructure Manager.
  • Trigger für automatische Updates bei Code-Commits definieren.
  • Automatisierte Tests und Validierungen in der Pipeline implementieren Sie können beispielsweise ein Skript erstellen, um die Terraform-Befehle validate und plan automatisch auszuführen.
  • Speichern Sie die Konfigurationen als Artefakte und aktivieren Sie die Versionsverwaltung.
  • Definieren Sie separate Umgebungen wie „dev“, „staging“ und „prod“ mit unterschiedlichen Konfigurationen in der Versionsverwaltung und automatisieren Sie die Umgebungsweiterleitung.

Modellverhalten validieren

Damit die Genauigkeit und Relevanz des Modells im Laufe der Zeit erhalten bleibt, sollten Sie den Trainings- und Bewertungsprozess in Ihrer MLOps-Plattform automatisieren. Diese Automatisierung in Kombination mit einer strengen Validierung trägt dazu bei, dass sich die Modelle mit relevanten Daten wie erwartet verhalten, bevor sie in der Produktion bereitgestellt werden.

  • Richten Sie Pipelines für kontinuierliches Training ein, die entweder durch neue Daten und Monitoringsignale wie Datendrift ausgelöst werden oder nach einem Zeitplan ausgeführt werden.
    • Wenn Sie automatisierte Trainingsjobs wie Hyperparameter-Abstimmungstests und verteilte Trainingskonfigurationen für größere Modelle verwalten möchten, verwenden Sie das benutzerdefinierte Training der Agent Platform.
    • Automatisieren Sie für die Feinabstimmung von Foundation Models den Feinabstimmungsprozess und binden Sie die Jobs in Ihre Pipelines ein.
  • Implementieren Sie eine automatisierte Modellversionierung und speichern Sie trainierte Modellartefakte nach jedem erfolgreichen Trainingslauf sicher. Sie können die Artefakte in Cloud Storage speichern oder in Model Registry registrieren.
  • Definieren Sie Bewertungsmetriken und legen Sie klare Schwellenwerte fest, z. B. Mindestgenauigkeit, maximale Fehlerrate und Mindest-F1-Wert.
    • Achten Sie darauf, dass ein Modell die Schwellenwerte erfüllt, um die Bewertung automatisch zu bestehen und für die Bereitstellung in Betracht gezogen zu werden.
    • Automatisieren Sie die Bewertung mithilfe von Diensten wie der Modellbewertung in der Agent Platform.
    • Achten Sie darauf, dass die Bewertung Messwerte enthält, die sich auf die Qualität der generierten Ausgabe, die sachliche Richtigkeit, Sicherheitsattribute und die Einhaltung des angegebenen Stils oder Formats beziehen.
  • Wenn Sie die Parameter, Codeversionen, Dataset-Versionen und Ergebnisse jedes Trainings- und Bewertungslaufs automatisch protokollieren und verfolgen möchten, verwenden Sie Experimente auf der Gemini Enterprise Agent Platform. Dieser Ansatz bietet einen Verlauf, der für Vergleiche, Fehlerbehebung und Reproduzierbarkeit nützlich ist.
  • Wenn Sie die Hyperparameter-Abstimmung optimieren und die Suche nach optimalen Modellkonfigurationen basierend auf Ihrem definierten Ziel automatisieren möchten, verwenden Sie Agent Platform Vizier.
  • Verwenden Sie Agent Platform TensorBoard, um Trainingsmesswerte zu visualisieren und während der Entwicklung Fehler zu beheben.

Eingaben und Ausgaben von KI- und ML-Pipelines validieren

Um die Zuverlässigkeit und Integrität Ihrer KI- und ML-Systeme zu gewährleisten, müssen Sie Daten validieren, wenn sie in die Systeme gelangen und die Pipelines durchlaufen. Außerdem müssen Sie die Ein- und Ausgaben an den Komponentengrenzen prüfen. Eine robuste Validierung aller Eingaben und Ausgaben – Rohdaten, verarbeitete Daten, Konfigurationen, Argumente und Dateien – hilft, unerwartetes Verhalten zu verhindern und die Modellqualität während des gesamten MLOps-Lebenszyklus aufrechtzuerhalten. Wenn Sie diesen proaktiven Ansatz in Ihre MLOps-Plattform integrieren, können Sie Fehler erkennen, bevor sie sich im gesamten System ausbreiten. Das spart Zeit und Ressourcen.

Verwenden Sie die folgenden Techniken, um die Ein- und Ausgaben Ihrer KI- und ML-Pipelines effektiv zu validieren.

Datenvalidierung automatisieren

  • Implementieren Sie die automatisierte Datenvalidierung in Ihren Pipelines für die Datenaufnahme und -vorverarbeitung mit TensorFlow Data Validation (TFDV).
    • Für umfangreiche, SQL-basierte Datenqualitätsprüfungen können Sie skalierbare Verarbeitungsdienste wie BigQuery nutzen.
    • Verwenden Sie Dataflow für komplexe, programmatische Validierungen von Streaming- oder Batchdaten.
  • Datenverteilungen im Zeitverlauf mit TFDV-Funktionen überwachen
    • Visualisieren Sie Trends mit Tools, die in Monitoring eingebunden sind, um Datendrift zu erkennen. Sie können Pipelines für das erneute Modelltraining automatisch auslösen, wenn sich Datenmuster erheblich ändern.
  • Speichern Sie Validierungsergebnisse und Messwerte in BigQuery für Analysen und Verlaufs-Tracking und archivieren Sie Validierungsartefakte in Cloud Storage.

Pipelinekonfigurationen und Eingabedaten validieren

Implementieren Sie eine strenge Validierung für alle Pipelinekonfigurationen und Befehlszeilenargumente, um Pipelinefehler oder unerwartetes Verhalten aufgrund falscher Einstellungen zu vermeiden:

  • Definieren Sie klare Schemas für Ihre Konfigurationsdateien wie YAML oder JSON, indem Sie Schemavalidierungsbibliotheken wie jsonschema für Python verwenden. Validieren Sie Konfigurationsobjekte anhand dieser Schemas, bevor eine Pipeline ausgeführt wird und bevor eine Komponente ausgeführt wird.
  • Implementieren Sie die Eingabevalidierung für alle Befehlszeilenargumente und Pipelineparameter mithilfe von Bibliotheken zum Parsen von Argumenten wie argparse. Bei der Validierung sollte geprüft werden, ob die Datentypen korrekt, die Werte gültig und die erforderlichen Argumente vorhanden sind.
  • In Agent Platform Pipelines können Sie die erwarteten Typen und Attribute von Komponentenparametern mithilfe der integrierten Funktionen zur Validierung von Komponenteneingaben definieren.
  • Um die Reproduzierbarkeit von Pipelineausführungen zu gewährleisten und einen Audit-Trail zu führen, speichern Sie validierte, versionierte Konfigurationsdateien in Cloud Storage oder Artifact Registry.

Eingabe- und Ausgabedateien validieren

Eingabe- und Ausgabedateien wie Datasets, Modellartefakte und Bewertungsberichte auf Integrität und Formatkorrektheit prüfen:

  • Validieren Sie Dateiformate wie CSV, Parquet und Bildtypen mithilfe von Bibliotheken.
  • Bei großen Dateien oder kritischen Artefakten sollten Sie die Dateigrößen und Prüfsummen validieren, um Beschädigungen oder unvollständige Übertragungen zu erkennen. Verwenden Sie dazu die Datenvalidierung und Änderungserkennung von Cloud Storage.
  • Führen Sie die Dateivalidierung mit Cloud Run-Funktionen (z. B. basierend auf Ereignissen zum Hochladen von Dateien) oder in Dataflow-Pipelines durch.
  • Speichern Sie Validierungsergebnisse in BigQuery, um sie einfacher abzurufen und zu analysieren.

Bereitstellung automatisieren und kontinuierliches Monitoring implementieren

Die automatisierte Bereitstellung und kontinuierliche Überwachung von Modellen in der Produktion trägt dazu bei, die Zuverlässigkeit zu gewährleisten, schnelle Updates durchzuführen und Probleme zeitnah zu erkennen. Dazu gehören die Verwaltung von Modellversionen, die kontrollierte Bereitstellung, die automatisierte Bereitstellung mit CI/CD und ein umfassendes Monitoring, wie in den folgenden Abschnitten beschrieben.

Modellversionen verwalten

Verwalten Sie Modelliterationen und zugehörige Artefakte mithilfe von Versionierungstools:

  • Verwenden Sie Model Registry, um Modellversionen und Metadaten zu verfolgen und mit zugrunde liegenden Modellartefakten zu verknüpfen.
  • Implementieren Sie ein klares Versionsverwaltungsschema (z. B. semantische Versionsverwaltung). Fügen Sie jeder Modellversion umfassende Metadaten wie Trainingsparameter, Bewertungsmesswerte aus Validierungspipelines und die Dataset-Version hinzu.
  • Speichern Sie Modellartefakte wie Modelldateien, vortrainierte Gewichtungen und Bereitstellungs-Container-Images in Artifact Registry und verwenden Sie die Versionsverwaltungs- und Tagging-Features.
  • Definieren Sie strenge Zugriffssteuerungsrichtlinien für Model Registry und Artifact Registry, um Sicherheits- und Governance-Anforderungen zu erfüllen.
  • Wenn Sie Versionen programmatisch registrieren und verwalten und in automatisierte CI/CD-Pipelines einbinden möchten, verwenden Sie das Agent Platform SDK oder die Agent Platform API.

Kontrollierte Bereitstellung durchführen

Sie können die Bereitstellung von Modellversionen auf Endpunkten mithilfe der Traffic-Verwaltungsfunktionen Ihrer Bereitstellungsplattform steuern.

  • Implementieren Sie ein Rolling Deployment mithilfe der Funktion zur Aufteilung des Traffics von Agent Platform-Endpunkten.
  • Wenn Sie Ihr Modell in der GKE bereitstellen, verwenden Sie erweiterte Techniken zur Trafficverwaltung wie das Canary-Deployment:
    1. Leiten Sie einen kleinen Teil des Produktionstraffics an eine neue Modellversion weiter.
    2. Überwachen Sie die Leistung und Fehlerraten kontinuierlich anhand von Messwerten.
    3. Stellen Sie sicher, dass das Modell zuverlässig ist.
    4. Führen Sie die Version für den gesamten Traffic ein.
  • A/B-Tests für KI-Agenten durchführen:
    1. Zwei verschiedene Modell-Agent-Versionen oder völlig unterschiedliche Modelle auf demselben Endpunkt bereitstellen.
    2. Traffic auf die Bereitstellungen aufteilen
    3. Analysieren Sie die Ergebnisse im Hinblick auf die Geschäftsziele.
  • Implementieren Sie automatisierte Rollback-Mechanismen, mit denen der Endpunkttraffic schnell auf eine vorherige stabile Modellversion zurückgesetzt werden kann, wenn Monitoring-Benachrichtigungen ausgelöst oder Leistungsschwellenwerte nicht erreicht werden.
  • Konfigurieren Sie die Einstellungen für die Aufteilung des Traffics und die Bereitstellung programmatisch mit dem Agent Platform SDK oder der API.
  • Verwenden Sie Monitoring, um die Leistung und den Traffic über Versionen hinweg zu verfolgen.
  • Bereitstellung mit CI/CD-Pipelines automatisieren Mit Cloud Build können Sie Container erstellen, Artefakte versionieren und die Bereitstellung auf Agent Platform-Endpunkten auslösen.
  • Sorgen Sie dafür, dass die CI/CD-Pipelines Versionen verwalten und aus Artifact Registry abrufen.
  • Bevor Sie Traffic verschieben, sollten Sie automatisierte Endpunkttests durchführen, um die Richtigkeit der Vorhersagen, die Latenz, den Durchsatz und die API-Funktion zu prüfen.
  • Speichern Sie alle Konfigurationen in der Versionsverwaltung.

Kontinuierliches Monitoring

  • Verwenden Sie Model Monitoring auf der Agent Platform, um automatisch Leistungsverschlechterungen, Datendrift (Änderungen der Eingabeverteilung im Vergleich zum Training) und Vorhersagedrift (Änderungen der Modellausgaben) zu erkennen.
    • Konfigurieren Sie Jobs zur Drifterkennung mit Schwellenwerten und Benachrichtigungen.
    • Echtzeitleistung überwachen: Vorhersagelatenz, Durchsatz, Fehlerraten.
  • Definieren Sie benutzerdefinierte Messwerte in Monitoring für Geschäfts-KPIs.
  • Integrieren Sie die Ergebnisse des Modellmonitorings auf der Agent Platform und benutzerdefinierte Messwerte in Monitoring für Benachrichtigungen und Dashboards.
  • Benachrichtigungskanäle wie E-Mail, Slack oder PagerDuty konfigurieren und automatisierte Abhilfemaßnahmen einrichten.
  • Verwenden Sie Logging, um Vorhersageprotokolle zu debuggen.
  • Monitoring in das Vorfallmanagement einbinden

Überwachen Sie bei Endpunkten für generative KI Ausgabemerkmale wie Toxizität und Kohärenz:

  • Bereitstellung von Features auf Drift überwachen.
  • Detaillierte Vorhersagevalidierung implementieren: Validieren Sie Ausgaben mithilfe benutzerdefinierter Logik anhand erwarteter Bereiche und Formate.
  • Vorhersageverteilungen auf Verschiebungen überwachen.
  • Ausgabeschema validieren.
  • Benachrichtigungen für unerwartete Ausgaben und Verschiebungen konfigurieren
  • Mit Pub/Sub können Sie Echtzeit-Validierungsereignisse verfolgen und darauf reagieren.

Sorgen Sie dafür, dass die Ausgabe des umfassenden Monitorings in das kontinuierliche Training einfließt.

Vertrauen und Kontrolle durch Daten- und Modell-Governance aufrechterhalten

Die Zuverlässigkeit von KI und ML geht über die technische Verfügbarkeit hinaus. Dazu gehören Vertrauen und eine robuste Daten- und Modell-Governance. KI-Ausgaben können ungenau, voreingenommen oder veraltet sein. Solche Probleme untergraben das Vertrauen und können Schäden anrichten. Umfassende Nachvollziehbarkeit, strenge Zugriffssteuerung, automatisierte Validierung und transparente Praktiken tragen dazu bei, dass KI-Ausgaben zuverlässig und vertrauenswürdig sind und ethischen Standards entsprechen.

Beachten Sie die folgenden Empfehlungen, um Vertrauen und Kontrolle durch Daten- und Modell-Governance zu wahren.

Daten- und Modellkataloge für die Rückverfolgbarkeit erstellen

Um eine umfassende Nachverfolgung, Prüfung und Herkunftsanalyse Ihrer KI- und ML-Assets zu ermöglichen, sollten Sie einen robusten, zentralen Datensatz mit Daten- und Modellversionen während ihres gesamten Lebenszyklus verwalten. Ein zuverlässiger Daten- und Modellkatalog dient als zentrale Informationsquelle für alle Artefakte, die von Ihren KI- und ML-Pipelines verwendet und erstellt werden – von Rohdatenquellen und verarbeiteten Datasets bis hin zu trainierten Modellversionen und bereitgestellten Endpunkten.

Verwenden Sie die folgenden Produkte, Tools und Techniken, um Kataloge für Ihre Daten-Assets zu erstellen und zu verwalten:

  • Mit dem Knowledge Catalog können Sie einen unternehmensweiten Katalog Ihrer Daten-Assets erstellen. Wenn Sie Daten-Assets automatisch erkennen und Inventare erstellen möchten, binden Sie Knowledge Catalog in Ihre Speichersysteme ein, z. B. BigQuery, Cloud Storage und Pub/Sub.
  • Sorgen Sie für eine Hochverfügbarkeit und Langlebigkeit Ihrer Daten, indem Sie sie in multiregionalen oder biregionalen Buckets von Cloud Storage speichern. Daten, die Sie in diese Buckets hochladen, werden redundant an mindestens zwei separaten geografischen Standorten gespeichert. Diese Redundanz bietet integrierte Ausfallsicherheit bei regionalen Ausfällen und trägt zur Datenintegrität bei.
  • Taggen und annotieren Sie Ihre Datasets mit relevanten geschäftlichen Metadaten, Informationen zum Eigentum, Vertraulichkeitsstufen und Details zur Herkunft. Verknüpfen Sie beispielsweise ein verarbeitetes Dataset mit seiner Rohquelle und mit der Pipeline, die das Dataset erstellt hat.
  • Erstellen Sie mit Model Registry ein zentrales Repository für Modellversionen. Registrieren Sie jede trainierte Modellversion und verknüpfen Sie sie mit den zugehörigen Metadaten. Die Metadaten können Folgendes enthalten:
    • Trainingsparameter.
    • Bewertungsmesswerte aus Validierungspipelines.
    • Dataset-Version, die für das Training verwendet wurde, wobei die Herkunft bis zum entsprechenden Knowledge Catalog-Eintrag zurückverfolgt werden kann.
    • Codeversion, mit der das Dataset erstellt wurde.
    • Details zum verwendeten Framework oder Foundation Model.
  • Bevor Sie ein Modell in Model Registry importieren, speichern Sie Modellartefakte wie Modelldateien und vortrainierte Gewichtungen in einem Dienst wie Cloud Storage. Speichern Sie benutzerdefinierte Container-Images für die Bereitstellung oder benutzerdefinierte Trainingsjobs in einem sicheren Repository wie Artifact Registry.
  • Damit Daten- und Modell-Assets bei der Erstellung oder Änderung automatisch in den jeweiligen Katalogen registriert und aktualisiert werden, sollten Sie automatisierte Prozesse in Ihren MLOps-Pipelines implementieren. Diese umfassende Katalogisierung ermöglicht eine lückenlose Rückverfolgbarkeit von den Rohdaten bis zur Vorhersage. So können Sie die Eingaben und Prozesse prüfen, die zu einer bestimmten Modellversion oder Vorhersage geführt haben. Die Auditfunktion ist wichtig, um unerwartetes Verhalten zu beheben, die Einhaltung von Datennutzungsrichtlinien sicherzustellen und die Auswirkungen von Daten- oder Modelländerungen im Laufe der Zeit zu verstehen.
  • Bei generativer KI und Foundation Models müssen im Katalog auch Details zum verwendeten Foundation Model, zu den Feinabstimmungsparametern und zu den Bewertungsergebnissen erfasst werden, die für die Qualität und Sicherheit der generierten Ausgabe relevant sind.

Robuste Zugriffssteuerungen und Audit-Trails implementieren

Um das Vertrauen in Ihre KI- und ML-Systeme zu erhalten und die Kontrolle darüber zu behalten, ist es wichtig, dass Sie sensible Daten und Modelle vor unbefugtem Zugriff schützen und die Verantwortlichkeit für alle Änderungen sicherstellen.

  • Implementieren Sie strenge Zugriffssteuerungen und führen Sie detaillierte Audit-Trails für alle Komponenten Ihrer KI- und ML-Systeme in Google Cloud.
  • Definieren Sie detaillierte Berechtigungen in IAM für Nutzer, Gruppen und Dienstkonten, die mit Ihren KI- und ML-Ressourcen interagieren.
  • Folgen Sie dem Prinzip der geringsten Berechtigung.
  • Gewähren Sie nur die für bestimmte Aufgaben erforderlichen Mindestberechtigungen. Ein Trainingsdienstkonto benötigt beispielsweise Lesezugriff auf Trainingsdaten und Schreibzugriff für Modellartefakte, aber der Dienst benötigt möglicherweise keinen Schreibzugriff auf Produktionsbereitstellungsendpunkte.

Wenden Sie IAM-Richtlinien einheitlich auf alle relevanten Assets und Ressourcen in Ihren KI- und ML-Systemen an, einschließlich der folgenden:

  • Cloud Storage-Buckets, die sensible Daten oder Modellartefakte enthalten.
  • BigQuery-Datasets.
  • Agent Platform-Ressourcen wie Modell-Repositories, Endpunkte, Pipelines und Feature Store-Ressourcen.
  • Computing-Ressourcen wie GKE-Cluster und Cloud Run-Dienste.

Verwenden Sie Audits und Logs, um Zugriffsaktivitäten zu erfassen, zu überwachen und zu analysieren:

  • Aktivieren Sie Cloud-Audit-Logs für alle Google Cloud -Dienste, die von Ihrem KI- und ML-System verwendet werden.
  • Konfigurieren Sie Audit-Logs, um detaillierte Informationen zu API-Aufrufen, Datenzugriffsereignissen und Konfigurationsänderungen an Ihren Ressourcen zu erfassen. Überwachen Sie die Logs auf verdächtige Aktivitäten, unbefugte Zugriffsversuche oder unerwartete Änderungen an kritischen Daten oder Modell-Assets.
  • Für Echtzeitanalysen, Benachrichtigungen und Visualisierungen können Sie die Audit-Logs an Logging streamen.
  • Für eine kostengünstige Langzeitspeicherung und retrospektive Sicherheitsanalysen oder Compliance-Audits können Sie die Logs nach BigQuery exportieren.
  • Für ein zentrales Sicherheitsmonitoring können Sie Audit-Logs in Ihre SIEM-Systeme (Security Information and Event Management) einbinden. Überprüfen Sie regelmäßig Zugriffsrichtlinien und Audit-Trails, um sicherzustellen, dass sie Ihren Governance-Anforderungen entsprechen, und um potenzielle Richtlinienverstöße zu erkennen.
  • Verwenden Sie für Anwendungen, die sensible Daten wie personenidentifizierbare Informationen für das Training oder die Inferenz verarbeiten, Sensitive Data Protection-Prüfungen in Pipelines oder im Datenspeicher.
  • Verwenden Sie für generative KI und agentische Lösungen Audit-Trails, um nachzuvollziehen, wer auf bestimmte Modelle oder Tools zugegriffen hat, welche Daten für die Feinabstimmung oder das Prompting verwendet wurden und welche Abfragen an Produktionsendpunkte gesendet wurden. Die Audit-Trails helfen Ihnen, die Verantwortlichkeit sicherzustellen, und liefern wichtige Daten, um Datenmissbrauch oder Richtlinienverstöße zu untersuchen.

Bias, Transparenz und Erklärbarkeit berücksichtigen

Um vertrauenswürdige KI- und ML-Systeme zu entwickeln, müssen Sie potenzielle Verzerrungen berücksichtigen, die in Daten und Modellen inhärent sind, Transparenz im Systemverhalten anstreben und Erklärbarkeit für Modellausgaben bieten. Es ist besonders wichtig, vertrauenswürdige Systeme in sensiblen Bereichen zu entwickeln oder wenn Sie komplexe Modelle verwenden, wie sie typischerweise für generative KI-Anwendungen verwendet werden.

  • Proaktive Maßnahmen implementieren, um Verzerrungen im gesamten MLOps-Lebenszyklus zu erkennen und zu minimieren.
  • Analysieren Sie Trainingsdaten auf Verzerrungen, indem Sie Tools verwenden, die Abweichungen in der Verteilung von Merkmalen über verschiedene demografische Gruppen oder sensible Attribute hinweg erkennen.
  • Bewerten Sie die Gesamtleistung des Modells und die Leistung für vordefinierte Datensegmente. So können Sie unterschiedliche Leistungen oder Verzerrungen erkennen, die sich auf bestimmte Untergruppen auswirken.

Verwenden Sie für die Transparenz und Erklärbarkeit von Modellen Tools, die Nutzern und Entwicklern helfen, zu verstehen, warum ein Modell eine bestimmte Vorhersage oder Ausgabe erzeugt hat.

  • Für tabellarische Modelle, die auf Agent Platform-Endpunkten bereitgestellt werden, können Sie Feature-Attributionen generieren, die die Eingabefeatures angeben, die am meisten zur Vorhersage beigetragen haben.
  • Mit modellunabhängigen Tools wie dem What-If-Tool, das in TensorBoard eingebunden ist, können Sie das Modellverhalten und potenzielle Verzerrungen in einem Dataset interaktiv untersuchen.
  • Integrieren Sie Erklärbarkeit in Ihre Monitoring-Dashboards. In Situationen, in denen das Verständnis der Argumentation des Modells für das Vertrauen oder die Entscheidungsfindung wichtig ist, sollten Sie den Endnutzern über Ihre Anwendungsoberflächen direkt Erklärbarkeitsdaten zur Verfügung stellen.
  • Erklären Sie bei komplexen Modellen wie LLMs, die für generative KI-Modelle verwendet werden, den Prozess, den ein Agent befolgt hat, z. B. mithilfe von Trace-Logs. Die Erklärbarkeit ist bei solchen Modellen relativ schwierig, aber dennoch wichtig.
  • Geben Sie in RAG-Anwendungen Quellenangaben für abgerufene Informationen an. Sie können auch Techniken wie Prompt Engineering verwenden, um das Modell dazu zu bringen, Erklärungen zu liefern oder seine Begründungsschritte aufzuzeigen.
  • Implementieren Sie ein kontinuierliches Monitoring in der Produktion, um Veränderungen im Modellverhalten oder in den Ausgaben zu erkennen, die auf eine aufkommende Verzerrung oder Unfairness hindeuten könnten. Dokumentieren Sie die Einschränkungen des Modells, die vorgesehenen Anwendungsfälle und bekannte potenzielle Verzerrungen als Teil der Metadaten des Modells in der Model Registry.

Ganzheitliche Verfahren für Beobachtbarkeit und Zuverlässigkeit von KI und ML implementieren

Eine ganzheitliche Beobachtbarkeit ist für die Verwaltung komplexer KI- und ML-Systeme in der Produktion unerlässlich. Sie ist auch wichtig, um die Zuverlässigkeit komplexer KI- und ML-Systeme zu messen, insbesondere bei generativer KI, da diese komplex, ressourcenintensiv und potenziell unvorhersehbar ist. Ganzheitliche Beobachtbarkeit umfasst die Beobachtung von Infrastruktur, Anwendungscode, Daten und Modellverhalten, um Informationen für die proaktive Erkennung, Diagnose und Behebung von Problemen zu erhalten. Diese Beobachtbarkeit führt letztendlich zu leistungsstarken, zuverlässigen Systemen. Für eine ganzheitliche Beobachtbarkeit müssen Sie Folgendes tun:

  • SRE-Prinzipien anwenden
  • Definieren Sie klare Zuverlässigkeitsziele.
  • Messwerte über Systemebenen hinweg verfolgen.
  • Nutzen Sie die Erkenntnisse aus der Beobachtbarkeit für kontinuierliche Verbesserungen und proaktives Management.

Wenn Sie ganzheitliche Beobachtbarkeits- und Zuverlässigkeitspraktiken für KI- und ML-Arbeitslasten in Google Cloudimplementieren möchten, sollten Sie die folgenden Empfehlungen beachten.

Zuverlässigkeitsziele und Geschäftsmesswerte festlegen

Ermitteln Sie die Leistungskennzahlen (KPIs), die direkt von Ihrem KI- und ML-System beeinflusst werden. Zu den KPIs können der Umsatz, der durch KI-Empfehlungen beeinflusst wird, die Kundenabwanderung, die von den KI-Systemen vorhergesagt oder gemindert wurde, sowie die Nutzerinteraktion und die Conversion-Raten gehören, die durch generative KI-Funktionen gesteigert werden.

Definieren Sie für jeden KPI die entsprechenden technischen Zuverlässigkeitsmesswerte, die sich auf den KPI auswirken. Wenn der KPI beispielsweise „Kundenzufriedenheit mit einem konversationellen KI-Assistenten“ lautet, können die entsprechenden Zuverlässigkeitsmesswerte Folgendes umfassen:

  • Die Erfolgsquote von Nutzeranfragen.
  • Die Latenz von Antworten: Zeit bis zum ersten Token (TTFT) und Token-Streaming für LLMs.
  • Die Rate irrelevanter oder schädlicher Antworten.
  • Die Rate der erfolgreichen Aufgabenerledigung durch den KI-Agenten.

Für das KI- und ML-Training können Zuverlässigkeitsmesswerte die FLOPS-Auslastung des Modells (MFU), Iterationen pro Sekunde, Tokens pro Sekunde und Tokens pro Gerät umfassen.

Um die Zuverlässigkeit von KI und ML effektiv zu messen und zu verbessern, sollten Sie zuerst klare Zuverlässigkeitsziele festlegen, die mit den übergeordneten Geschäftszielen übereinstimmen. Übernehmen Sie den SRE-Ansatz, indem Sie SLOs definieren, die akzeptable Zuverlässigkeits- und Leistungsniveaus für Ihre KI- und ML-Dienste aus Sicht der Nutzer quantifizieren. Quantifizieren Sie diese technischen Zuverlässigkeitsmesswerte mit spezifischen SLO-Zielen.

Im Folgenden finden Sie Beispiele für SLO-Ziele:

  • 99,9 % der API-Aufrufe müssen eine erfolgreiche Antwort zurückgeben.
  • Die Inferenzlatenz im 95. Perzentil muss unter 300 ms liegen.
  • Die TTFT muss bei 99 % der Anfragen unter 500 ms liegen.
  • Die Rate schädlicher Ausgaben muss unter 0,1 % liegen.

Wenn Sie SLOs direkt an den Geschäftsanforderungen ausrichten, können Sie sicherstellen, dass sich die Zuverlässigkeitsbemühungen auf das wichtigste Systemverhalten konzentrieren, das sich auf Nutzer und das Unternehmen auswirkt. Dieser Ansatz trägt dazu bei, Zuverlässigkeit in eine messbare und umsetzbare technische Eigenschaft zu verwandeln.

Infrastruktur- und Anwendungsleistung überwachen

Infrastrukturmesswerte für alle Ressourcen erfassen, die von Ihren KI- und ML-Systemen verwendet werden. Zu den Messwerten gehören die Prozessornutzung (CPU, GPU und Cloud TPU), die Speichernutzung, der Netzwerkdurchsatz und die Netzwerklatenz sowie die Laufwerk-E/A. Verfolgen Sie die Messwerte für verwaltete Umgebungen wie Agent Platform-Training und -Bereitstellung sowie für selbstverwaltete Ressourcen wie GKE-Knoten und Cloud Run-Instanzen.

Überwachen Sie die vier wichtigen Signale für Ihre KI- und ML-Anwendungen:

  • Latenz: Zeit, die für die Beantwortung von Anfragen benötigt wird.
  • Traffic: Volumen der Anfragen oder Arbeitslast.
  • Fehlerrate: Rate der fehlgeschlagenen Anfragen oder Vorgänge.
  • Auslastung: Nutzung kritischer Ressourcen wie CPU, Arbeitsspeicher und GPU- oder Cloud TPU-Beschleuniger, die angibt, wie nahe Ihr System an seinen Kapazitätsgrenzen ist.

Führen Sie das Monitoring mit den folgenden Techniken durch:

  • Infrastruktur- und Anwendungsmesswerte mit Monitoring erfassen, speichern und visualisieren. Sie können vordefinierte Dashboards für Google Cloud -Dienste verwenden und benutzerdefinierte Dashboards erstellen, die auf die spezifischen Leistungsindikatoren und den Infrastrukturzustand Ihrer Arbeitslast zugeschnitten sind.
  • Erfassen Sie mit Logging detaillierte Logs von Ihren KI- und ML-Anwendungen und der zugrunde liegenden Infrastruktur. Diese Logs sind für die Fehlerbehebung und Leistungsanalyse unerlässlich. Sie liefern Kontext zu Ereignissen und Fehlern.
  • Mit Cloud Trace können Sie Latenzprobleme lokalisieren und Anfrageflüsse in verteilten KI- und ML-Mikrodiensten nachvollziehen. Diese Funktion ist entscheidend für das Debugging komplexer Agent Conversation-Interaktionen oder Inferenzpipelines mit mehreren Komponenten.
  • Mit Cloud Profiler Leistungsengpässe in Funktionsblöcken im Anwendungscode identifizieren. Durch das Identifizieren von Leistungsengpässen können Sie die Ressourcennutzung und die Ausführungszeit optimieren.
  • Erfassen Sie mit Tools wie dem NVIDIA Data Center GPU Manager (DCGM) spezifische Beschleunigermesswerte wie die detaillierte GPU-Auslastung pro Prozess, die Speichernutzung pro Prozess und die Temperatur.

Daten- und Modellbeobachtbarkeit implementieren

Zuverlässige Systeme für generative KI erfordern eine robuste Daten- und Modellbeobachtbarkeit, die mit einem End-to-End-Pipeline-Monitoring beginnt.

  • Verfolgen Sie die Datenaufnahmeraten, die verarbeiteten Volumina und die Transformationslatenzen mit Diensten wie Dataflow.
  • Überwachen Sie die Erfolgs- und Fehlerraten von Jobs in Ihren MLOps-Pipelines, einschließlich Pipelines, die von Agent Platform Pipelines verwaltet werden.

Eine kontinuierliche Bewertung der Datenqualität ist entscheidend.

  • Daten mit Knowledge Catalog verwalten und steuern:
    • Bewerten Sie die Genauigkeit, indem Sie sie mit der Grundwahrheit vergleichen oder die Erkennungsraten von Ausreißern verfolgen.
    • Überwachen Sie die Aktualität anhand des Alters der Daten und der Häufigkeit von Aktualisierungen im Vergleich zu SLAs.
    • Bewerten Sie die Vollständigkeit, indem Sie den Prozentsatz der Nullwerte und die Ausfüllraten für Pflichtfelder im Blick behalten.
    • Prüfen Sie die Gültigkeit und Konsistenz, indem Sie die Einhaltung des Schemas und Duplikate prüfen.
  • Anomalien proaktiv erkennen, indem Sie Monitoring-Benachrichtigungen und eine klare Datenherkunft für die Nachverfolgbarkeit verwenden.
  • Prüfen Sie bei RAG-Systemen die Relevanz des abgerufenen Kontexts und die Fundiertheit (Zuordnung zur Quelle) der Antworten.
  • Durchsatz von Vektordatenbankabfragen überwachen

Zu den wichtigsten Messwerten für die Modellbeobachtbarkeit gehören die Anzahl der Eingabe- und Ausgabetokens sowie modellspezifische Fehlerraten, z. B. Halluzinationen oder Fehler bei der Abfrageauflösung. Verwenden Sie das Modellmonitoring auf der Agent Platform, um diese Messwerte zu erfassen.

  • Überwachen Sie kontinuierlich die Toxizitätswerte der Ausgabe und die Nutzerfeedback-Bewertungen.
  • Mit dem Gen AI Evaluation Service können Sie die Bewertung von Modellausgaben anhand definierter Kriterien automatisieren.
  • Sorgen Sie für eine nachhaltige Leistung, indem Sie systematisch auf Daten- und Konzeptabweichungen mit umfassenden Fehlerratenmesswerten achten.

Zum Erfassen von Modellmesswerten können Sie TensorBoard oder MLflow verwenden. Für eine detaillierte Analyse und Profilerstellung zur Behebung von Leistungsproblemen können Sie Profile für Modelle auf Cloud TPU-VMs erstellen oder NVIDIA Nsight verwenden.

Beitragende

Autor*innen:

Weitere Beitragende: