Dieses Dokument im Google Cloud Well-Architected Framework: AI & ML perspective bietet einen Überblick über die Prinzipien und Empfehlungen zum Entwerfen und Betreiben zuverlässiger KI- und ML-Systeme auf Google Cloud. Es wird erläutert, wie Sie erweiterte Zuverlässigkeitsverfahren und Beobachtbarkeit in Ihre Architekturpläne integrieren. Die Empfehlungen in diesem Dokument entsprechen der Zuverlässigkeitssäule des Google Cloud 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 den besonderen Anforderungen von prädiktivem ML und generativer KI gerecht zu werden, benötigen Sie robuste, zuverlässige und anpassungsfähige KI- und ML-Systeme. Um die Komplexität von MLOps zu bewältigen – von der Entwicklung über die Bereitstellung bis hin zur kontinuierlichen Verbesserung –, müssen Sie einen zuverlässigkeitsorientierten Ansatz verfolgen. Google Cloud bietet eine speziell entwickelte KI-Infrastruktur, die auf den Prinzipien von 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 Grundsätzen zugeordnet:
- Sorgen Sie dafür, dass die Infrastruktur skalierbar und hochverfügbar ist.
- Modulare und lose gekoppelte Architektur verwenden
- Automatisierte End-to-End-MLOps-Plattform erstellen
- Vertrauen und Kontrolle durch Data und Model Governance aufrechterhalten
- Ganzheitliche Verfahren für Beobachtbarkeit und Zuverlässigkeit implementieren
Sorgen Sie dafür, dass die ML-Infrastruktur skalierbar und hochverfügbar ist.
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 Datenankunftsraten, Trainingshäufigkeit und Inferenz-Traffic. Durch die automatische und dynamische Skalierung werden Infrastrukturressourcen nahtlos an Bedarfsschwankungen angepasst. Durch effektives Skalieren Ihrer Arbeitslasten können Sie Ausfallzeiten vermeiden, die Leistung aufrechterhalten und die Kosten optimieren.
Wenn Sie Ihre KI- und ML-Arbeitslasten automatisch skalieren möchten, verwenden Sie die folgenden Produkte und Funktionen in Google Cloud:
- Datenverarbeitungs-Pipelines: Erstellen Sie Datenpipelines in Dataflow. Konfigurieren Sie die Pipelines so, dass sie das horizontale Autoscaling von Dataflow verwenden. Damit wird die Anzahl der Worker-Instanzen dynamisch an die CPU-Auslastung, die Parallelität der Pipeline und die ausstehenden Daten angepasst. Sie können Autoscaling-Parameter über Pipelineoptionen konfigurieren, wenn Sie Jobs starten.
- Trainingsjobs: Mit benutzerdefiniertem Vertex AI-Training können Sie die Skalierung von Trainingsjobs automatisieren. 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 im Trainingscode Checkpointing implementiert ist, können Sie die Kosten durch die Verwendung von Spot-VMs senken.
- Online-Inferenz: Verwenden Sie für die Online-Inferenz Vertex AI-Endpunkte. Wenn Sie Autoscaling aktivieren möchten, konfigurieren Sie die minimale und maximale Anzahl von Replicas. Geben Sie für Hochverfügbarkeit mindestens zwei Replikate an. Vertex AI passt die Anzahl der Replikate automatisch an den Traffic und die konfigurierten Autoscaling-Messwerte wie CPU-Auslastung und Replikatnutzung an.
- Containerisierte Arbeitslasten in Google Kubernetes Engine:Autoscaling auf Knoten- und Pod-Ebene konfigurieren. Konfigurieren Sie das Cluster-Autoscaling und die automatische Knotenbereitstellung, um die Anzahl der Knoten basierend auf ausstehenden Pod-Ressourcenanfragen wie CPU, Arbeitsspeicher, GPU und TPU anzupassen. Verwenden Sie das horizontale Pod-Autoscaling (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 wie GPU- oder TPU-Auslastung und Vorhersageanfragen pro Sekunde ausführen.
- 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, um GPU-fähige Instanzen automatisch zu skalieren, 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 die Anzahl der Instanzen effizient auf null skaliert. Sie können die automatische, anfragegesteuerte Skalierung von Cloud Run nutzen, um Vertex AI-Agents und Drittanbieterarbeitslasten wie quantisierte Modelle mit Ollama, LLM-Modellinferenz mit vLLM und Huggingface Text Generation Inference (TGI) bereitzustellen.
Für Hochverfügbarkeit und Fehlertoleranz entwerfen
Für KI- und ML-Arbeitslasten auf Produktionsniveau ist es entscheidend, dass Sie für einen kontinuierlichen Betrieb und eine hohe Ausfallsicherheit sorgen. Um Hochverfügbarkeit und Fehlertoleranz zu implementieren, müssen Sie Redundanz und Replikation in Ihre Architektur auf Google Cloudeinbauen. So wird sichergestellt, dass ein Fehler einer einzelnen Komponente nicht zu einem Fehler des gesamten Systems führt.
- Um eine hohe Verfügbarkeit und geringe Latenz bei der Modellbereitstellung zu erreichen, insbesondere für Echtzeitinferenz und generative KI-Modelle, sollten Sie Ihre Bereitstellungen auf mehrere Standorte verteilen.
- Für globale Verfügbarkeit und Ausfallsicherheit stellen Sie die Modelle in mehreren Vertex AI-Endpunkten in Google Cloud Regionen bereit oder verwenden Sie den globalen Endpunkt.
- Globales Load-Balancing zum Weiterleiten von Traffic verwenden
- Wenn Sie das Training auf GKE- oder Compute Engine-MIGs ausführen, implementieren Sie die Überwachung für Xid-Fehler. Wenn Sie Xid-Fehler feststellen, ergreifen Sie entsprechende Abhilfemaßnahmen. Beispiele: GPUs zurücksetzen, Compute Engine-Instanzen zurücksetzen oder Hardwareaustausch mit dem Befehl gcloud CLI report faulty host auslösen.
- Sehen Sie sich fehlertolerante oder elastische und robuste Trainingslösungen an, z. B. Rezepte für die Verwendung der Google Resiliency Library oder die Integration der Logik für robustes Training mit Pathways für TPU-Arbeitslasten.
Implementieren Sie Redundanz für kritische KI- und ML-Komponenten in Google Cloud. Im Folgenden finden Sie Beispiele für Produkte und Funktionen, 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 Cloud Storage-Buckets für mehrere Regionen oder Dual-Region-Buckets verwenden.
- Verwenden Sie Spanner für die global konsistente, hochverfügbare Speicherung von Metadaten.
- Cloud SQL-Lesereplikate für operative Datenbanken konfigurieren.
- Vektordatenbanken für Retrieval Augmented Generation (RAG) müssen hochverfügbar und multizonal oder multiregional sein.
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 spezieller Hardware wie GPUs und TPUs. Daher ist es entscheidend, dass Sie ein proaktives Ressourcenmanagement anwenden und die Verfügbarkeit von Ressourcen sicherstellen.
Planen Sie die Kapazität anhand von historischen Monitoring-Daten wie GPU- oder TPU-Auslastung und Durchsatzraten aus Cloud Monitoring und Logs in Cloud Logging. Analysieren Sie diese Telemetriedaten mit BigQuery oder Looker Studio und prognostizieren Sie die zukünftige Nachfrage nach GPUs basierend auf Wachstum oder neuen Modellen. Die Analyse von Mustern und Trends bei der Ressourcennutzung hilft Ihnen, vorherzusagen, wann und wo Sie kritische spezialisierte Beschleuniger benötigen.
- Kapazitätsschätzungen durch rigorose Lasttests validieren Simulieren Sie Traffic für KI- und ML-Dienste wie Bereitstellung und Pipelines mit Tools wie Apache JMeter oder LoadView.
- Systemverhalten unter Belastung analysieren
- Um den erhöhten Anforderungen an Arbeitslasten in der Produktion gerecht zu werden, sollten Sie den Ressourcenbedarf proaktiv ermitteln. Beobachten Sie Latenz, Durchsatz, Fehler und Ressourcennutzung, insbesondere GPU- und TPU-Nutzung. Erhöhen Sie die Ressourcenkontingente nach Bedarf.
- Testen Sie für die Bereitstellung generativer KI unter hoher gleichzeitiger Last und ermitteln Sie, ab welchem Niveau die Verfügbarkeit von Beschleunigern die Leistung einschränkt.
- Führen Sie ein kontinuierliches Monitoring für Modellanfragen durch und richten Sie proaktive Benachrichtigungen für Agents ein.
- Im Dashboard zur Modellbeobachtbarkeit können Sie Messwerte ansehen, die von Cloud Monitoring erfasst werden, z. B. Modellabfragen pro Sekunde (QPS), Token-Durchsatz und Latenzen für das erste Token.
Ressourcenverfügbarkeit und -beschaffung optimieren
Optimieren Sie die Kosten und sorgen Sie für die Verfügbarkeit von Ressourcen, indem Sie auf Grundlage der Arbeitslastanforderungen strategisch die geeigneten Rechenressourcen 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.
Für GKE-Knoten und Compute Engine-VMs können Sie Spot-VMs und Dynamic Workload Scheduler (DWS) verwenden:
- Verwenden Sie für fehlertolerante Aufgaben wie Auswertungs- und Testarbeitslasten Spot-VMs. Spot-VMs können vorzeitig beendet werden, aber sie können dazu beitragen, Ihre Gesamtkosten zu senken.
- Um das Risiko von Preemption bei Accelerators mit hoher Nachfrage zu verringern, können Sie die Verfügbarkeit mit DWS verbessern.
- Für komplexes Batch-Training, für das High-End-GPUs erforderlich sind und das bis zu sieben Tage dauert, verwenden Sie 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 TPUs (Trillium) reservieren.
Um die KI-Inferenz in GKE zu optimieren, können Sie eine vLLM-Engine ausführen, die TPUs und GPUs dynamisch verwendet, um auf schwankende Kapazitäts- und Leistungsanforderungen zu reagieren. Weitere Informationen finden Sie unter vLLM GPU/TPU Fungibility.
Verwenden Sie für komplexe Szenarien mit komplexen Ressourcen- und Topologieanforderungen, die Beschleuniger umfassen, Tools zur Abstraktion der Ressourcenverwaltung.
- Mit Cluster Director können Sie Beschleunigergruppen mit Colocation und Scheduling 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 on Vertex AI abstrahiert die Infrastruktur für verteiltes Computing. Damit können Anwendungen Ressourcen für Training und Bereitstellung anfordern, ohne dass VMs und Container direkt verwaltet werden müssen.
Eingehenden Traffic auf mehrere Instanzen verteilen
Ein effektives Load-Balancing ist entscheidend für KI-Anwendungen mit schwankenden Anforderungen. Load-Balancing verteilt den Traffic, optimiert die Ressourcennutzung, sorgt für hohe Verfügbarkeit und niedrige Latenz und trägt zu einer reibungslosen 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 TPU-Beschleunigern für rechenintensive Aufgaben wie generative KI und LLM-Inferenz. Konfigurieren Sie detaillierte Systemdiagnosen, um den Modellstatus zu bewerten. Verwenden Sie Serving-Frameworks wie vLLM oder Triton für LLM-Messwerte und binden Sie die Messwerte mit Google Cloud Managed Service for Prometheus in Cloud Monitoring ein.
- Inferenzarbeitslasten, für die GPUs oder TPUs erforderlich sind: Damit kritische KI- und ML-Inferenzarbeitslasten immer auf Maschinen ausgeführt werden, die den Anforderungen der Arbeitslasten entsprechen, insbesondere wenn die GPU- und TPU-Verfügbarkeit eingeschränkt ist, verwenden Sie benutzerdefinierte GKE-Compute-Klassen. Sie können bestimmte Compute-Profile mit Fallback-Richtlinien für die automatische Skalierung definieren. Sie können beispielsweise ein Profil definieren, in dem reservierte GPU- oder TPU-Instanzen eine höhere Priorität haben. 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 Kosten- und Verwaltungsgründen können Sie beispielsweise Anfragen mit geringem GPU-Bedarf an Cloud Run und komplexere, GPU-intensive Aufgaben an GKE weiterleiten. Für die Kommunikation zwischen Diensten und die Richtlinienverwaltung können Sie ein Service Mesh mit Cloud Service Mesh implementieren. Sorgen Sie mit Cloud Logging und Cloud Monitoring für einheitliches Logging und Monitoring.
- Globale Lastverteilung: Wenn Sie Traffic von globalen Nutzern mit geringer Latenz ausgleichen möchten, verwenden Sie einen globalen externen Application Load Balancer. Konfigurieren Sie das Geolocation-Routing zur nächstgelegenen Region und implementieren Sie Failover. Richten Sie die regionale Endpunktreplizierung in Vertex AI oder GKE ein. Cloud CDN für statische Assets konfigurieren Globalen Traffic und die Latenz mit Cloud Monitoring überwachen
- Granulare Traffic-Verwaltung: Implementieren Sie für Anfragen mit unterschiedlichen Datentypen oder Komplexität und für Anfragen mit langer Laufzeit eine granulare Traffic-Verwaltung.
- Konfigurieren Sie inhaltsbasiertes Routing, um Anfragen basierend auf Attributen wie URL-Pfaden und Headern an spezialisierte Back-Ends weiterzuleiten. So können Sie beispielsweise Anfragen für Bild- oder Videomodelle an GPU-fähige Back-Ends und Anfragen für textbasierte Modelle an CPU-optimierte Back-Ends weiterleiten.
- Verwenden Sie für zeitaufwendige generative KI-Anfragen oder Batcharbeitslasten WebSockets oder gRPC. Implementieren Sie die Traffic-Verwaltung, um Zeitüberschreitungen und Pufferung zu verarbeiten. Konfigurieren Sie Zeitüberschreitungen und Wiederholungsversuche für Anfragen und implementieren Sie Ratenbegrenzung 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, in sich geschlossene Komponenten unterteilt, die über gut definierte Schnittstellen interagieren. Diese Architektur minimiert Modulabhängigkeiten, vereinfacht die Entwicklung und das Testen, verbessert die Reproduzierbarkeit und erhöht die Fehlertoleranz durch die Eindämmung von Fehlern. Der modulare Ansatz ist entscheidend, um die Komplexität zu bewältigen, Innovationen zu beschleunigen und die langfristige Wartbarkeit zu gewährleisten.
Berücksichtigen Sie die folgenden Empfehlungen, um eine modulare und lose gekoppelte Architektur für KI- und ML-Arbeitslasten zu entwerfen.
Kleine, in sich geschlossene Module oder Komponenten implementieren
Teilen Sie Ihr End-to-End-KI- und ML-System in kleine, in sich geschlossene Module oder Komponenten auf. Jedes Modul oder jede Komponente ist für eine bestimmte Funktion verantwortlich, z. B. für die Datenerfassung, die Feature-Transformation, das Modelltraining, die Bereitstellung von Inferenzanfragen oder die Bewertung. Ein modulares Design bietet mehrere wichtige Vorteile für KI- und ML-Systeme: verbesserte Wartungsfreundlichkeit, erhöhte Skalierbarkeit, Wiederverwendbarkeit sowie mehr Flexibilität und Agilität.
In den folgenden Abschnitten werden Produkte, Funktionen und Tools beschrieben, mit denen Sie eine modulare Architektur für Ihre KI- und ML-Systeme entwerfen können. Google Cloud
Containerisierte Mikrodienste in GKE
Bei komplexen KI- und ML-Systemen oder komplizierten generativen KI-Pipelines, die eine detaillierte Orchestrierung erfordern, sollten Sie Module als Mikrodienste implementieren, die mit GKE orchestriert werden. Verpacken Sie jede einzelne Phase als separaten Mikrodienst in Docker-Containern. Diese verschiedenen Phasen umfassen die Datenaufnahme, die auf unterschiedliche Formate zugeschnitten ist, die spezielle Datenvorverarbeitung oder das Feature Engineering, das verteilte Training oder die Feinabstimmung großer Fundierungsmodelle, die Bewertung oder die Bereitstellung.
Stellen Sie die containerisierten Mikrodienste in GKE bereit und nutzen Sie das automatisierte Skalieren basierend auf CPU- und Arbeitsspeicherauslastung oder benutzerdefinierten Messwerten wie GPU-Auslastung, Rolling Updates und reproduzierbaren Konfigurationen in YAML-Manifesten. Sorgen Sie für eine effiziente Kommunikation zwischen den Mikrodiensten, indem Sie GKE Service Discovery verwenden. Verwenden Sie für asynchrone Muster Message Queues wie Pub/Sub.
Mit dem Ansatz „Mikrodienste in GKE“ können Sie skalierbare, robuste Plattformen für Aufgaben wie komplexe RAG-Anwendungen 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 eignen sich 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 wenn es Modellaktualisierungen in Artifact Registry gibt. Verwenden Sie Cloud Run für Webhook-Aufgaben oder Dienste, die eine Containerumgebung benötigen.
Cloud Run-Dienste und Cloud Run-Funktionen können schnell skaliert werden und auf null herunterskaliert werden, was dazu beiträgt, dass die Kosten für schwankende Arbeitslasten effizient sind. Diese Dienste eignen sich für modulare Komponenten in Vertex AI Agents-Workflows. Sie können Komponentenfolgen mit Workflows oder Application Integration orchestrieren.
Verwaltete Vertex AI-Dienste
Vertex AI-Dienste unterstützen die Modularität und helfen Ihnen, die Entwicklung und Bereitstellung Ihrer KI- und ML-Systeme zu vereinfachen. Die Dienste abstrahieren die Komplexität der Infrastruktur, sodass Sie sich auf die Anwendungslogik konzentrieren können.
- Verwenden Sie Vertex AI Pipelines, um Workflows zu orchestrieren, die aus modularen Schritten bestehen.
- Wenn Sie benutzerdefinierten KI- und ML-Code ausführen möchten, verpacken Sie den Code in Docker-Containern, die auf verwalteten Diensten wie benutzerdefiniertem Training in Vertex AI und Vorhersage in Vertex AI ausgeführt werden können.
- Verwenden Sie für modulare Pipelines zur Feature-Entwicklung Vertex AI Feature Store.
- Für die modulare Analyse und das Prototyping können Sie Notebook-Umgebungen wie Vertex AI 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 Status. Um die Interoperabilität zwischen Frameworks wie LangChain, LangGraph, LlamaIndex und Vertex AI zu ermöglichen, können Sie das ADK mit dem Agent2Agent-Protokoll (A2A) und dem Model Context Protocol (MCP) kombinieren. Dank dieser Interoperabilität können Sie Agent-Workflows mit verschiedenen Komponenten erstellen.
Sie können Agents in Vertex AI Agent Engine bereitstellen. Das ist eine verwaltete Laufzeit, die für die skalierbare Agent-Bereitstellung optimiert ist. Wenn Sie containerisierte Agents ausführen möchten, können Sie die Autoscaling-Funktionen in Cloud Run nutzen.
Gut definierte Schnittstellen entwerfen
Um robuste und wartungsfreundliche Softwaresysteme zu entwickeln, ist es entscheidend, 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 Entwicklungs-Workflows für einzelne Module.
In den folgenden Abschnitten finden Sie Informationen, die Ihnen helfen, eine nahtlose Kommunikation und Integration zwischen den Modulen Ihrer KI- und ML-Systeme zu gewährleisten.
Protokollauswahl
- Für universellen Zugriff sollten Sie HTTP-APIs verwenden, sich an RESTful-Prinzipien halten und JSON für den sprachunabhängigen Datenaustausch nutzen. Entwerfen Sie die API-Endpunkte so, dass sie Aktionen für Ressourcen darstellen.
- Für die leistungsstarke interne Kommunikation zwischen Mikrodiensten sollten Sie gRPC mit Protocol Buffers (ProtoBuf) für eine effiziente Serialisierung und strenge Typisierung verwenden. Definieren Sie Datenstrukturen wie ModelInput, PredictionResult oder ADK Tool-Daten mithilfe von
.proto
-Dateien und generieren Sie dann Sprachbindungen. - Verwenden Sie für Anwendungsfälle, in denen die Leistung entscheidend ist, gRPC-Streaming für große Datasets oder für kontinuierliche Streams wie Live-Text-zu-Sprache- oder Videoanwendungen. Stellen Sie die gRPC-Dienste in GKE bereit.
Standardisierte und umfassende Dokumentation
Unabhängig vom gewählten Schnittstellenprotokoll ist eine standardisierte Dokumentation unerlässlich. 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, dass Ihre API leichter gefunden und in Clients eingebunden werden kann. Verwenden Sie für die API-Erstellung und ‑Visualisierung UI-Tools wie den Swagger Editor. Um die Entwicklung zu beschleunigen und die 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 Google Cloud verwalteten Diensten wie Vertex AI
Sie haben die Wahl zwischen der höheren Abstraktion des Vertex AI SDK, die für die Entwicklungsproduktivität bevorzugt wird, und der detaillierten Steuerung, die die REST API bietet.
- Das Vertex AI SDK vereinfacht Aufgaben und die Authentifizierung. Verwenden Sie das SDK, wenn Sie mit Vertex AI 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 kein SDK verfügbar ist, oder wenn Sie eine detaillierte Steuerung benötigen.
APIs verwenden, um Module zu isolieren und Implementierungsdetails zu abstrahieren
Aus Sicherheits-, Skalierbarkeits- und Sichtbarkeitsgründen ist es entscheidend, dass Sie ein robustes API-Management 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 verfügbar gemacht 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 trägt dazu bei, Zugriffspunkte zu konsolidieren, API-Verträge zu erzwingen und Sicherheitsfunktionen wie API-Schlüssel und OAuth 2.0 zu verwalten. Um Back-Ends vor Überlastung zu schützen und die Zuverlässigkeit zu gewährleisten, sollten Sie Ratenbegrenzungen und Nutzungskontingente in API Gateway implementieren.
- Cloud Endpoints:Um die API-Entwicklung und -Bereitstellung in GKE und Cloud Run zu optimieren, können Sie Cloud Endpoints verwenden. Diese bieten eine entwicklerfreundliche Lösung zum Generieren von API-Schlüsseln. Außerdem bietet sie integriertes Monitoring und Tracing für API-Aufrufe und automatisiert die Generierung von OpenAPI-Spezifikationen, was die Dokumentation und Clientintegration vereinfacht. Mit Cloud 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 im Unternehmensmaßstab, insbesondere für anspruchsvolle generative KI-APIs, bietet Apigee eine erweiterte, umfassende API-Verwaltung. Verwenden Sie Apigee für erweiterte Sicherheitsfunktionen wie Bedrohungsschutz und OAuth 2.0, für die Traffic-Verwaltung wie Caching, Kontingente und Vermittlung sowie für Analysen. Mit Apigee können Sie detaillierte Einblicke in API-Nutzungsmuster, Leistung und Interaktionen erhalten, die für das Verständnis der Nutzung von APIs für generative KI entscheidend sind.
Graduelle Fehlertoleranz planen
In KI- und ML-Systemen in der Produktion sind Komponentenausfälle unvermeidlich, genau wie in anderen Systemen. Durch die ordnungsgemäße Herabstufung wird sichergestellt, dass wichtige Funktionen weiterhin ausgeführt werden, möglicherweise mit reduzierter Leistung. So werden vollständige Ausfälle verhindert und die Gesamtverfügbarkeit verbessert. Graceful Degradation ist entscheidend für latenzempfindliche Inferenz, verteiltes Training und generative KI.
In den folgenden Abschnitten werden Techniken beschrieben, mit denen Sie eine reibungslose Herabstufung planen und implementieren können.
Fehlerisolation
- Um fehlerhafte Komponenten in verteilten Architekturen zu isolieren, implementieren Sie das Circuit Breaker-Muster mit 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 Cache-Daten.
Komponentenredundanz
Implementieren Sie für kritische Komponenten Redundanz und automatisches Failover. Verwenden Sie beispielsweise GKE-Mehrzonen- oder regionale Cluster und stellen Sie Cloud Run-Dienste redundant in verschiedenen Regionen bereit. Wenn Sie Traffic an fehlerfreie Instanzen weiterleiten möchten, wenn fehlerhafte Instanzen erkannt werden, verwenden Sie Cloud Load Balancing.
Sorgen Sie für Datenredundanz, indem Sie multiregionale Cloud Storage-Buckets verwenden. Implementieren Sie für verteiltes Training asynchrones Checkpointing, um das Training nach Fehlern fortzusetzen. Verwenden Sie für robustes und flexibles Training Pathways.
Proaktives Monitoring
Durch die sanfte Herabstufung wird die Systemverfügbarkeit bei einem Fehler sichergestellt. Sie müssen jedoch auch proaktive Maßnahmen für kontinuierliche Systemdiagnosen und umfassendes Monitoring implementieren. Erfassen Sie Messwerte, die speziell für KI und ML gelten, z. B. Latenz, Durchsatz und GPU-Auslastung. Erheben Sie außerdem Messwerte für die Verschlechterung der Modellleistung wie Modell- und Datenabweichung mit Cloud Monitoring und Vertex AI Model Monitoring.
Systemdiagnosen können dazu führen, dass fehlerhafte Knoten ersetzt, mehr Kapazität bereitgestellt oder das kontinuierliche Training oder die Feinabstimmung von Pipelines, die aktualisierte Daten verwenden, automatisch ausgelöst werden muss. Dieser proaktive Ansatz trägt dazu bei, sowohl einen auf Genauigkeit basierenden als auch einen sanften Systemabbau zu verhindern und die allgemeine Zuverlässigkeit zu verbessern.
SRE-Methoden
Um den Zustand Ihrer Systeme zu überwachen, sollten Sie SRE-Praktiken anwenden, um Service Level Objectives (SLOs) zu implementieren. Benachrichtigungen zu Verlusten des Fehlerbudgets und zur Burn-Rate können Frühindikatoren für Zuverlässigkeitsprobleme des Systems sein. Weitere Informationen zu SRE-Praktiken finden Sie im Google SRE-Buch.
Automatisierte End-to-End-MLOps-Plattform erstellen
Ein robustes, skalierbares und zuverlässiges KI- und ML-System auf Google Clouderfordert eine automatisierte End-to-End-MLOps-Plattform für den Lebenszyklus der Modellentwicklung. Der Entwicklungszyklus umfasst die erste Datenverarbeitung, das kontinuierliche Modelltraining, die Bereitstellung und das Monitoring in der Produktion. Durch die Automatisierung dieser Phasen auf Google Cloudkönnen Sie wiederholbare Prozesse einrichten, den manuellen Aufwand reduzieren, Fehler minimieren und das Innovationstempo beschleunigen.
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.
Wenn Sie eine automatisierte End-to-End-MLOps-Plattform erstellen möchten, sollten Sie die folgenden Empfehlungen berücksichtigen.
Lebenszyklus der Modellentwicklung automatisieren
Ein Kernelement einer automatisierten MLOps-Plattform ist die Orchestrierung des gesamten KI- und ML-Workflows als Reihe verbundener, automatisierter Schritte: von der Datenvorbereitung und -validierung über das Modelltraining, die Bewertung, die Bereitstellung und das Monitoring.
- Vertex AI Pipelines als zentralen Orchestrator verwenden:
- Definieren Sie End-to-End-Workflows mit modularen Komponenten für Datenverarbeitung, Training, Bewertung und Bereitstellung.
- Pipelineausführungen lassen sich mithilfe von Zeitplänen oder Triggern wie neuen Daten oder Codeänderungen automatisieren.
- Implementieren Sie die automatisierte Parametrisierung und Versionsverwaltung für jeden Pipeline-Lauf und erstellen Sie einen Versionsverlauf.
- Sie können den Fortschritt von Pipelines und die Ressourcennutzung mit integriertem Logging und Tracing überwachen und in Cloud Monitoring-Benachrichtigungen einbinden.
- Sie können Ihre ML-Pipelines programmatisch mit dem Kubeflow Pipelines (KFP) SDK oder dem TensorFlow Extended SDK definieren. Weitere Informationen finden Sie unter Schnittstellen für Vertex AI Pipelines.
- Vorgänge mit Diensten wie Dataflow, benutzerdefiniertes Training in Vertex AI, Vertex AI Model Registry und Vertex AI-Endpunkten orchestrieren. Google Cloud
- Bei Workflows mit generativer KI können Sie die Schritte für die Verwaltung von Prompts, die Batch-Inferenz, die HITL-Bewertung (Human-in-the-Loop) 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 wartungsfreundlicher Bereitstellungen. Die Infrastrukturanforderungen von KI- und ML-Systemen sind dynamisch und komplex. Die Systeme erfordern oft spezielle Hardware wie GPUs und TPUs. 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.
Mit den folgenden Techniken können Sie Ihre Infrastrukturressourcen effektiv als Code verwalten.
Ressourcenbereitstellung automatisieren
Um IaC auf Google Cloudeffektiv zu verwalten, 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 Anforderungen der Arbeitslast optimiert werden. Sie können beispielsweise A100-, H100-, H200- oder B200-GPUs für das Training und L4-GPUs für die Inferenz verwenden.
- Vertex AI-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. Mit dem Cluster Toolkit können Sie die Bereitstellung von KI- und ML-Ressourcen beschleunigen. Das Toolkit bietet Beispiel-Blueprints. Das sind von Google zusammengestellte Terraform-Vorlagen, mit denen Sie einsatzbereite HPC-, KI- und ML-Cluster in Slurm oder GKE bereitstellen können. Sie können den Terraform-Code anpassen und in Ihrem Versionsverwaltungssystem verwalten. Um die Bereitstellung und Aktualisierung von Ressourcen zu automatisieren, können Sie den Code mit Cloud Build in Ihre CI/CD-Pipelines einbinden.
Konfigurationsänderungen automatisieren
Nachdem Sie Ihre Infrastruktur bereitgestellt haben, können Sie die laufenden Konfigurationsänderungen deklarativ verwalten:
- In Kubernetes-zentrierten Umgebungen können Sie Ihre Google Cloud-Ressourcen als Kubernetes-Objekte mit Config Connector verwalten.
- Sie können Vertex AI-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 Konfiguration von Anwendung und Infrastruktur zu integrieren.
- Automatisieren Sie Konfigurationsupdates mit CI/CD-Pipelines und verwenden Sie Vorlagen, um Umgebungsunterschiede zu berücksichtigen.
- Implementieren Sie Konfigurationen für IAM-Richtlinien (Identity and Access Management) und Dienstkonten mit IaC.
In CI/CD einbinden
- Automatisieren Sie den Lebenszyklus der Google Cloud Infrastrukturressourcen, indem Sie IaC in CI/CD-Pipelines mit Tools wie Cloud Build und Infrastructure Manager einbinden.
- Legen Sie Trigger für automatische Updates bei Code-Commits fest.
- Automatisierte Tests und Validierungen in der Pipeline implementieren. Sie können beispielsweise ein Skript erstellen, um die Terraform-Befehle
validate
undplan
automatisch auszuführen. - Konfigurationen als Artefakte speichern und die Versionsverwaltung aktivieren
- Definieren Sie separate Umgebungen wie „dev“, „staging“ und „prod“ mit unterschiedlichen Konfigurationen in der Versionsverwaltung und automatisieren Sie die Umgebungspromotion.
Modellverhalten validieren
Um die Genauigkeit und Relevanz von Modellen im Laufe der Zeit aufrechtzuerhalten, sollten Sie den Trainings- und Evaluierungsprozess 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 Monitorsignale wie Datenabweichung ausgelöst werden oder nach einem Zeitplan ausgeführt werden.
- Verwenden Sie benutzerdefiniertes Training in Vertex AI, um automatisierte Trainingsjobs wie Hyperparameter-Abstimmungsversuche und Konfigurationen für verteiltes Training für größere Modelle zu verwalten.
- Um Foundation Models abzustimmen, können Sie den Abstimmungsprozess automatisieren und die Jobs in Ihre Pipelines einbinden.
- Implementieren Sie die automatisierte Modellversionsverwaltung und speichern Sie trainierte Modellartefakte nach jedem erfolgreichen Trainingsdurchlauf sicher. Sie können die Artefakte in Cloud Storage speichern oder in der Model Registry registrieren.
- Definieren Sie Messwerte für die Bewertung und legen Sie klare Grenzwerte fest, z. B. Mindestgenauigkeit, maximale Fehlerrate und minimalen F1-Wert.
- Achten Sie darauf, dass ein Modell die Grenzwerte erfüllt, um die Bewertung automatisch zu bestehen und für die Bereitstellung infrage zu kommen.
- Bewertungen mit Diensten wie Modellbewertung in Vertex AI automatisieren.
- 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 Vertex AI Experiments. Dieser Ansatz bietet einen Verlauf, der für Vergleiche, das Debugging und die Reproduzierbarkeit nützlich ist.
- Wenn Sie die Hyperparameter-Abstimmung optimieren und die Suche nach optimalen Modellkonfigurationen basierend auf Ihrem definierten Zielvorhaben automatisieren möchten, verwenden Sie Vertex AI Vizier.
- Verwenden Sie Vertex AI TensorBoard, um Trainingsmesswerte zu visualisieren und während der Entwicklung zu debuggen.
Ein- 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 durch die Pipelines fließen. Sie müssen auch die Ein- und Ausgaben an den Komponentengrenzen überprüfen. Eine robuste Validierung aller Ein- und Ausgaben – Rohdaten, verarbeitete Daten, Konfigurationen, Argumente und Dateien – trägt dazu bei, 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 Datenerfassung und ‑vorverarbeitung mit TensorFlow Data Validation (TFDV).
- Mit TFDV-Funktionen können Sie Datenverteilungen im Zeitverlauf beobachten.
- Sie können Trends mit Tools visualisieren, die in Cloud Monitoring eingebunden sind, um Datenabweichungen zu erkennen. Sie können Pipelines für das erneute Trainieren von Modellen automatisch auslösen, wenn sich Datenmuster erheblich ändern.
- Speichern Sie Validierungsergebnisse und ‑messwerte in BigQuery, um sie zu analysieren und den Verlauf zu verfolgen. Archivieren Sie Validierungsartefakte in Cloud Storage.
Pipelinekonfigurationen und Eingabedaten validieren
Um Pipelinefehler oder unerwartetes Verhalten aufgrund falscher Einstellungen zu vermeiden, sollten Sie eine strenge Validierung für alle Pipelinekonfigurationen und Befehlszeilenargumente implementieren:
- Definieren Sie klare Schemas für Ihre Konfigurationsdateien wie YAML oder JSON, indem Sie Schemavalidierungsbibliotheken wie jsonschema für Python verwenden. Konfigurationsobjekte werden anhand dieser Schemas validiert, bevor ein Pipeline-Lauf gestartet und eine Komponente ausgeführt wird.
- Implementieren Sie die Eingabevalidierung für alle Befehlszeilenargumente und Pipelineparameter mit Argument-Parsing-Bibliotheken wie
argparse
. Bei der Validierung sollte auf korrekte Datentypen, gültige Werte und erforderliche Argumente geachtet werden. - Definieren Sie in Vertex AI Pipelines die erwarteten Typen und Eigenschaften von Komponentenparametern mithilfe der integrierten Funktionen zur Validierung von Komponenteneingaben.
- Um die Reproduzierbarkeit von Pipelineausführungen zu gewährleisten und einen Audit-Trail zu führen, sollten Sie validierte, versionierte Konfigurationsdateien in Cloud Storage oder Artifact Registry speichern.
Ein- und Ausgabedateien validieren
Überprüfen Sie Eingabe- und Ausgabedateien wie Datasets, Modellartefakte und Bewertungsberichte auf Integrität und Formatrichtigkeit:
- Dateiformate wie CSV, Parquet und Bildtypen mit Bibliotheken validieren
- Bei großen Dateien oder wichtigen Artefakten sollten Sie 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 Functions (z. B. basierend auf Dateiupload-Ereignissen) oder in Dataflow-Pipelines durch.
- Speichern Sie Validierungsergebnisse in BigQuery, um sie einfacher abrufen und analysieren zu können.
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 umgehend zu erkennen. Dazu gehören die Verwaltung von Modellversionen, die kontrollierte Bereitstellung, die automatisierte Bereitstellung mit CI/CD und das umfassende Monitoring, wie in den folgenden Abschnitten beschrieben.
Modellversionen verwalten
Modelliterationen und zugehörige Artefakte mit Versionsverwaltungstools verwalten:
- Verwenden Sie die Model Registry, um Modellversionen und Metadaten zu verfolgen und Links zu den zugrunde liegenden Modellartefakten zu erstellen.
- Implementieren Sie ein klares Versionsverwaltungsschema (z. B. die semantische Versionsverwaltung). Hängen Sie an jede Modellversion umfassende Metadaten an, z. B. Trainingsparameter, Bewertungsmesswerte aus Validierungspipelines und die Dataset-Version.
- Speichern Sie Modellartefakte wie Modelldateien, vortrainierte Gewichte und Serving-Container-Images in Artifact Registry und nutzen Sie die Versionierungs- und Tagging-Funktionen.
- Um Sicherheits- und Governance-Anforderungen zu erfüllen, müssen Sie strenge Richtlinien für die Zugriffssteuerung für die Modellregistrierung und Artifact Registry definieren.
- Wenn Sie Versionen programmatisch registrieren und verwalten und in automatisierte CI/CD-Pipelines einbinden möchten, verwenden Sie das Vertex AI SDK oder die Vertex AI API.
Kontrolliertes Deployment durchführen
Sie können die Bereitstellung von Modellversionen für Endpunkte mit den Funktionen für die Traffic-Verwaltung Ihrer Bereitstellungsplattform steuern.
- Implementieren Sie ein inkrementelles Deployment mit der Funktion zum Aufteilen des Traffics von Vertex AI-Endpunkten.
- Wenn Sie Ihr Modell in GKE bereitstellen, verwenden Sie erweiterte Traffic-Management-Techniken wie Canary-Deployment:
- Leiten Sie einen kleinen Teil des Produktions-Traffics an eine neue Modellversion weiter.
- Überwachen Sie die Leistung und Fehlerraten kontinuierlich anhand von Messwerten.
- Stellen Sie fest, dass das Modell zuverlässig ist.
- Stellen Sie die Version für den gesamten Traffic bereit.
- A/B-Tests für KI-Agents durchführen:
- Stellen Sie zwei verschiedene Modell-Agent-Versionen oder völlig unterschiedliche Modelle für denselben Endpunkt bereit.
- Traffic auf die Bereitstellungen aufteilen
- Ergebnisse anhand von Geschäftszielen analysieren
- Implementieren Sie automatisierte Rollback-Mechanismen, mit denen der Endpunkt-Traffic schnell auf eine vorherige stabile Modellversion zurückgesetzt werden kann, wenn Monitoring-Benachrichtigungen ausgelöst werden oder Leistungsgrenzwerte überschritten werden.
- Sie können die Einstellungen für die Aufteilung des Traffics und die Bereitstellung programmatisch mit dem Vertex AI SDK oder der Vertex AI API konfigurieren.
- Verwenden Sie Cloud Monitoring, um die Leistung und den Traffic der verschiedenen Versionen zu verfolgen.
- Stellen Sie die Bereitstellung mit CI/CD-Pipelines auf Automatisierung um. Sie können Cloud Build verwenden, um Container zu erstellen, Artefakte zu versionieren und die Bereitstellung für Vertex AI-Endpunkte auszulösen.
- Achten Sie darauf, dass die CI/CD-Pipelines Versionen verwalten und aus Artifact Registry abgerufen werden.
- Bevor Sie Traffic verschieben, führen Sie automatisierte Endpunkttests für die Vorhersagegenauigkeit, Latenz, Durchsatz und API-Funktion aus.
- Speichern Sie alle Konfigurationen in der Versionskontrolle.
Kontinuierlich überwachen
- Verwenden Sie Model Monitoring, um automatisch Leistungsverschlechterungen, Datenabweichungen (Änderungen der Eingabeverteilung im Vergleich zum Training) und Vorhersageabweichungen (Änderungen der Modellausgaben) zu erkennen.
- Konfigurieren Sie Jobs zur Erkennung von Drift mit Grenzwerten und Benachrichtigungen.
- Echtzeitleistung überwachen: Vorhersagelatenz, Durchsatz, Fehlerraten.
- Definieren Sie benutzerdefinierte Messwerte in Cloud Monitoring für geschäftsbezogene KPIs.
- Ergebnisse der Modellüberwachung und benutzerdefinierte Messwerte in Cloud Monitoring für Benachrichtigungen und Dashboards einbinden
- Konfigurieren Sie Benachrichtigungskanäle wie E-Mail, Slack oder PagerDuty und die automatische Fehlerbehebung.
- Verwenden Sie Cloud Logging, um Vorhersage-Logs zu debuggen.
- Monitoring in das Vorfallmanagement einbinden
Beobachten Sie bei Endpunkten für generative KI die Ausgabemerkmale wie Toxizität und Kohärenz:
- Drift beim Bereitstellen von Features überwachen
- Detaillierte Vorhersagevalidierung implementieren: Validieren Sie Ausgaben anhand erwarteter Bereiche und Formate mithilfe benutzerdefinierter Logik.
- Vorhersageverteilungen auf Veränderungen überwachen.
- Ausgabeschema validieren
- Benachrichtigungen für unerwartete Ausgaben und Änderungen konfigurieren
- Echtzeit-Validierungsereignisse mit Pub/Sub verfolgen und darauf reagieren.
Achten Sie darauf, dass die Ergebnisse des umfassenden Monitorings in das kontinuierliche Training einfließen.
Vertrauen und Kontrolle durch Data und Model Governance aufrechterhalten
Die Zuverlässigkeit von KI und ML geht über die technische Verfügbarkeit hinaus. Dazu gehören vertrauenswürdige und robuste Data Governance und Modell-Governance. KI‑Ausgaben können ungenau, voreingenommen oder veraltet sein. Solche Probleme untergraben das Vertrauen und können Schaden anrichten. Umfassende Rückverfolgbarkeit, strenge Zugriffssteuerung, automatisierte Validierung und transparente Verfahren tragen dazu bei, dass KI-Ausgaben zuverlässig und vertrauenswürdig sind und ethische Standards erfüllen.
Damit Sie durch Data und Model Governance Vertrauen und Kontrolle behalten, sollten Sie die folgenden Empfehlungen berücksichtigen.
Daten- und Modellkataloge für die Rückverfolgbarkeit einrichten
Um eine umfassende Nachverfolgung, Prüfung und Herkunftsnachverfolgung Ihrer KI- und ML-Assets zu ermöglichen, sollten Sie während des gesamten Lebenszyklus einen robusten, zentralen Datensatz mit Daten- und Modellversionen führen. Ein zuverlässiger Daten- und Modellkatalog dient als Single Source of Truth für alle Artefakte, die von Ihren KI- und ML-Pipelines verwendet und erstellt werden – von Rohdatendatenquellen und verarbeiteten Datasets bis hin zu trainierten Modellversionen und bereitgestellten Endpunkten.
Mit den folgenden Produkten, Tools und Techniken können Sie Kataloge für Ihre Daten-Assets erstellen und verwalten:
- Mit dem Dataplex Universal Catalog können Sie einen unternehmensweiten Katalog Ihrer Daten-Assets erstellen. Wenn Sie Daten-Assets automatisch ermitteln und Inventare erstellen möchten, integrieren Sie den Dataplex Universal Catalog in Ihre Speichersysteme wie BigQuery, Cloud Storage und Pub/Sub.
- Sorgen Sie für hohe Verfügbarkeit und Langlebigkeit Ihrer Daten, indem Sie sie in multiregionalen oder dual-regionalen Cloud Storage-Buckets speichern. Daten, die Sie in diese Buckets hochladen, werden redundant an mindestens zwei separaten geografischen Orten gespeichert. Diese Redundanz bietet integrierte Resilienz gegen regionale Ausfälle und trägt zur Sicherung der Datenintegrität bei.
- Taggen und annotieren Sie Ihre Datasets mit relevanten Geschäftsmetadaten, Informationen zum Eigentümer, Vertraulichkeitsstufen und Lineage-Details. Verknüpfen Sie beispielsweise ein verarbeitetes Dataset mit seiner Rohdatenquelle und mit der Pipeline, mit der das Dataset erstellt wurde.
- 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 umfassen:
- Trainingsparameter.
- Bewertungsmesswerte aus Validierungspipelines.
- Die Dataset-Version, die für das Training verwendet wurde, mit der Herkunft, die bis zum entsprechenden Dataplex Universal Catalog-Eintrag zurückverfolgt wird.
- Die Codeversion, mit der das Dataset erstellt wurde.
- Details zum verwendeten Framework oder Foundation Model.
- Bevor Sie ein Modell in die Modellregistrierung importieren, speichern Sie Modellartefakte wie Modelldateien und vortrainierte Gewichte in einem Dienst wie Cloud Storage. Speichern Sie benutzerdefinierte Container-Images für Serving- oder benutzerdefinierte Trainingsjobs in einem sicheren Repository wie Artifact Registry.
- Damit Daten- und Modell-Assets bei der Erstellung oder Änderung automatisch in den entsprechenden Katalogen registriert und aktualisiert werden, müssen Sie automatisierte Prozesse in Ihren MLOps-Pipelines implementieren. Diese umfassende Katalogisierung ermöglicht eine End-to-End-Rückverfolgbarkeit von 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 Prüffunktion ist unerlässlich, um unerwartetes Verhalten zu debuggen, die Einhaltung der Richtlinien zur Datennutzung zu gewährleisten und die Auswirkungen von Daten- oder Modelländerungen im Zeitverlauf zu verstehen.
- Bei generativer KI und Foundation Models müssen in Ihrem Katalog auch Details zum verwendeten Foundation Model, zu den Parametern für die Feinabstimmung und zu den Ergebnissen der Bewertung erfasst werden, die sich auf die Qualität und Sicherheit der generierten Ausgabe beziehen.
Robuste Zugriffssteuerungen und Audit-Trails implementieren
Um Vertrauen und Kontrolle in Ihre KI- und ML-Systeme zu bewahren, ist es wichtig, sensible Daten und Modelle vor unbefugtem Zugriff zu schützen und die Verantwortlichkeit für alle Änderungen sicherzustellen.
- Implementieren Sie strenge Zugriffskontrollen 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.
- Halten Sie sich strikt an das Prinzip der geringsten Berechtigung.
- Gewähren Sie nur die für bestimmte Aufgaben erforderlichen Mindestberechtigungen. Ein Dienstkonto für das Training benötigt beispielsweise Lesezugriff auf Trainingsdaten und Schreibzugriff für Modellartefakte, aber 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
- Vertex AI-Ressourcen wie Modell-Repositories, Endpunkte, Pipelines und Feature Store-Ressourcen.
- Compute-Ressourcen wie GKE-Cluster und Cloud Run-Dienste.
Mit Auditing und Logs können Sie Zugriffsaktivitäten erfassen, überwachen und 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 Echtzeitanalyse, Benachrichtigungen und Visualisierung streamen Sie die Audit-Logs zu Cloud Logging.
- Für eine kostengünstige Langzeitspeicherung und nachträgliche Sicherheitsanalysen oder Compliance-Audits können Sie die Logs nach BigQuery exportieren.
- Für ein zentralisiertes Sicherheitsmonitoring können Sie Audit-Logs in Ihre SIEM-Systeme (Security Information and Event Management, Sicherheitsinformationen und Ereignisverwaltung) 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 vertrauliche Daten wie personenidentifizierbare Informationen (PII) für das Training oder die Inferenz verarbeiten, Sensitive Data Protection-Prüfungen in Pipelines oder im Datenspeicher.
- Bei generativen KI- und Agent-Lösungen können Sie Audit-Trails verwenden, um nachzuverfolgen, wer auf bestimmte Modelle oder Tools zugegriffen hat, welche Daten zum Feinabstimmen oder für Prompts verwendet wurden und welche Anfragen an Produktionsendpunkte gesendet wurden. Die Prüfpfade helfen Ihnen, die Verantwortlichkeit sicherzustellen, und liefern wichtige Daten, mit denen Sie den Missbrauch von Daten oder Richtlinienverstöße untersuchen können.
Verzerrungen, Transparenz und Erklärbarkeit berücksichtigen
Um vertrauenswürdige KI- und ML-Systeme zu entwickeln, müssen Sie potenzielle Bias berücksichtigen, die in Daten und Modellen enthalten sind, Transparenz im Systemverhalten anstreben und Erklärungen für Modellausgaben bereitstellen. Es ist besonders wichtig, vertrauenswürdige Systeme in sensiblen Bereichen zu entwickeln oder wenn Sie komplexe Modelle wie die verwenden, die normalerweise für generative KI-Anwendungen verwendet werden.
- Proaktive Maßnahmen zur Erkennung und Minderung von Bias während des gesamten MLOps-Lebenszyklus implementieren.
- Analysieren Sie Trainingsdaten auf Bias, indem Sie Tools verwenden, die Abweichungen in Feature-Verteilungen für verschiedene demografische Gruppen oder sensible Attribute erkennen.
- Bewerten Sie die Gesamtleistung des Modells und die Leistung für vordefinierte Datenslices. So können Sie ungleiche Leistung oder Bias erkennen, die sich auf bestimmte Untergruppen auswirken.
Verwenden Sie für die Transparenz und Erklärbarkeit von Modellen Tools, mit denen Nutzer und Entwickler nachvollziehen können, warum ein Modell eine bestimmte Vorhersage getroffen oder eine bestimmte Ausgabe generiert hat.
- Für tabellarische Modelle, die an Vertex AI-Endpunkten bereitgestellt werden, können Sie mit Vertex Explainable AI Feature-Attributionen generieren. Feature-Attributionen geben die Eingabe-Features an, 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 Bias in einem Dataset interaktiv untersuchen.
- Erklärbarkeit in Ihre Monitoring-Dashboards einbinden In Situationen, in denen es für das Vertrauen oder die Entscheidungsfindung wichtig ist, die Begründung des Modells zu verstehen, sollten Sie Endnutzern Erklärbarkeitsdaten direkt über die Schnittstellen Ihrer Anwendung zur Verfügung stellen.
- Bei komplexen Modellen wie LLMs, die für generative KI-Modelle verwendet werden, sollten Sie den Prozess erläutern, den ein Agent durchlaufen hat, z. B. mithilfe von Trace-Logs. Die Erklärbarkeit ist bei solchen Modellen relativ schwierig, aber dennoch unerlässlich.
- Geben Sie in RAG-Anwendungen Quellen 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 zu zeigen.
- Durch kontinuierliches Monitoring in der Produktion können Sie Veränderungen im Modellverhalten oder bei den Ausgaben erkennen, die auf neu auftretende Bias oder Unfairness hinweisen. Dokumentieren Sie die Einschränkungen des Modells, die vorgesehenen Anwendungsfälle und bekannte potenzielle Bias als Teil der Metadaten des Modells in der Modell-Registry.
Ganzheitliche Verfahren für die Beobachtbarkeit und Zuverlässigkeit von KI und ML implementieren
Eine ganzheitliche Beobachtbarkeit ist unerlässlich, um komplexe KI- und ML-Systeme in der Produktion zu verwalten. Sie ist auch unerlässlich, um die Zuverlässigkeit komplexer KI- und ML-Systeme zu messen, insbesondere bei generativer KI, da diese komplex, ressourcenintensiv und potenziell unvorhersehbar ist. Bei der ganzheitlichen Beobachtbarkeit werden Infrastruktur, Anwendungscode, Daten und Modellverhalten beobachtet, um Erkenntnisse für die proaktive Erkennung, Diagnose und Reaktion auf Probleme zu gewinnen. Diese Beobachtbarkeit führt letztendlich zu leistungsstarken und zuverlässigen Systemen. Um eine ganzheitliche Beobachtbarkeit zu erreichen, müssen Sie Folgendes tun:
- SRE-Prinzipien übernehmen
- Definieren Sie klare Zuverlässigkeitsziele.
- Messwerte über Systemebenen hinweg im Blick behalten
- Nutzen Sie Erkenntnisse aus der Beobachtbarkeit für kontinuierliche Verbesserungen und proaktives Management.
Wenn Sie ganzheitliche Praktiken für Beobachtbarkeit und Zuverlässigkeit für KI- und ML-Arbeitslasten in Google Cloudimplementieren möchten, sollten Sie die folgenden Empfehlungen berücksichtigen.
Zuverlässigkeitsziele und Geschäftsmesswerte festlegen
Identifizieren Sie die Leistungsindikatoren (KPIs), die von Ihrem KI- und ML-System direkt beeinflusst werden. Zu den KPIs gehören möglicherweise der Umsatz, der durch KI-Empfehlungen beeinflusst wird, die Kundenabwanderung, die von den KI-Systemen vorhergesagt oder abgemildert wurde, sowie das Nutzer-Engagement und die Conversion-Raten, die durch generative KI-Funktionen gesteigert werden.
Definieren Sie für jeden KPI die entsprechenden Messwerte für die technische Zuverlässigkeit, die sich auf den KPI auswirken. Wenn der KPI beispielsweise „Kundenzufriedenheit mit einem KI-Assistenten für Unterhaltungen“ ist, können die entsprechenden Zuverlässigkeitsmesswerte Folgendes umfassen:
- Die Erfolgsrate von Nutzeranfragen.
- Die Latenz von Antworten: Zeit bis zum ersten Token (TTFT) und Token-Streaming für LLMs.
- Die Häufigkeit irrelevanter oder schädlicher Antworten.
- Die Rate der erfolgreichen Aufgabenerledigung durch den Agenten.
Zu den Zuverlässigkeitsmesswerten für das KI- und ML-Training können die Nutzung von Modell-FLOPS (MFU), Iterationen pro Sekunde, Tokens pro Sekunde und Tokens pro Gerät gehören.
Um die Zuverlässigkeit von KI und ML effektiv zu messen und zu verbessern, sollten Sie zuerst klare Zuverlässigkeitsziele festlegen, die auf die übergeordneten Geschäftsziele abgestimmt sind. Übernehmen Sie den SRE-Ansatz, indem Sie SLOs definieren, die akzeptable Zuverlässigkeits- und Leistungsniveaus für Ihre KI- und ML-Dienste aus Nutzersicht quantifizieren. Quantifizieren Sie diese Messwerte für die technische Zuverlässigkeit 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 für das 95. Perzentil muss unter 300 ms liegen.
- Die TTFT muss für 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, konzentrieren sich die Zuverlässigkeitsbemühungen auf das kritischste Systemverhalten, 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. Die Messwerte umfassen die Prozessornutzung (CPU, GPU und TPU), die Speichernutzung, den Netzwerkdurchsatz und die Latenz sowie die Festplatten-E/A. Messwerte für verwaltete Umgebungen wie Vertex AI-Training und ‑Bereitstellung sowie für selbstverwaltete Ressourcen wie GKE-Knoten und Cloud Run-Instanzen im Blick behalten.
Behalten Sie die vier goldenen Signale für Ihre KI- und ML-Anwendungen im Blick:
- Latenz: Zeit, die für die Beantwortung von Anfragen benötigt wird.
- Traffic: Das Volumen der Anfragen oder der Arbeitslast.
- Fehlerrate: Rate der fehlgeschlagenen Anfragen oder Vorgänge.
- Sättigung: Nutzung kritischer Ressourcen wie CPU, Arbeitsspeicher und GPU- oder TPU-Beschleuniger. Gibt an, wie nahe Ihr System an den Kapazitätsgrenzen ist.
Führen Sie das Monitoring mit den folgenden Methoden durch:
- Erfassen, speichern und visualisieren Sie die Infrastruktur- und Anwendungsmesswerte mit Cloud Monitoring.
Sie können vorgefertigte Dashboards für Google Cloud -Dienste verwenden und benutzerdefinierte Dashboards erstellen, die auf die spezifischen Leistungsindikatoren und den Infrastrukturstatus Ihrer Arbeitslast zugeschnitten sind.
- Messwerte aus speziellen Serving-Frameworks wie vLLM oder NVIDIA Triton Inference Server mit Google Cloud Managed Service for Prometheus in Cloud Monitoring erfassen und einbinden.
- Erstellen Sie Dashboards und konfigurieren Sie Benachrichtigungen für Messwerte, die sich auf benutzerdefiniertes Training, Endpunkte und Leistung beziehen, sowie für Messwerte, die von Vertex AI in Cloud Monitoring exportiert werden.
- Mit Cloud Logging können Sie detaillierte Logs von Ihren KI- und ML-Anwendungen und der zugrunde liegenden Infrastruktur erfassen. 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 erkennen und Anfrageflüsse in verteilten KI- und ML-Mikrodiensten nachvollziehen. Diese Funktion ist entscheidend für das Debuggen komplexer Interaktionen mit Vertex AI Agents oder Inferenzpipelines mit mehreren Komponenten.
- Mit Cloud Profiler können Sie Leistungsengpässe in Funktionsblöcken im Anwendungscode identifizieren. Wenn Sie Leistungsengpässe identifizieren, können Sie die Ressourcennutzung und die Ausführungszeit optimieren.
- Erfassen Sie bestimmte beschleunigerbezogene Messwerte wie die detaillierte GPU-Auslastung pro Prozess, die Speichernutzung pro Prozess und die Temperatur mit Tools wie NVIDIA Data Center GPU Manager (DCGM).
Beobachtbarkeit von Daten und Modellen implementieren
Zuverlässige generative KI-Systeme erfordern eine robuste Daten- und Modellbeobachtbarkeit, die mit der End-to-End-Pipeline-Überwachung beginnt.
- Mit Diensten wie Dataflow können Sie die Datenaufnahmeraten, die verarbeiteten Mengen und die Transformationslatenzen im Blick behalten.
- Sie können Erfolgs- und Fehlerraten von Jobs in Ihren MLOps-Pipelines überwachen, einschließlich Pipelines, die von Vertex AI Pipelines verwaltet werden.
Die Datenqualität muss kontinuierlich bewertet werden.
- Daten mit Dataplex Universal Catalog verwalten und steuern:
- Bewerten Sie die Genauigkeit, indem Sie sie mit dem Ground Truth vergleichen oder die Raten für die Erkennung von Ausreißern erfassen.
- Überwachen Sie die Aktualität anhand des Alters der Daten und der Häufigkeit der 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.
- Sorgen Sie für Gültigkeit und Konsistenz durch Prüfungen auf Schema-Konformität und Duplikate.
- Anomalien proaktiv erkennen – mit Cloud Monitoring-Benachrichtigungen und einer klaren Datenherkunft für die Nachvollziehbarkeit.
- Bei RAG-Systemen sollten Sie die Relevanz des abgerufenen Kontexts und die Fundierung (Quellenangabe) der Antworten prüfen.
- Überwachen Sie den Durchsatz von Vektordatenbankabfragen.
Zu den wichtigsten Messwerten für die Modellbeobachtbarkeit gehören die Anzahl der Eingabe- und Ausgabetokens sowie modellspezifische Fehlerraten wie Halluzinationen oder Fehler bei der Auflösung von Anfragen. Verwenden Sie Modellüberwachung, um diese Messwerte zu erfassen.
- Überwachen Sie kontinuierlich die Unangemessenheitswerte der Ausgabe und die Bewertungen des Nutzerfeedbacks.
- 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 achten. Verwenden Sie dazu umfassende Messwerte für die Fehlerrate.
Sie können TensorBoard oder MLflow verwenden, um Modellmesswerte zu erfassen. Für eine detaillierte Analyse und Profilerstellung zur Fehlerbehebung bei Leistungsproblemen können Sie PyTorch XLA-Profilerstellung oder NVIDIA Nsight verwenden.
Beitragende
Autoren:
- Rick (Rugui) Chen | AI Infrastructure Field Solutions Architect
- Stef Ruinard | Generative AI Field Solutions Architect
Weitere Beitragende:
- Filipe Gracio, PhD | Customer Engineer, AI/ML Specialist
- Hossein Sarshar | AI Infrastructure Field Solution Architect
- Jose Andrade | Customer Engineer, SRE Specialist
- Kumar Dhanagopal | Cross-Product Solution Developer
- Laura Hyatt | Customer Engineer, FSI
- Olivier Martin | AI Infrastructure Field Solution Architect
- Radhika Kanakam | Program Lead, Google Cloud Well-Architected Framework