Well-Architected Framework: Perspektive von KI und ML

Last reviewed 2025-02-14 UTC

In diesem Dokument im Google Cloud Well-Architected Framework werden Prinzipien und Empfehlungen beschrieben, mit denen Sie KI- und ML-Arbeitslasten in Google Cloud entwerfen, erstellen und verwalten können, die Ihren betrieblichen, sicherheitsbezogenen, zuverlässigkeitsbezogenen, kostenbezogenen und leistungsbezogenen Zielen entsprechen.

Die Zielgruppe für dieses Dokument umfasst Entscheidungsträger, Architekten, Administratoren, Entwickler und Betreiber, die KI- und ML-Arbeitslasten in Google Cloudentwerfen, erstellen, bereitstellen und verwalten.

Auf den folgenden Seiten werden die Prinzipien und Empfehlungen für KI und ML für jede Säule des Well-Architected Framework beschrieben:

Beitragende

Autoren:

Weitere Beitragende:

KI und ML: Operative Exzellenz

Dieses Dokument im Well-Architected Framework: AI & ML Perspective bietet einen Überblick über die Prinzipien und Empfehlungen zum Erstellen und Betreiben robuster KI- und ML-Systeme auf Google Cloud. Mit diesen Empfehlungen können Sie grundlegende Elemente wie Beobachtbarkeit, Automatisierung und Skalierbarkeit einrichten. Die Empfehlungen in diesem Dokument entsprechen der Säule für operative Exzellenz des Google Cloud Well-Architected Framework.

Operational Excellence im Bereich KI und ML bedeutet, dass KI- und ML-Systeme und ‑Pipelines, die zur Erreichung der strategischen Ziele Ihres Unternehmens beitragen, nahtlos bereitgestellt, verwaltet und gesteuert werden können. Operative Exzellenz ermöglicht es Ihnen, effizient auf Änderungen zu reagieren, die betriebliche Komplexität zu reduzieren und dafür zu sorgen, dass Ihre Abläufe mit den Geschäftszielen übereinstimmen.

Die Empfehlungen in diesem Dokument sind den folgenden Grundsätzen zugeordnet:

Robuste Grundlage für die Modellentwicklung schaffen

Um skalierbare, zuverlässige KI-Systeme zu entwickeln und bereitzustellen, mit denen Sie Ihre Geschäftsziele erreichen können, ist eine robuste Grundlage für die Modellentwicklung unerlässlich. Eine solche Grundlage ermöglicht konsistente Workflows, automatisiert kritische Schritte, um Fehler zu reduzieren, und sorgt dafür, dass die Modelle mit der Nachfrage skaliert werden können. Eine solide Grundlage für die Modellentwicklung sorgt dafür, dass Ihre ML-Systeme nahtlos aktualisiert, verbessert und neu trainiert werden können. Das Fundament hilft Ihnen auch, die Leistung Ihrer Modelle an die geschäftlichen Anforderungen anzupassen, wirkungsvolle KI-Lösungen schnell bereitzustellen und sich an sich ändernde Anforderungen anzupassen.

Beachten Sie die folgenden Empfehlungen, um eine solide Grundlage für die Entwicklung Ihrer KI-Modelle zu schaffen.

Probleme und erforderliche Ergebnisse definieren

Bevor Sie mit einem KI- oder ML-Projekt beginnen, müssen Sie sich über die zu lösenden Geschäftsprobleme und die erforderlichen Ergebnisse im Klaren sein. Beginnen Sie mit einer Übersicht der Geschäftsziele und unterteilen Sie die Ziele in messbare Leistungskennzahlen (KPIs). Um Ihre Problemdefinitionen und Hypothesen in einer Jupyter-Notebook-Umgebung zu organisieren und zu dokumentieren, verwenden Sie Tools wie Vertex AI Workbench. Verwenden Sie Tools wie Git, um die Versionsverwaltung für Code und Dokumente zu implementieren und Ihre Projekte, Ziele und Annahmen zu dokumentieren. Mit Vertex AI Studio können Sie Prompts für generative KI-Anwendungen entwickeln und verwalten.

Erforderliche Daten erfassen und vorverarbeiten

Für die Datenvorverarbeitung und ‑transformation können Sie Dataflow (für Apache Beam), Dataproc (für Apache Spark) oder BigQuery verwenden, wenn ein SQL-basierter Prozess geeignet ist. Verwenden Sie TensorFlow Data Validation (TFDV), um Schemas zu validieren und Anomalien zu erkennen, und nutzen Sie gegebenenfalls automatisierte Scans zur Datenqualität in BigQuery.

Bei generativer KI umfasst die Datenqualität Genauigkeit, Relevanz, Vielfalt und Übereinstimmung mit den erforderlichen Ausgabeeigenschaften. Wenn reale Daten nicht ausreichen oder unausgewogen sind, können Sie synthetische Daten generieren, um die Robustheit und Generalisierung des Modells zu verbessern. Wenn Sie synthetische Datasets auf Grundlage vorhandener Muster erstellen oder Trainingsdaten für eine bessere Modellleistung erweitern möchten, verwenden Sie BigQuery DataFrames und Gemini. Synthetische Daten sind besonders wertvoll für generative KI, da sie dazu beitragen können, die Vielfalt der Prompts und die allgemeine Robustheit des Modells zu verbessern. Wenn Sie Datasets zum Feinabstimmen generativer KI-Modelle erstellen, sollten Sie die Funktionen zum Generieren synthetischer Daten in Vertex AI verwenden.

Bei Aufgaben mit generativer KI wie Feinabstimmung oder bestärkendes Lernen durch menschliches Feedback (Reinforcement Learning from Human Feedback, RLHF) müssen die Labels die Qualität, Relevanz und Sicherheit der generierten Ausgaben genau widerspiegeln.

Geeigneten ML-Ansatz auswählen

Berücksichtigen Sie beim Entwerfen des Modells und der Parameter die Komplexität des Modells und den Rechenaufwand. Je nach Aufgabe (z. B. Klassifizierung, Regression oder Generierung) sollten Sie benutzerdefiniertes Training in Vertex AI für das Erstellen benutzerdefinierter Modelle oder AutoML für einfachere ML-Aufgaben verwenden. Für gängige Anwendungen können Sie auch über den Vertex AI Model Garden auf vortrainierte Modelle zugreifen. Sie können mit einer Vielzahl von modernen Foundation Models für verschiedene Anwendungsfälle experimentieren, z. B. zum Generieren von Text, Bildern und Code.

Möglicherweise möchten Sie ein vortrainiertes Foundation Model optimieren, um die optimale Leistung für Ihren spezifischen Anwendungsfall zu erzielen. Für hohe Leistungsanforderungen beim benutzerdefinierten Training können Sie Cloud Tensor Processing Units (TPUs) oder GPU-Ressourcen konfigurieren, um das Training und die Inferenz von Deep-Learning-Modellen wie Large Language Models (LLMs) und Diffusionsmodellen zu beschleunigen.

Versionsverwaltung für Code, Modelle und Daten einrichten

Verwenden Sie Tools wie GitHub oder GitLab, um Codeversionen effektiv zu verwalten und bereitzustellen. Diese Tools bieten robuste Funktionen für die Zusammenarbeit, Branching-Strategien und die Integration in CI/CD-Pipelines, um einen optimierten Entwicklungsprozess zu gewährleisten.

Verwenden Sie geeignete Lösungen, um die einzelnen Artefakte Ihres ML-Systems zu verwalten, z. B. die folgenden:

  • Für Code-Artefakte wie Container-Images und Pipelinekomponenten bietet Artifact Registry eine skalierbare Speicherlösung, die zur Verbesserung der Sicherheit beitragen kann. Artifact Registry bietet auch eine Versionsverwaltung und kann in Cloud Build und Cloud Deploy eingebunden werden.
  • Verwenden Sie zum Verwalten von Datenartefakten wie Datasets, die für das Training und die Evaluierung verwendet werden, Lösungen wie BigQuery oder Cloud Storage für die Speicherung und Versionsverwaltung.
  • Verwenden Sie Ihr Versionskontrollsystem oder einen separaten Datenkatalog, um Metadaten und Verweise auf Datenspeicherorte zu speichern.

Um die Konsistenz und Versionierung Ihrer Feature-Daten zu gewährleisten, verwenden Sie Vertex AI Feature Store. Mit Vertex AI Model Registry können Sie Modellartefakte wie Binärdateien und Metadaten verfolgen und verwalten. Damit lassen sich Modellversionen nahtlos speichern, organisieren und bereitstellen.

Um die Zuverlässigkeit von Modellen zu gewährleisten, sollten Sie Vertex AI Model Monitoring implementieren. Datendrift erkennen, Leistung verfolgen und Anomalien in der Produktion erkennen Bei generativen KI-Systemen sollten Sie Veränderungen bei der Ausgabequalität und der Einhaltung von Sicherheitsstandards im Blick behalten.

Lebenszyklus der Modellentwicklung automatisieren

Mit Automatisierung können Sie jede Phase des KI- und ML-Lebenszyklus optimieren. Durch Automatisierung wird der manuelle Aufwand reduziert und Prozesse werden standardisiert, was zu einer höheren betrieblichen Effizienz und einem geringeren Fehlerrisiko führt. Automatisierte Workflows ermöglichen schnellere Iterationen, eine konsistente Bereitstellung in allen Umgebungen und zuverlässigere Ergebnisse, sodass Ihre Systeme nahtlos skaliert und angepasst werden können.

Wenn Sie den Entwicklungslebenszyklus Ihrer KI- und ML-Systeme automatisieren möchten, sollten Sie die folgenden Empfehlungen berücksichtigen.

Verwaltetes System zur Pipeline-Orchestrierung verwenden

Mit Vertex AI Pipelines können Sie jeden Schritt des ML-Lebenszyklus automatisieren – von der Datenvorbereitung über das Modelltraining und die ‑bewertung bis hin zur ‑bereitstellung. Um die Bereitstellung zu beschleunigen und die Konsistenz zwischen Projekten zu fördern, können Sie wiederkehrende Aufgaben mit geplanten Pipeline-Ausführungen automatisieren, Workflows mit Ausführungsstatistiken überwachen und wiederverwendbare Pipeline-Vorlagen für standardisierte Workflows entwickeln. Diese Funktionen erstrecken sich auch auf generative KI-Modelle, für die oft spezielle Schritte wie Prompt-Engineering, Antwortfilterung und human-in-the-loop-Bewertung erforderlich sind. Bei generativer KI können diese Schritte mit Vertex AI Pipelines automatisiert werden, einschließlich der Bewertung generierter Ausgaben anhand von Qualitätsmesswerten und Sicherheitsrichtlinien. Um die Vielfalt der Prompts und die Robustheit des Modells zu verbessern, können automatisierte Workflows auch Techniken zur Datenaugmentation umfassen.

CI/CD-Pipelines implementieren

Verwenden Sie Cloud Build, um das Erstellen, Testen und Bereitstellen von ML-Modellen zu automatisieren. Dieser Dienst ist besonders effektiv, wenn Sie Testsuiten für Anwendungscode ausführen. So wird sichergestellt, dass die Infrastruktur, Abhängigkeiten und das Modell-Packaging Ihren Bereitstellungsanforderungen entsprechen.

Für ML-Systeme sind oft zusätzliche Schritte über das Testen von Code hinaus erforderlich. Sie müssen die Modelle beispielsweise unter verschiedenen Lasten belasten, Bulk-Bewertungen durchführen, um die Modellleistung für verschiedene Datasets zu bewerten, und die Datenintegrität vor dem erneuten Training validieren. Um realistische Arbeitslasten für Stresstests zu simulieren, können Sie Tools wie Locust, Grafana k6 oder Apache JMeter verwenden. Um Engpässe zu identifizieren, überwachen Sie wichtige Messwerte wie Latenz, Fehlerrate und Ressourcennutzung über Cloud Monitoring. Bei generativer KI müssen die Tests auch Bewertungen umfassen, die sich auf die Art der generierten Inhalte beziehen, z. B. Textqualität, Bildtreue oder Codefunktionalität. Diese Bewertungen können automatisierte Messwerte wie die Perplexität für Sprachmodelle oder Human-in-the-Loop-Bewertungen für differenziertere Aspekte wie Kreativität und Sicherheit umfassen.

Um Test- und Bewertungsaufgaben zu implementieren, können Sie Cloud Build in andere Google Cloud -Dienste einbinden. Sie können beispielsweise Vertex AI-Pipelines für die automatisierte Modellbewertung, BigQuery für die Datenanalyse im großen Maßstab und die Dataflow-Pipeline-Validierung für die Feature-Validierung verwenden.

Sie können Ihre CI/CD-Pipeline weiter optimieren, indem Sie Vertex AI für kontinuierliches Training verwenden, um das automatische erneute Trainieren von Modellen mit neuen Daten zu ermöglichen. Bei generativer KI kann das erneute Training dazu dienen, die generierten Ausgaben relevant und vielfältig zu halten. Dazu werden die Modelle möglicherweise automatisch mit neuen Trainingsdaten oder Prompts aktualisiert. Im Vertex AI Model Garden können Sie die neuesten Basismodelle auswählen, die für die Abstimmung verfügbar sind. So bleiben die Modelle aktuell und für die sich ändernden Anforderungen Ihres Unternehmens optimiert.

Sichere und kontrollierte Modellveröffentlichungen implementieren

Um Risiken zu minimieren und zuverlässige Deployments zu gewährleisten, sollten Sie ein Modellrelease-Konzept implementieren, mit dem Sie Probleme frühzeitig erkennen, die Leistung validieren und bei Bedarf schnell ein Rollback durchführen können.

Mit Cloud Deploy können Sie Ihre ML-Modelle und -Anwendungen in Container-Images verpacken und bereitstellen. Sie können Ihre Modelle auf Vertex AI-Endpunkten bereitstellen.

Implementieren Sie kontrollierte Releases für Ihre KI-Anwendungen und ‑Systeme, indem Sie Strategien wie Canary-Releases verwenden. Bei Anwendungen, die verwaltete Modelle wie Gemini verwenden, empfehlen wir, neue Anwendungsversionen vor der vollständigen Bereitstellung schrittweise für eine Teilmenge von Nutzern freizugeben. So lassen sich potenzielle Probleme frühzeitig erkennen, insbesondere wenn Sie generative KI-Modelle verwenden, bei denen die Ausgaben variieren können.

Um feinabgestimmte Modelle zu veröffentlichen, können Sie mit Cloud Deploy die Bereitstellung der Modellversionen verwalten und mit der Canary-Release-Strategie das Risiko minimieren. Bei verwalteten Modellen und feinabgestimmten Modellen besteht das Ziel kontrollierter Releases darin, Änderungen mit einer begrenzten Zielgruppe zu testen, bevor Sie die Anwendungen und Modelle für alle Nutzer freigeben.

Verwenden Sie für eine robuste Validierung Vertex AI Experiments, um neue Modelle mit vorhandenen zu vergleichen, und Vertex AI-Modellbewertung, um die Modellleistung zu bewerten. Definieren Sie speziell für generative KI Bewertungsmetriken, die auf den beabsichtigten Anwendungsfall und die potenziellen Risiken abgestimmt sind. Mit dem Gen AI Evaluation Service in Vertex AI können Sie Messwerte wie Toxizität, Kohärenz, sachliche Richtigkeit und Einhaltung von Sicherheitsrichtlinien bewerten.

Für eine zuverlässige Bereitstellung benötigen Sie einen robusten Rollback-Plan. Verwenden Sie für herkömmliche ML-Systeme Vertex AI Model Monitoring, um Datenabweichungen und Leistungsverschlechterungen zu erkennen. Bei generativen KI-Modellen können Sie relevante Messwerte erfassen und mithilfe von Vertex AI Model Evaluation in Kombination mit Cloud Logging und Cloud Monitoring Benachrichtigungen für Änderungen der Ausgabequalität oder das Auftreten schädlicher Inhalte einrichten. Konfigurieren Sie Benachrichtigungen basierend auf generativen KI-spezifischen Messwerten, um bei Bedarf Rollback-Prozeduren auszulösen. Wenn Sie den Modell-Lineage nachvollziehen und zur letzten stabilen Version zurückkehren möchten, verwenden Sie die Informationen aus Vertex AI Model Registry.

Beobachtbarkeit implementieren

Das Verhalten von KI- und ML-Systemen kann sich im Laufe der Zeit aufgrund von Änderungen an den Daten oder der Umgebung sowie durch Aktualisierungen der Modelle ändern. Aufgrund dieser Dynamik ist die Beobachtbarkeit entscheidend, um Leistungsprobleme, Bias oder unerwartetes Verhalten zu erkennen. Das gilt insbesondere für generative KI-Modelle, da die Ausgaben sehr variabel und subjektiv sein können. Mit der Beobachtbarkeit können Sie proaktiv auf unerwartetes Verhalten reagieren und dafür sorgen, dass Ihre KI- und ML-Systeme zuverlässig, genau und fair bleiben.

Beachten Sie die folgenden Empfehlungen, um die Beobachtbarkeit für Ihre KI- und ML-Systeme zu implementieren.

Leistung kontinuierlich im Blick behalten

Verwenden Sie Messwerte und Erfolgskriterien für die laufende Bewertung von Modellen nach der Bereitstellung.

Mit Vertex AI Model Monitoring können Sie die Modellleistung proaktiv verfolgen, Abweichungen zwischen Training und Bereitstellung sowie Vorhersageabweichungen erkennen und Benachrichtigungen erhalten, um erforderliche Modelltrainings oder andere Maßnahmen auszulösen. Um Abweichungen zwischen Training und Bereitstellung effektiv zu überwachen, erstellen Sie ein Golden Dataset, das die ideale Datenverteilung darstellt, und verwenden Sie TFDV, um Ihre Trainingsdaten zu analysieren und ein Baseline-Schema zu erstellen.

Konfigurieren Sie Model Monitoring so, dass die Verteilung der Eingabedaten mit dem Golden Dataset verglichen wird, um Verzerrungen automatisch zu erkennen. Konzentrieren Sie sich bei herkömmlichen ML-Modellen auf Messwerte wie Accuracy, Precision, Recall, F1-Wert, AUC-ROC und Log-Loss. Benutzerdefinierte Schwellenwerte für Benachrichtigungen im Modellmonitoring definieren. Verwenden Sie für generative KI den Gen AI Evaluation Service, um die Modellausgabe in der Produktion kontinuierlich zu überwachen. Sie können auch automatische Bewertungsstatistiken für Antwortqualität, Sicherheit, Befolgung von Anweisungen, Fundierung, Schreibstil und Ausführlichkeit aktivieren. Um die generierten Ausgaben auf Qualität, Relevanz, Sicherheit und Einhaltung der Richtlinien zu prüfen, können Sie eine human-in-the-loop einbinden.

Feedbackschleifen erstellen, um Modelle mit Vertex AI Pipelines automatisch neu zu trainieren, wenn Model Monitoring eine Benachrichtigung auslöst. Anhand dieser Informationen können Sie Ihre Modelle kontinuierlich verbessern.

Modelle während der Entwicklung bewerten

Bevor Sie Ihre LLMs und andere generative KI-Modelle bereitstellen, sollten Sie sie in der Entwicklungsphase gründlich bewerten. Mit der Vertex AI-Modellbewertung können Sie eine optimale Leistung erzielen und Risiken minimieren. Mit Vertex AI Rapid Evaluation können Sie Google Cloud automatisch Bewertungen auf Grundlage des von Ihnen bereitgestellten Datasets und der Prompts durchführen lassen.

Sie können auch benutzerdefinierte Messwerte definieren und einbinden, die speziell auf Ihren Anwendungsfall zugeschnitten sind. Um Feedback zu generierten Inhalten zu erhalten, können Sie Human-in-the-Loop-Workflows mit Vertex AI Model Evaluation einbinden.

Verwenden Sie Adversarial Testing, um Sicherheitslücken und potenzielle Fehlerarten zu identifizieren. Um potenzielle Bias zu erkennen und zu minimieren, können Sie Techniken wie die Untergruppenanalyse und die kontrafaktische Generierung verwenden. Verwenden Sie die Erkenntnisse aus den Bewertungen, die während der Entwicklungsphase abgeschlossen wurden, um Ihre Strategie für die Modellüberwachung in der Produktion zu definieren. Bereiten Sie Ihre Lösung für die kontinuierliche Überwachung vor, wie im Abschnitt Leistung kontinuierlich überwachen dieses Dokuments beschrieben.

Verfügbarkeit im Blick behalten

Mit Cloud Monitoring erhalten Sie Einblick in den Zustand und die Leistung Ihrer bereitgestellten Endpunkte und Infrastruktur. Verfolgen Sie für Ihre Vertex AI-Endpunkte wichtige Messwerte wie Anfragerate, Fehlerrate, Latenz und Ressourcennutzung und richten Sie Benachrichtigungen für Anomalien ein. Weitere Informationen finden Sie unter Cloud Monitoring-Messwerte für Vertex AI.

Überwachen Sie den Zustand der zugrunde liegenden Infrastruktur, zu der Compute Engine-Instanzen, Google Kubernetes Engine-Cluster (GKE) sowie TPUs und GPUs gehören können. Automatisierte Optimierungsempfehlungen von Active Assist erhalten Wenn Sie Autoscaling verwenden, sollten Sie das Skalierungsverhalten im Blick behalten, damit das Autoscaling angemessen auf Änderungen des Traffics reagiert.

Sie können den Status von Modellbereitstellungen, einschließlich Canary-Releases und Rollbacks, verfolgen, indem Sie Cloud Deploy in Cloud Monitoring einbinden. Außerdem sollten Sie mit Security Command Center auf potenzielle Sicherheitsbedrohungen und ‑lücken achten.

Benutzerdefinierte Benachrichtigungen für unternehmensspezifische Grenzwerte einrichten

Damit Anomalien und Probleme rechtzeitig erkannt und behoben werden können, sollten Sie benutzerdefinierte Benachrichtigungen auf Grundlage von Grenzwerten einrichten, die für Ihre Geschäftsziele spezifisch sind. Beispiele für Google Cloud -Produkte, mit denen Sie ein benutzerdefiniertes Benachrichtigungssystem implementieren können:

  • Cloud Logging: Logs aus allen Komponenten Ihres KI- und ML-Systems erfassen, speichern und analysieren.
  • Cloud Monitoring: Erstellen Sie benutzerdefinierte Dashboards, um wichtige Messwerte und Trends zu visualisieren, und definieren Sie benutzerdefinierte Messwerte entsprechend Ihren Anforderungen. Konfigurieren Sie Benachrichtigungen, um über kritische Probleme informiert zu werden, und binden Sie die Benachrichtigungen in Ihre Vorfallmanagementtools wie PagerDuty oder Slack ein.
  • Error Reporting: Fehler und Ausnahmen automatisch erfassen und analysieren.
  • Cloud Trace: Analysieren Sie die Leistung verteilter Systeme und identifizieren Sie Engpässe. Tracing ist besonders nützlich, um die Latenz zwischen verschiedenen Komponenten Ihrer KI- und ML-Pipeline zu verstehen.
  • Cloud Profiler: Analysieren Sie kontinuierlich die Leistung Ihres Codes in der Produktion und ermitteln Sie Leistungsengpässe bei der CPU- oder Speichernutzung.

Eine Kultur der operativen Exzellenz schaffen

Der Fokus sollte sich von der reinen Entwicklung von Modellen hin zur Entwicklung nachhaltiger, zuverlässiger und wirkungsvoller KI-Lösungen verschieben. Teams werden in die Lage versetzt, kontinuierlich zu lernen, Innovationen zu entwickeln und sich zu verbessern. Dies führt zu schnelleren Entwicklungszyklen, weniger Fehlern und einer höheren Effizienz. Wenn Sie Automatisierung, Standardisierung und ethische Aspekte in den Vordergrund stellen, können Sie sicherstellen, dass Ihre KI- und ML-Initiativen kontinuierlich Mehrwert schaffen, Risiken minimieren und eine verantwortungsbewusste KI-Entwicklung fördern.

Wenn Sie eine Kultur der operativen Exzellenz für Ihre KI- und ML-Systeme schaffen möchten, sollten Sie die folgenden Empfehlungen berücksichtigen.

Automatisierung und Standardisierung fördern

Um Effizienz und Konsistenz zu betonen, sollten Sie Automatisierung und standardisierte Verfahren in jede Phase des KI- und ML-Lebenszyklus einbetten. Durch Automatisierung werden manuelle Fehler reduziert und Teams können sich auf Innovationen konzentrieren. Durch die Standardisierung wird sichergestellt, dass Prozesse team- und projektübergreifend wiederholbar und skalierbar sind.

Kontinuierliches Lernen und Verbessern priorisieren

Schaffen Sie ein Umfeld, in dem Weiterbildung und Experimentieren zu den Grundprinzipien gehören. Teams sollten sich über Fortschritte bei KI und ML auf dem Laufenden halten und die Möglichkeit haben, aus vergangenen Projekten zu lernen. Eine Kultur der Neugier und Anpassung fördert Innovationen und sorgt dafür, dass Teams für neue Herausforderungen gerüstet sind.

Verantwortlichkeit und Eigenverantwortung fördern

Bauen Sie Vertrauen und Abstimmung auf, indem Sie Rollen, Verantwortlichkeiten und Erfolgs-Messwerte klar definieren. Ermöglichen Sie es Teams, innerhalb dieser Grenzen fundierte Entscheidungen zu treffen, und schaffen Sie transparente Möglichkeiten, den Fortschritt zu messen. Ein Gefühl der Eigenverantwortung motiviert Teams und sorgt für kollektive Verantwortung für Ergebnisse.

Ethische und sicherheitsbezogene Aspekte von KI berücksichtigen

Berücksichtigen Sie ethische Aspekte in jeder Phase der Entwicklung. Ermutigen Sie Teams, kritisch über die Auswirkungen ihrer KI-Lösungen nachzudenken, und fördern Sie Diskussionen über Fairness, Vorurteile und gesellschaftliche Auswirkungen. Klare Grundsätze und Verantwortlichkeitsmechanismen sorgen dafür, dass Ihre KI-Systeme mit den Werten der Organisation übereinstimmen und das Vertrauen fördern.

Skalierbarkeit im Blick

Um dem wachsenden Datenvolumen und den Nutzeranforderungen gerecht zu werden und den Wert von KI-Investitionen zu maximieren, müssen Ihre KI- und ML-Systeme skalierbar sein. Die Systeme müssen sich anpassen und optimal funktionieren, um Leistungsengpässe zu vermeiden, die die Effektivität beeinträchtigen. Wenn Sie auf Skalierbarkeit achten, stellen Sie sicher, dass die KI-Infrastruktur Wachstum bewältigen und die Reaktionsfähigkeit aufrechterhalten kann. Verwenden Sie eine skalierbare Infrastruktur, planen Sie die Kapazität und setzen Sie Strategien wie horizontale Skalierung und verwaltete Dienste ein.

Beachten Sie die folgenden Empfehlungen, wenn Sie Ihre KI- und ML-Systeme für die Skalierbarkeit entwerfen.

Kapazität und Kontingente planen

Bewerten Sie das zukünftige Wachstum und planen Sie die Infrastrukturkapazität und Ressourcenkontingente entsprechend. Arbeiten Sie mit den Stakeholdern zusammen, um das prognostizierte Wachstum zu verstehen und die Infrastrukturanforderungen entsprechend zu definieren.

Mit Cloud Monitoring können Sie die bisherige Ressourcennutzung analysieren, Trends erkennen und den zukünftigen Bedarf prognostizieren. Führen Sie regelmäßig Lasttests durch, um Arbeitslasten zu simulieren und Engpässe zu identifizieren.

Machen Sie sich mit den Google Cloud Kontingenten für die von Ihnen verwendeten Dienste wie Compute Engine, Vertex AI und Cloud Storage vertraut. Fordern Sie proaktiv Kontingenterhöhungen über die Google Cloud Console an und begründen Sie die Erhöhungen mit Daten aus Prognosen und Lasttests. Kontingentnutzung überwachen und Benachrichtigungen einrichten, um informiert zu werden, wenn sich die Nutzung den Kontingentlimits nähert.

Um die Ressourcennutzung basierend auf der Nachfrage zu optimieren, passen Sie die Größe Ihrer Ressourcen an, verwenden Sie Spot-VMs für fehlertolerante Batch-Arbeitslasten und implementieren Sie Autoscaling.

Auf Spitzenereignisse vorbereiten

Achten Sie darauf, dass Ihr System plötzliche Spitzen bei Traffic oder Arbeitslast während Spitzenzeiten bewältigen kann. Dokumentieren Sie Ihre Strategie für Spitzenereignisse und führen Sie regelmäßig Übungen durch, um die Fähigkeit Ihres Systems zu testen, erhöhte Last zu bewältigen.

Wenn Sie Ressourcen bei Nachfragespitzen aggressiv hochskalieren möchten, konfigurieren Sie Autoscaling-Richtlinien in Compute Engine und GKE. Bei vorhersehbaren Spitzenmustern sollten Sie vorausschauendes Autoscaling verwenden. Wenn Sie das Autoscaling anhand anwendungsspezifischer Signale auslösen möchten, verwenden Sie benutzerdefinierte Messwerte in Cloud Monitoring.

Verteilen Sie den Traffic mit Cloud Load Balancing auf mehrere Anwendungsinstanzen. Wählen Sie je nach den Anforderungen Ihrer Anwendung einen geeigneten Load-Balancer-Typ aus. Bei geografisch verteilten Nutzern können Sie das globale Load-Balancing verwenden, um Traffic an die nächste verfügbare Instanz weiterzuleiten. Für komplexe auf Mikrodiensten basierende Architekturen sollten Sie Cloud Service Mesh verwenden.

Statische Inhalte am Edge des Google-Netzwerks mit Cloud CDN im Cache speichern Zum Zwischenspeichern häufig aufgerufener Daten können Sie Memorystore verwenden. Dieser Dienst bietet einen vollständig verwalteten In-Memory-Dienst für Redis, Valkey oder Memcached.

Entkoppeln Sie die Komponenten Ihres Systems mit Pub/Sub für Echtzeit-Messaging und Cloud Tasks für die asynchrone Aufgabenausführung.

Anwendungen für die Produktion skalieren

Um eine skalierbare Bereitstellung in der Produktion zu gewährleisten, können Sie verwaltete Dienste wie Vertex AI Distributed Training und Vertex AI Inference verwenden. Mit Vertex AI Inference können Sie die Maschinentypen für Ihre Vorhersageknoten konfigurieren, wenn Sie ein Modell auf einem Endpunkt bereitstellen oder Batchvorhersagen anfordern. Bei einigen Konfigurationen können Sie GPUs hinzufügen. Wählen Sie den geeigneten Maschinentyp und die geeigneten Beschleuniger aus, um Latenz, Durchsatz und Kosten zu optimieren.

Mit Ray on Vertex AI können Sie komplexe KI- und Python-Anwendungen sowie benutzerdefinierte Arbeitslasten auf verteilte Computing-Ressourcen skalieren. Diese Funktion kann die Leistung optimieren und ermöglicht eine nahtlose Integration mitGoogle Cloud -Diensten. Ray on Vertex AI vereinfacht das verteilte Computing, da Clusterverwaltung, Aufgabenplanung und Datenübertragung automatisch erfolgen. Der Dienst lässt sich in andere Vertex AI-Dienste wie Training, Vorhersage und Pipelines einbinden. Ray bietet Fehlertoleranz und Autoscaling und hilft Ihnen, die Infrastruktur an sich ändernde Arbeitslasten anzupassen. Sie bietet ein einheitliches Framework für verteiltes Training, Hyperparameter-Abstimmung, Reinforcement Learning und Modellbereitstellung. Verwenden Sie Ray für die verteilte Datenvorverarbeitung mit Dataflow oder Dataproc, beschleunigtes Modelltraining, skalierbare Hyperparameteroptimierung, Reinforcement Learning und parallelisierte Batchvorhersage.

Beitragende

Autoren:

Weitere Beitragende:

KI und ML: Sicherheit

Dieses Dokument im Well-Architected Framework: AI & ML Perspective bietet einen Überblick über Prinzipien und Empfehlungen, mit denen Sie sicherstellen können, dass Ihre KI- und ML-Bereitstellungen die Sicherheits- und Complianceanforderungen Ihrer Organisation erfüllen. Die Empfehlungen in diesem Dokument stimmen mit der Sicherheitssäule des Google Cloud Well-Architected Frameworks überein.

Die sichere Bereitstellung von KI- und ML-Arbeitslasten ist eine wichtige Anforderung, insbesondere in Unternehmensumgebungen. Um diese Anforderung zu erfüllen, müssen Sie einen ganzheitlichen Sicherheitsansatz verfolgen, der von der ersten Konzeption Ihrer KI- und ML-Lösungen bis hin zur Entwicklung, Bereitstellung und zum laufenden Betrieb reicht. Google Cloud bietet robuste Tools und Dienste, die Ihnen helfen, Ihre KI- und ML-Arbeitslasten zu schützen.

Klare Ziele und Anforderungen definieren

Es ist einfacher, die erforderlichen Sicherheits- und Compliance-Kontrollen frühzeitig in den Design- und Entwicklungsprozess zu integrieren, als sie nach der Entwicklung hinzuzufügen. Treffen Sie von Anfang an Entscheidungen, die für Ihre spezifische Risikoumgebung und Ihre spezifischen geschäftlichen Prioritäten geeignet sind.

Beachten Sie die folgenden Empfehlungen:

  • Potenzielle Angriffsvektoren identifizieren und von Anfang an eine Sicherheits- und Compliance-Perspektive einnehmen. Behalten Sie beim Entwerfen und Weiterentwickeln Ihrer KI-Systeme die Angriffsfläche, potenzielle Risiken und Verpflichtungen im Blick.
  • Richten Sie Ihre Sicherheitsmaßnahmen für KI und ML auf Ihre Geschäftsziele aus und sorgen Sie dafür, dass Sicherheit ein integraler Bestandteil Ihrer Gesamtstrategie ist. Verstehen Sie die Auswirkungen Ihrer Sicherheitsentscheidungen auf Ihre wichtigsten Geschäftsziele.

Daten schützen und Verlust oder Missbrauch verhindern

Daten sind ein wertvolles und vertrauliches Gut, das geschützt werden muss. Datensicherheit hilft Ihnen, das Vertrauen der Nutzer aufrechtzuerhalten, Ihre Geschäftsziele zu erreichen und Ihre Compliance-Anforderungen zu erfüllen.

Beachten Sie die folgenden Empfehlungen:

  • Erheben, speichern oder verwenden Sie keine Daten, die für Ihre Geschäftsziele nicht unbedingt erforderlich sind. Verwenden Sie nach Möglichkeit synthetische oder vollständig anonymisierte Daten.
  • Datenerhebung, ‑speicherung und ‑transformation überwachen Protokolle für alle Datenzugriffs- und ‑bearbeitungsaktivitäten führen. Anhand der Protokolle können Sie den Datenzugriff prüfen, unbefugte Zugriffsversuche erkennen und unerwünschten Zugriff verhindern.
  • Implementieren Sie verschiedene Zugriffsebenen (z. B. „Kein Zugriff“, „Schreibgeschützt“ oder „Schreiben“) basierend auf Nutzerrollen. Achten Sie darauf, dass Berechtigungen gemäß dem Prinzip der geringsten Berechtigung zugewiesen werden. Nutzer dürfen nur die Mindestberechtigungen haben, die für die Ausführung ihrer Rollenaktivitäten erforderlich sind.
  • Implementieren Sie Maßnahmen wie Verschlüsselung, sichere Perimeter und Einschränkungen für die Datenübertragung. Diese Maßnahmen helfen Ihnen, Daten-Exfiltration und Datenverlust zu verhindern.
  • Schützen Sie Ihre ML-Trainingssysteme vor Data Poisoning.

KI-Pipelines schützen und vor Manipulationen absichern

Ihr KI- und ML-Code sowie die codebasierten Pipelines sind wichtige Assets. Wenn Code nicht gesichert ist, kann er manipuliert werden. Das kann zu Datenlecks, Nichteinhaltung von Compliance-Vorschriften und Unterbrechungen wichtiger Geschäftsaktivitäten führen. Wenn Sie Ihren KI- und ML-Code schützen, tragen Sie dazu bei, die Integrität und den Wert Ihrer Modelle und Modellausgaben zu gewährleisten.

Beachten Sie die folgenden Empfehlungen:

  • Verwenden Sie bei der Modellentwicklung sichere Programmiertechniken wie die Verwaltung von Abhängigkeiten oder die Validierung und Bereinigung von Eingaben, um Sicherheitslücken zu vermeiden.
  • Schützen Sie Ihren Pipelinecode und Ihre Modellartefakte wie Dateien, Modellgewichte und Bereitstellungsspezifikationen vor unbefugtem Zugriff. Implementieren Sie für jedes Artefakt unterschiedliche Zugriffsebenen, die auf Nutzerrollen und ‑anforderungen basieren.
  • Herkunft und Nachverfolgung Ihrer Assets und Pipelineausführungen erzwingen Diese Durchsetzung hilft Ihnen, Compliance-Anforderungen zu erfüllen und Produktionssysteme nicht zu gefährden.

Auf sicheren Systemen mit sicheren Tools und Artefakten bereitstellen

Sorgen Sie dafür, dass Ihr Code und Ihre Modelle in einer sicheren Umgebung ausgeführt werden, die über ein robustes Zugriffskontrollsystem mit Sicherheitsgarantien für die Tools und Artefakte verfügt, die in der Umgebung bereitgestellt werden.

Beachten Sie die folgenden Empfehlungen:

  • Trainieren und stellen Sie Ihre Modelle in einer sicheren Umgebung bereit, die über geeignete Zugriffssteuerungen und Schutzmaßnahmen gegen unbefugte Nutzung oder Manipulation verfügt.
  • Halten Sie sich an die Standardrichtlinien für Supply-chain Levels for Software Artifacts (SLSA) für Ihre KI-spezifischen Artefakte wie Modelle und Softwarepakete.
  • Verwenden Sie vorzugsweise validierte vordefinierte Container-Images, die speziell für KI-Arbeitslasten entwickelt wurden.

Eingaben schützen und überwachen

KI-Systeme benötigen Eingaben, um Vorhersagen zu treffen, Inhalte zu generieren oder Aktionen zu automatisieren. Einige Eingaben bergen möglicherweise Risiken oder können als Angriffsvektoren verwendet werden, die erkannt und bereinigt werden müssen. Wenn Sie potenzielle schädliche Eingaben frühzeitig erkennen, können Sie Ihre KI-Systeme schützen und dafür sorgen, dass sie wie vorgesehen funktionieren.

Beachten Sie die folgenden Empfehlungen:

  • Implementieren Sie sichere Verfahren zum Entwickeln und Verwalten von Prompts für generative KI-Systeme und sorgen Sie dafür, dass die Prompts auf schädliche Absichten geprüft werden.
  • Überwachen Sie die Eingaben für Vorhersage- oder generative Systeme, um Probleme wie überlastete Endpunkte oder Prompts zu vermeiden, für die die Systeme nicht ausgelegt sind.
  • Sorgen Sie dafür, dass nur die vorgesehenen Nutzer eines bereitgestellten Systems es verwenden können.

Ausgaben beobachten, bewerten und darauf reagieren

KI-Systeme bieten einen Mehrwert, weil sie Ergebnisse liefern, die die menschliche Entscheidungsfindung ergänzen, optimieren oder automatisieren. Damit die Integrität und Vertrauenswürdigkeit Ihrer KI-Systeme und -Anwendungen erhalten bleiben, müssen Sie dafür sorgen, dass die Ausgaben sicher sind und den erwarteten Parametern entsprechen. Außerdem benötigen Sie einen Plan für die Reaktion auf Vorfälle.

Beachten Sie die folgenden Empfehlungen:

  • Überwachen Sie die Ausgaben Ihrer KI- und ML-Modelle in der Produktion und identifizieren Sie alle Leistungs-, Sicherheits- und Compliance-Probleme.
  • Bewerten Sie die Modellleistung, indem Sie robuste Messwerte und Sicherheitsmaßnahmen implementieren, z. B. indem Sie generative Antworten außerhalb des Anwendungsbereichs oder extreme Ausgaben in Vorhersagemodellen identifizieren. Nutzerfeedback zur Modellleistung einholen
  • Implementieren Sie zuverlässige Benachrichtigungen und Verfahren zur Reaktion auf Vorfälle, um potenzielle Probleme zu beheben.

Beitragende

Autoren:

Weitere Beitragende:

KI- und ML-Perspektive: Zuverlässigkeit

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 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.

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 und plan 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).
    • Für umfangreiche, SQL-basierte Datenqualitätsprüfungen sollten Sie skalierbare Verarbeitungsservices wie BigQuery nutzen.
    • Für die komplexe, programmatische Validierung von Streaming- oder Batchdaten verwenden Sie Dataflow.
  • 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:
    1. Leiten Sie einen kleinen Teil des Produktions-Traffics an eine neue Modellversion weiter.
    2. Überwachen Sie die Leistung und Fehlerraten kontinuierlich anhand von Messwerten.
    3. Stellen Sie fest, dass das Modell zuverlässig ist.
    4. Stellen Sie die Version für den gesamten Traffic bereit.
  • A/B-Tests für KI-Agents durchführen:
    1. Stellen Sie zwei verschiedene Modell-Agent-Versionen oder völlig unterschiedliche Modelle für denselben Endpunkt bereit.
    2. Traffic auf die Bereitstellungen aufteilen
    3. 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.
  • 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:

Weitere Beitragende:

KI- und ML-Perspektive: Kostenoptimierung

Dieses Dokument im Well-Architected Framework: AI & ML Perspective bietet einen Überblick über Prinzipien und Empfehlungen zur Optimierung der Kosten Ihrer KI-Systeme während des gesamten ML-Lebenszyklus. Wenn Sie einen proaktiven und fundierten Ansatz für das Kostenmanagement verfolgen, kann Ihre Organisation das volle Potenzial von KI- und ML-Systemen ausschöpfen und gleichzeitig die finanzielle Disziplin wahren. Die Empfehlungen in diesem Dokument stimmen mit der Säule zur Kostenoptimierung des Google Cloud Well-Architected Framework überein.

KI- und ML-Systeme können Ihnen helfen, wertvolle Erkenntnisse und Vorhersagefunktionen aus Daten zu gewinnen. So können Sie beispielsweise Reibungsverluste bei internen Prozessen reduzieren, die Nutzerfreundlichkeit verbessern und detailliertere Kunden-Insights gewinnen. Die Cloud bietet eine Vielzahl von Ressourcen und eine schnelle Wertschöpfung ohne große Vorabinvestitionen für KI- und ML-Arbeitslasten. Um den Geschäftswert zu maximieren und die Ausgaben an Ihre Geschäftsziele anzupassen, müssen Sie die Kostentreiber verstehen, Kosten proaktiv optimieren, Ausgabenkontrollen einrichten und FinOps-Verfahren einführen.

Die Empfehlungen in diesem Dokument sind den folgenden Grundsätzen zugeordnet:

Kosten und Rendite definieren und messen

Um die Kosten für KI und ML in Google Cloudeffektiv zu verwalten, müssen Sie die Kosten für Cloud-Ressourcen und den geschäftlichen Wert Ihrer KI- und ML-Initiativen definieren und messen. Damit Sie Ausgaben detailliert nachvollziehen können,bietet Google Cloud umfassende Tools zur Abrechnung und Kostenverwaltung, z. B.:

  • Cloud Billing-Berichte und -Tabellen
  • Looker Studio-Dashboards, Budgets und Benachrichtigungen
  • Cloud Monitoring
  • Cloud Logging

Wenn Sie fundierte Entscheidungen zur Ressourcenzuweisung und ‑optimierung treffen möchten, sollten Sie die folgenden Empfehlungen berücksichtigen.

Geschäftsziele und KPIs festlegen

Richten Sie die technischen Entscheidungen in Ihren KI- und ML-Projekten an Geschäftszielen und Leistungskennzahlen (KPIs) aus.

Strategische Ziele und ROI-orientierte KPIs definieren

Achten Sie darauf, dass KI- und ML-Projekte mit strategischen Zielen wie Umsatzwachstum, Kostensenkung, Kundenzufriedenheit und Effizienz übereinstimmen. Stakeholder einbeziehen, um die Geschäftsprioritäten zu verstehen. Definieren Sie KI- und ML-Ziele, die spezifisch, messbar, angemessen, relevant und terminiert (SMART) sind. Ein Beispiel für ein SMART-Ziel ist: „Die Bearbeitungszeit für Chats im Kundensupport soll in 6 Monaten um 15% gesenkt werden, indem ein KI-Chatbot eingesetzt wird.“

Um Ihre Geschäftsziele zu erreichen und den Return on Investment (ROI) zu messen, müssen Sie KPIs für die folgenden Metrikenkategorien definieren:

  • Kosten für Training, Inferenz, Speicher und Netzwerkressourcen, einschließlich spezifischer Stückkosten (z. B. Kosten pro Inferenz, Datenpunkt oder Aufgabe). Mithilfe dieser Messwerte können Sie Einblicke in die Effizienz und Möglichkeiten zur Kostenoptimierung erhalten. Sie können diese Kosten mit Cloud Billing-Berichten und Cloud Monitoring-Dashboards nachverfolgen.
  • Messwerte zum Geschäftswert wie Umsatzsteigerung, Kosteneinsparungen, Kundenzufriedenheit, Effizienz, Genauigkeit und Akzeptanz. Sie können diese Messwerte mit BigQuery Analytics und Looker-Dashboards im Blick behalten.
  • Branchenspezifische Messwerte wie die folgenden:

    • Einzelhandel: Umsatzsteigerung und Churn messen
    • Gesundheitswesen: Patientenzeit und Behandlungsergebnisse messen
    • Finanzbranche: Betrugsreduzierung messen
  • Projektspezifische Messwerte. Sie können diese Messwerte mit Vertex AI Experiments und Bewertung verfolgen.

    • Vorhersage-KI: Genauigkeit und Präzision messen
    • Generative KI: Akzeptanz, Zufriedenheit und Inhaltsqualität messen
    • Computer Vision – KI: Genauigkeit messen

Eine Kultur des Kostenbewusstseins und der kontinuierlichen Optimierung fördern

Übernehmen Sie die FinOps-Grundsätze, um sicherzustellen, dass für jedes KI- und ML-Projekt geschätzte Kosten vorliegen und dass die tatsächlichen Kosten während des gesamten Lebenszyklus gemessen und nachverfolgt werden können. Weisen Sie den Kosten und dem Nutzen Ihrer Projekte Verantwortliche zu und sorgen Sie für eine klare Verantwortlichkeit.

Weitere Informationen finden Sie unter Kostenbewusstsein fördern in der Spalte „Kostenoptimierung“ des Google Cloud Well-Architected Framework.

Durch Iteration und Feedback Wert schaffen und kontinuierlich optimieren

Ordnen Sie Ihre KI- und ML-Anwendungen direkt Ihren Geschäftszielen zu und messen Sie den ROI.

Um Ihre ROI-Hypothesen zu validieren, sollten Sie mit Pilotprojekten beginnen und den folgenden iterativen Optimierungszyklus verwenden:

  1. Kontinuierlich überwachen und Daten analysieren: Behalten Sie KPIs und Kosten im Blick, um Abweichungen und Optimierungsmöglichkeiten zu erkennen.
  2. Datengestützte Anpassungen vornehmen: Optimieren Sie Strategien, Modelle, Infrastruktur und Ressourcenzuweisung basierend auf Datenstatistiken.
  3. Iterativ optimieren: Passen Sie Geschäftsziele und KPIs auf Grundlage der gewonnenen Erkenntnisse und der sich entwickelnden geschäftlichen Anforderungen an. So können Sie für Relevanz und strategische Ausrichtung sorgen.
  4. Feedbackschleife einrichten: Überprüfen Sie Leistung, Kosten und Wert mit Stakeholdern, um die laufende Optimierung und zukünftige Projektplanung zu verbessern.

Abrechnungsdaten mit Cloud Billing und Labels verwalten

Für eine effektive Kostenoptimierung ist es erforderlich, dass die Quelle jedes Kostenelements sichtbar ist. Die Empfehlungen in diesem Abschnitt können Ihnen helfen, mit Google Cloud-Tools detaillierte Informationen zu Ihren KI- und ML-Kosten zu erhalten. Sie können Kosten auch bestimmten KI- und ML-Projekten, Teams und Aktivitäten zuordnen. Diese Statistiken bilden die Grundlage für die Kostenoptimierung.

Ressourcen organisieren und mit Labels versehen Google Cloud

  • Strukturieren Sie Ihre Projekte und Ressourcen in einer Hierarchie, die Ihre Organisationsstruktur und Ihre KI- und ML-Workflows widerspiegelt. Wenn Sie Kosten auf verschiedenen Ebenen nachvollziehen und analysieren möchten, organisieren Sie Ihre Google Cloud Ressourcen mithilfe von Organisationen, Ordnern und Projekten. Weitere Informationen finden Sie unter Ressourcenhierarchie für Ihre Google Cloud Landing-Zone auswählen.
  • Wenden Sie aussagekräftige Labels auf Ihre Ressourcen an. Sie können Labels verwenden, die das Projekt, das Team, die Umgebung, den Modellnamen, das Dataset, den Anwendungsfall und die Leistungsanforderungen angeben. Labels liefern wertvollen Kontext für Ihre Abrechnungsdaten und ermöglichen eine detaillierte Kostenanalyse.
  • Achten Sie darauf, dass Ihre Kennzeichnungsregeln in allen Ihren KI- und ML-Projekten einheitlich sind. Durch einheitliche Beschriftungskonventionen werden Ihre Abrechnungsdaten organisiert und können problemlos analysiert werden.
  • Um detaillierte Analysen und Berichte zu ermöglichen, exportieren Sie die Abrechnungsdaten nach BigQuery. BigQuery bietet leistungsstarke Abfragefunktionen, mit denen Sie die Abrechnungsdaten analysieren können, um Ihre Kosten besser zu verstehen.
  • Wenn Sie Kosten nach Labels, Projekten oder bestimmten Zeiträumen zusammenfassen möchten, können Sie benutzerdefinierte SQL-Abfragen in BigQuery schreiben. Mit solchen Abfragen können Sie Kosten bestimmten KI- und ML-Aktivitäten zuordnen, z. B. Modelltraining, Hyperparameter-Abstimmung oder Inferenz.
  • Mit den Analysefunktionen in BigQuery können Sie Kostenanomalien oder unerwartete Ausgabenspitzen erkennen. So können Sie potenzielle Probleme oder Ineffizienzen in Ihren KI- und ML-Arbeitslasten erkennen.
  • Mit dem Dashboard zur Anomalieerkennung in Cloud Billing können Sie unerwartete Kosten ermitteln und verwalten.
  • Wenn Sie Kosten basierend auf der Ressourcennutzung auf verschiedene Teams oder Abteilungen verteilen möchten, verwenden Sie die Kostenaufteilung von Google Cloud. Die Kostenaufteilung fördert die Verantwortlichkeit und Transparenz.
  • Um Einblicke in Ausgabenmuster zu erhalten, können Sie die vordefinierten Cloud Billing-Berichte verwenden. Sie können diese Berichte filtern und anpassen, um sich auf bestimmte KI- und ML-Projekte oder ‑Dienste zu konzentrieren.

Ressourcen mit Dashboards, Benachrichtigungen und Berichten kontinuierlich im Blick behalten

Um Kosten skalierbar und stabil zu erfassen, sind kontinuierliche Überwachung und Berichterstellung erforderlich. Dashboards, Benachrichtigungen und Berichte bilden die Grundlage für ein effektives Kosten-Tracking. So haben Sie jederzeit Zugriff auf Kosteninformationen, können Optimierungsbereiche identifizieren und dafür sorgen, dass Geschäftsziele und Kosten aufeinander abgestimmt sind.

Berichtssystem erstellen

Geplante Berichte erstellen und mit den entsprechenden Stakeholdern teilen

Mit Cloud Monitoring können Sie Messwerte aus verschiedenen Quellen erfassen, darunter Ihre Anwendungen, Infrastruktur und Google Cloud Dienste wie Compute Engine, Google Kubernetes Engine (GKE) und Cloud Run-Funktionen. Um Messwerte und Logs in Echtzeit zu visualisieren, können Sie das vordefinierte Cloud Monitoring-Dashboard verwenden oder benutzerdefinierte Dashboards erstellen. Mit benutzerdefinierten Dashboards können Sie Messwerte definieren und hinzufügen, um bestimmte Aspekte Ihrer Systeme zu verfolgen, z. B. die Modellleistung, API-Aufrufe oder KPIs auf Geschäftsebene.

Mit Cloud Logging können Sie Logs aus Ihren Anwendungen, Systemen und Google Cloud Diensten zentral erfassen und speichern. Verwenden Sie die Logs für die folgenden Zwecke:

  • Kosten und Nutzung von Ressourcen wie CPU, Arbeitsspeicher, Speicher und Netzwerk im Blick behalten.
  • Identifizieren Sie Fälle von Überbereitstellung (bei denen Ressourcen nicht vollständig genutzt werden) und Unterbereitstellung (bei denen nicht genügend Ressourcen vorhanden sind). Eine Überbereitstellung führt zu unnötigen Kosten. Eine Unterbereitstellung verlangsamt die Trainingszeiten und kann zu Leistungsproblemen führen.
  • Identifizieren Sie inaktive oder nicht ausreichend genutzte Ressourcen wie VMs und GPUs und ergreifen Sie Maßnahmen, um sie herunterzufahren oder ihre Größe anzupassen, um die Kosten zu optimieren.
  • Kostensteigerungen erkennen, um plötzliche und unerwartete Erhöhungen der Ressourcennutzung oder der Kosten zu erkennen.

Mit Looker oder Looker Studio können Sie interaktive Dashboards und Berichte erstellen. Verbinden Sie die Dashboards und Berichte mit verschiedenen Datenquellen, darunter BigQuery und Cloud Monitoring.

Schwellenwerte für Benachrichtigungen anhand wichtiger KPIs festlegen

Legen Sie für Ihre KPIs die Grenzwerte fest, die Benachrichtigungen auslösen sollen. Sinnvolle Warnmeldungs-Schwellenwerte können Ihnen helfen, eine Überlastung durch Warnmeldungen zu vermeiden. Erstellen Sie Benachrichtigungsrichtlinien in Cloud Monitoring, um Benachrichtigungen zu Ihren KPIs zu erhalten. Sie können sich beispielsweise benachrichtigen lassen, wenn die Genauigkeit unter einen bestimmten Grenzwert fällt oder die Latenz einen definierten Grenzwert überschreitet. Benachrichtigungen, die auf Logdaten basieren, können Sie in Echtzeit über potenzielle Kostenprobleme informieren. So können Sie schnell Korrekturmaßnahmen ergreifen und weitere finanzielle Verluste verhindern.

Ressourcenzuweisung optimieren

Um die Kosteneffizienz für Ihre KI- und ML-Arbeitslasten in Google Cloudzu erreichen, müssen Sie die Ressourcenzuweisung optimieren. Um unnötige Ausgaben zu vermeiden und dafür zu sorgen, dass Ihre Arbeitslasten über die Ressourcen verfügen, die sie für eine optimale Leistung benötigen, sollten Sie die Ressourcenzuweisung an die Anforderungen Ihrer Arbeitslasten anpassen.

Berücksichtigen Sie die folgenden Empfehlungen, um die Zuweisung von Cloud-Ressourcen für KI- und ML-Arbeitslasten zu optimieren.

Ressourcen mit Autoscaling dynamisch anpassen

Verwenden Sie Google Cloud Dienste, die Autoscaling unterstützen. Dadurch wird die Ressourcenzuweisung automatisch an die aktuelle Nachfrage angepasst. Autoscaling bietet folgende Vorteile:

  • Kosten- und Leistungsoptimierung: Sie vermeiden, für inaktive Ressourcen zu bezahlen. Gleichzeitig sorgt die automatische Skalierung dafür, dass Ihre Systeme über die erforderlichen Ressourcen verfügen, um auch bei Spitzenlast optimal zu funktionieren.
  • Höhere Effizienz: Ihr Team hat mehr Zeit für andere Aufgaben.
  • Mehr Agilität: Sie können schnell auf sich ändernde Anforderungen reagieren und eine hohe Verfügbarkeit Ihrer Anwendungen aufrechterhalten.

In der folgenden Tabelle sind die Techniken zusammengefasst, die Sie verwenden können, um die automatische Skalierung für verschiedene Phasen Ihrer KI-Projekte zu implementieren.

Phase Autoscaling-Techniken
Training
  • Verwenden Sie verwaltete Dienste wie Vertex AI oder GKE, die integrierte Autoscaling-Funktionen für Trainingsjobs bieten.
  • Konfigurieren Sie Autoscaling-Richtlinien, um die Anzahl der Trainingsinstanzen anhand von Messwerten wie CPU-Auslastung, Arbeitsspeichernutzung und Länge der Jobwarteschlange zu skalieren.
  • Mit benutzerdefinierten Skalierungsmesswerten können Sie das Autoscaling-Verhalten für Ihre spezifischen Arbeitslasten optimieren.
Inferenz
  • Stellen Sie Ihre Modelle auf skalierbaren Plattformen wie Vertex AI Inference, GPUs in GKE oder TPUs in GKE bereit.
  • Mit Autoscaling-Funktionen können Sie die Anzahl der Replikate anhand von Messwerten wie Anfragerate, Latenz und Ressourcennutzung anpassen.
  • Implementieren Sie Load-Balancing, um den Traffic gleichmäßig auf Replikate zu verteilen und für Hochverfügbarkeit zu sorgen.

Mit kleinen Modellen und Datasets beginnen

Um Kosten zu senken, sollten Sie ML-Hypothesen nach Möglichkeit in kleinem Maßstab testen und einen iterativen Ansatz verwenden. Dieser Ansatz mit kleineren Modellen und Datasets bietet folgende Vorteile:

  • Von Anfang an geringere Kosten: Weniger Rechenleistung, Speicherplatz und Verarbeitungszeit können in den ersten Test- und Entwicklungsphasen zu niedrigeren Kosten führen.
  • Schnellere Iteration: Es ist weniger Trainingszeit erforderlich, sodass Sie schneller iterieren, alternative Ansätze ausprobieren und vielversprechende Richtungen effizienter ermitteln können.
  • Weniger Komplexität: Einfacheres Debuggen, Analysieren und Interpretieren von Ergebnissen, was zu schnelleren Entwicklungszyklen führt.
  • Effiziente Ressourcennutzung: Das Risiko einer Überbereitstellung von Ressourcen wird verringert. Sie stellen nur die Ressourcen bereit, die für die aktuelle Arbeitslast erforderlich sind.

Beachten Sie die folgenden Empfehlungen:

  • Zuerst Beispieldaten verwenden: Trainieren Sie Ihre Modelle mit einer repräsentativen Teilmenge Ihrer Daten. So können Sie die Leistung des Modells bewerten und potenzielle Probleme erkennen, ohne den gesamten Datensatz zu verarbeiten.
  • Mit Notebooks experimentieren: Beginnen Sie mit kleineren Instanzen und skalieren Sie sie nach Bedarf. Sie können Vertex AI Workbench verwenden, eine verwaltete Jupyter-Notebook-Umgebung, die sich gut für das Testen verschiedener Modellarchitekturen und Datasets eignet.
  • Mit einfacheren oder vortrainierten Modellen beginnen: Im Vertex AI Model Garden können Sie vortrainierte Modelle ermitteln und ausprobieren. Solche Modelle benötigen weniger Rechenressourcen. Erhöhen Sie die Komplexität nach Bedarf schrittweise, basierend auf den Leistungsanforderungen.

    • Vortrainierte Modelle für Aufgaben wie Bildklassifizierung und Natural Language Processing verwenden Um Trainingskosten zu sparen, können Sie die Modelle zuerst mit kleineren Datasets abstimmen.
    • BigQuery ML für strukturierte Daten verwenden. Mit BigQuery ML können Sie Modelle direkt in BigQuery erstellen und bereitstellen. Dieser Ansatz kann für erste Tests kostengünstig sein, da Sie das Pay-per-Query-Preismodell für BigQuery nutzen können.
  • Für Ressourcenoptimierung skalieren: Nutzen Sie die flexible Infrastruktur von Google Cloud, um Ressourcen nach Bedarf zu skalieren. Beginnen Sie mit kleineren Instanzen und passen Sie deren Größe oder Anzahl bei Bedarf an.

Ressourcenanforderungen durch Tests ermitteln

Die Ressourcenanforderungen für KI- und ML-Arbeitslasten können erheblich variieren. Um die Ressourcenzuweisung und die Kosten zu optimieren, müssen Sie die spezifischen Anforderungen Ihrer Arbeitslasten durch systematische Tests ermitteln. Um die effizienteste Konfiguration für Ihre Modelle zu ermitteln, testen Sie verschiedene Konfigurationen und analysieren Sie ihre Leistung. Passen Sie dann die Ressourcen, die Sie für das Training und die Bereitstellung verwendet haben, an die Anforderungen an.

Wir empfehlen den folgenden Ansatz für Experimente:

  1. Mit einer Baseline beginnen: Beginnen Sie mit einer Baseline-Konfiguration, die auf Ihren ersten Schätzungen der Arbeitslastanforderungen basiert. Um eine Baseline zu erstellen, können Sie den Kostenschätzer für neue Arbeitslasten oder einen vorhandenen Abrechnungsbericht verwenden. Weitere Informationen finden Sie unter Unlock the true cost of enterprise AI on Google Cloud.
  2. Kontingente kennen: Bevor Sie umfangreiche Tests starten, sollten Sie sich mit den Kontingenten für die Ressourcen und APIs vertraut machen, die Sie verwenden möchten. Google Cloud Die Kontingente bestimmen den Bereich der Konfigurationen, die Sie realistisch testen können. Wenn Sie sich mit Kontingenten vertraut machen, können Sie während der Testphase die verfügbaren Ressourcenlimits einhalten.
  3. Systematisch testen: Passen Sie Parameter wie die Anzahl der CPUs, die Menge des Arbeitsspeichers, die Anzahl und den Typ der GPUs und TPUs sowie die Speicherkapazität an. Mit Vertex AI Training und Vertex AI Predictions können Sie verschiedene Maschinentypen und Konfigurationen testen.
  4. Nutzung, Kosten und Leistung im Blick behalten: Behalten Sie die Ressourcennutzung, die Kosten und die wichtigsten Leistungsmesswerte wie Trainingszeit, Inferenzlatenz und Modellgenauigkeit für jede Konfiguration im Blick, mit der Sie experimentieren.

    • Mit der Vertex AI-Konsole können Sie die Ressourcennutzung und Leistungsmesswerte im Blick behalten.
    • Verwenden Sie Cloud Monitoring, um detaillierte Leistungsmesswerte zu erfassen und zu analysieren.
    • Verwenden Sie Cloud Billing-Berichte und Cloud Monitoring-Dashboards, um die Kosten anzusehen.
    • Verwenden Sie Profiling-Tools wie Vertex AI TensorBoard, um Leistungsengpässe in Ihren Modellen zu ermitteln und die Ressourcennutzung zu optimieren.
  5. Kosten analysieren: Vergleichen Sie die Kosten und die Leistung der einzelnen Konfigurationen, um die kostengünstigste Option zu ermitteln.

  6. Ressourcenschwellen und Verbesserungsziele auf Grundlage von Kontingenten festlegen: Definieren Sie Schwellenwerte, ab denen die Skalierung zu einem Leistungsrückgang führt, z. B. eine minimale Verkürzung der Trainingszeit oder Latenz bei einer erheblichen Kostensteigerung. Berücksichtigen Sie beim Festlegen dieser Grenzwerte die Projektkontingente. Ermitteln Sie den Punkt, an dem die Kosten und potenziellen Kontingentauswirkungen einer weiteren Skalierung nicht mehr durch Leistungssteigerungen gerechtfertigt sind.

  7. Iterativ optimieren: Wiederholen Sie den Testprozess mit optimierten Konfigurationen basierend auf Ihren Ergebnissen. Achten Sie immer darauf, dass die Ressourcennutzung innerhalb Ihrer zugewiesenen Kontingente bleibt und mit den festgelegten Kosten-Nutzen-Schwellenwerten übereinstimmt.

Ineffizienzen mit MLOps reduzieren

Da Unternehmen zunehmend ML einsetzen, um Innovation und Effizienz zu steigern, wird es immer wichtiger, den ML-Lebenszyklus effektiv zu verwalten. MLOps (Machine Learning Operations) ist eine Reihe von Verfahren, mit denen der ML-Lebenszyklus automatisiert und optimiert wird – von der Modellentwicklung bis zur Bereitstellung und zum Monitoring.

MLOps auf Kostentreiber ausrichten

Um MLOps zur Kostensenkung zu nutzen, müssen Sie die wichtigsten Kostentreiber im ML-Lebenszyklus ermitteln. Anschließend können Sie MLOps-Verfahren einführen und implementieren, die auf die Kostentreiber abgestimmt sind. Priorisieren und übernehmen Sie die MLOps-Funktionen, die die wichtigsten Kostentreiber angehen. Dieser Ansatz trägt dazu bei, dass Sie auf überschaubare und erfolgreiche Weise erhebliche Kosteneinsparungen erzielen können.

MLOps zur Kostenoptimierung implementieren

Im Folgenden finden Sie einige gängige MLOps-Methoden, mit denen sich Kosten senken lassen:

  • Versionskontrolle: Mit Tools wie Git können Sie Versionen von Code, Daten und Modellen nachverfolgen. Die Versionskontrolle sorgt für Reproduzierbarkeit, erleichtert die Zusammenarbeit und verhindert kostspielige Überarbeitungen, die durch Versionsprobleme verursacht werden können.
  • Continuous Integration und Continuous Delivery (CI/CD): Mit Cloud Build und Artifact Registry können Sie CI/CD-Pipelines implementieren, um das Erstellen, Testen und Bereitstellen Ihrer ML-Modelle zu automatisieren. CI/CD-Pipelines sorgen für eine effiziente Ressourcennutzung und minimieren die Kosten, die mit manuellen Eingriffen verbunden sind.
  • Observability: Mit Cloud Monitoring und Cloud Logging können Sie die Modellleistung in der Produktion verfolgen, Probleme identifizieren und Benachrichtigungen für proaktive Maßnahmen auslösen. Mit der Beobachtbarkeit können Sie die Modellgenauigkeit aufrechterhalten, die Ressourcenverteilung optimieren und kostspielige Ausfallzeiten oder Leistungseinbußen verhindern.
  • Modelltraining: Vertex AI Pipelines vereinfacht die Prozesse für das regelmäßige oder bei Leistungsverschlechterung erfolgende erneute Trainieren von Modellen. Wenn Sie Vertex AI Pipelines für das erneute Training verwenden, bleiben Ihre Modelle genau und effizient. So können Sie unnötigen Ressourcenverbrauch vermeiden und eine optimale Leistung aufrechterhalten.
  • Automatisierte Tests und Bewertung: Mit Vertex AI können Sie die Modellbewertung beschleunigen und standardisieren. Implementieren Sie automatisierte Tests während des gesamten ML-Lebenszyklus, um die Qualität und Zuverlässigkeit Ihrer Modelle zu gewährleisten. Mit solchen Tests können Sie Fehler frühzeitig erkennen, kostspielige Probleme in der Produktion vermeiden und den Bedarf an umfangreichen manuellen Tests verringern.

Weitere Informationen finden Sie unter MLOps: Continuous Delivery und Pipelines zur Automatisierung im maschinellen Lernen.

Praktiken für Datenmanagement und Governance durchsetzen

Effektive Datenverwaltungs- und Governance-Praktiken sind entscheidend für die Kostenoptimierung. Gut organisierte Daten können Teams dazu anregen, Datasets wiederzuverwenden, unnötige Duplikate zu vermeiden und den Aufwand für den Erhalt hochwertiger Daten zu reduzieren. Durch die proaktive Verwaltung von Daten können Sie Speicherkosten senken, die Datenqualität verbessern und dafür sorgen, dass Ihre ML-Modelle mit den relevantesten und wertvollsten Daten trainiert werden.

Beachten Sie die folgenden Empfehlungen, um Verfahren für die Datenverwaltung und ‑steuerung zu implementieren.

Data-Governance-Framework einrichten und einführen

Durch die zunehmende Bedeutung von KI und ML sind Daten zum wertvollsten Asset für Unternehmen geworden, die sich im digitalen Wandel befinden. Ein robustes Framework für Data Governance ist eine entscheidende Voraussetzung für die kostengünstige Verwaltung von KI- und ML-Arbeitslasten im großen Maßstab. Ein Data-Governance-Framework mit klar definierten Richtlinien, Verfahren und Rollen bietet einen strukturierten Ansatz für die Verwaltung von Daten während ihres gesamten Lebenszyklus. Ein solches Framework trägt dazu bei, die Datenqualität zu verbessern, die Sicherheit zu erhöhen, die Nutzung zu optimieren und Redundanz zu verringern.

Data-Governance-Framework einrichten

Es gibt viele bestehende Frameworks für Data Governance, z. B. die vom EDM Council veröffentlichten Frameworks, mit Optionen für verschiedene Branchen und Organisationsgrößen. Wählen Sie ein Framework aus, das Ihren spezifischen Anforderungen und Prioritäten entspricht, und passen Sie es an.

Data Governance-Framework implementieren

Google Cloud bietet die folgenden Dienste und Tools, mit denen Sie ein robustes Data Governance-Framework implementieren können:

  • Dataplex Universal Catalog ist eine intelligente Datenstruktur, mit der Sie verteilte Daten zusammenführen und die Data Governance automatisieren können, ohne Datasets an einem Ort zusammenführen zu müssen. Dies trägt dazu bei, die Kosten für die Verteilung und Verwaltung von Daten zu senken, die Suche nach Daten zu erleichtern und die Wiederverwendung zu fördern.

  • Dataplex Universal Catalog ist ebenfalls ein vollständig verwalteter und skalierbarer Dienst zur Metadatenverwaltung. Der Katalog bildet die Grundlage dafür, dass Daten-Assets zugänglich und wiederverwendbar sind.

    • Metadaten aus den unterstützten Google Cloud Quellen werden automatisch in den universellen Katalog aufgenommen. Für Datenquellen außerhalb von Google Cloudbenutzerdefinierte Einträge erstellen.
    • Um die Auffindbarkeit und Verwaltung von Daten-Assets zu verbessern, können Sie technische Metadaten mit geschäftlichen Metadaten anreichern. Verwenden Sie dazu Aspekte.
    • Sorgen Sie dafür, dass Data Scientists und ML-Experten über ausreichende Berechtigungen verfügen, um auf Dataplex Universal Catalog zuzugreifen und die Suchfunktion zu verwenden.
  • Mit BigQuery-Freigabe können Sie Daten-Assets effizient und sicher organisationsübergreifend austauschen, um Herausforderungen im Hinblick auf Datenzuverlässigkeit und Kosten zu bewältigen.

    • Richten Sie Datenaustausche ein und sorgen Sie dafür, dass kuratierte Daten-Assets als Einträge angezeigt werden können.
    • Mit Data-Clean-Rooms können Sie den Zugriff auf sensible Daten sicher verwalten und effizient mit externen Teams und Organisationen an KI- und ML-Projekten zusammenarbeiten.
    • Sorgen Sie dafür, dass Data Scientists und ML-Experten über ausreichende Berechtigungen verfügen, um Datasets in BigQuery-Freigaben anzusehen und zu veröffentlichen.

Datasets und Features im gesamten ML-Lebenszyklus wiederverwendbar machen

Um die Effizienz und Kostenvorteile zu maximieren, sollten Sie Datasets und Funktionen in mehreren ML-Projekten wiederverwenden. Wenn Sie redundante Data-Engineering- und Feature-Entwicklungsbemühungen vermeiden, kann Ihre Organisation die Modellentwicklung beschleunigen, die Infrastrukturkosten senken und wertvolle Ressourcen für andere wichtige Aufgaben freisetzen.

Google Cloud bietet die folgenden Dienste und Tools, mit denen Sie Datasets und Funktionen wiederverwenden können:

  • Daten- und ML-Experten können Datenprodukte veröffentlichen, um die Wiederverwendung durch Teams zu maximieren. Die Datenprodukte können dann über Dataplex Universal Catalog und die BigQuery-Freigabe gefunden und verwendet werden.
  • Für tabellarische und strukturierte Datasets können Sie Vertex AI Feature Store verwenden, um die Wiederverwendbarkeit zu fördern und die Feature-Verwaltung über BigQuery zu optimieren.
  • Sie können unstrukturierte Daten in Cloud Storage speichern und die Daten mit BigQuery-Objekttabellen und signierten URLs verwalten.
  • Sie können Vektoreinbettungen verwalten, indem Sie Metadaten in Ihre Vektorsuche-Indizes aufnehmen.

Mit MLOps automatisieren und optimieren

Ein Hauptvorteil der Einführung von MLOps-Verfahren ist die Senkung der Kosten für Technologie und Personal. Durch Automatisierung können Sie die Duplizierung von ML-Aktivitäten vermeiden und den Arbeitsaufwand für Data Scientists und ML-Teams reduzieren.

Wenn Sie die ML-Entwicklung mit MLOps automatisieren und optimieren möchten, sollten Sie die folgenden Empfehlungen berücksichtigen.

Datenerhebung und ‑verarbeitung automatisieren und standardisieren

Um den Aufwand und die Zeit für die ML-Entwicklung zu reduzieren, sollten Sie Ihre Technologien zur Datenerhebung und -verarbeitung automatisieren und standardisieren.

Datenerhebung und ‑verarbeitung automatisieren

In diesem Abschnitt werden die Produkte, Tools und Techniken zusammengefasst, die Sie zum Automatisieren der Datenerhebung und ‑verarbeitung verwenden können.

Relevante Datenquellen für Ihre KI- und ML-Aufgaben identifizieren und auswählen:

Wählen Sie für jede Ihrer Datenquellen ein Aufnahmetool aus:

  • Dataflow: Für die Batch- und Streamverarbeitung von Daten aus verschiedenen Quellen mit Integration von ML-Komponenten. Für eine ereignisgesteuerte Architektur können Sie Dataflow mit Eventarc kombinieren, um Daten für ML effizient zu verarbeiten. Um die Effizienz von MLOps und ML-Jobs zu steigern, sollten Sie GPUs und die Right-Fitting-Funktionen verwenden.
  • Cloud Run-Funktionen: Für die ereignisgesteuerte Datenerfassung, die durch Änderungen in Datenquellen für Echtzeitanwendungen ausgelöst wird.
  • BigQuery: Für die Aufnahme klassischer tabellarischer Daten mit häufigem Zugriff.

Tools für die Datentransformation und das Laden auswählen:

  • Verwenden Sie Tools wie Dataflow oder Dataform, um Datentransformationen wie die Skalierung von Features, die Codierung von kategorischen Variablen und die Erstellung neuer Features im Batch-, Streaming- oder Echtzeitmodus zu automatisieren. Die ausgewählten Tools hängen von Ihren Anforderungen und den von Ihnen gewählten Diensten ab.
  • Verwenden Sie Vertex AI Feature Store, um die Erstellung und Verwaltung von Features zu automatisieren. Sie können Funktionen zentralisieren, um sie in verschiedenen Modellen und Projekten wiederzuverwenden.

Datenerhebung und ‑verarbeitung standardisieren

Um Daten-Assets zu ermitteln, zu analysieren und zu verwalten, verwenden Sie Dienste zur Metadatenverwaltung wie den Dataplex Universal Catalog. So können Sie Datendefinitionen standardisieren und für Konsistenz in Ihrem Unternehmen sorgen.

Um die Standardisierung zu erzwingen und die Kosten für die Wartung mehrerer benutzerdefinierter Implementierungen zu vermeiden, sollten Sie automatisierte Trainingspipelines und Orchestrierung verwenden. Weitere Informationen finden Sie im nächsten Abschnitt.

Trainingspipelines automatisieren und vorhandene Assets wiederverwenden

Um die Effizienz und Produktivität von MLOps zu steigern, sind automatisierte Trainingspipelines unerlässlich. Google Cloud bietet eine robuste Reihe von Tools und Diensten zum Erstellen und Bereitstellen von Trainingspipelines, wobei der Schwerpunkt auf der Wiederverwendung vorhandener Assets liegt. Automatisierte Trainingspipelines beschleunigen die Modellentwicklung, sorgen für Konsistenz und reduzieren redundanten Aufwand.

Trainingspipelines automatisieren

In der folgenden Tabelle werden die Google Cloud Dienste und ‑Funktionen beschrieben, mit denen Sie die verschiedenen Funktionen einer Trainingspipeline automatisieren können.

Funktion Google Cloud -Dienste und ‑Funktionen
Orchestrierung: Definieren Sie komplexe ML-Workflows, die aus mehreren Schritten und Abhängigkeiten bestehen. Sie können jeden Schritt als separate containerisierte Aufgabe definieren, was die Verwaltung und Skalierung einzelner Aufgaben erleichtert.
  • Verwenden Sie Vertex AI Pipelines oder Kubeflow Pipelines, um Pipelines zu erstellen und zu orchestrieren. Diese Tools unterstützen die einfache Datenumwandlung, das Modelltraining, die Modellbereitstellung und die Versionsverwaltung von Pipelines. Damit können Sie Abhängigkeiten zwischen Schritten definieren, den Datenfluss verwalten und die Ausführung des gesamten Workflows automatisieren.
  • Für komplexe operative Aufgaben mit hohen CI/CD- und ETL-Anforderungen (Extract, Transform, Load) verwenden Sie Cloud Composer. Wenn Sie Airflow für die Datenorchestrierung bevorzugen, ist Cloud Composer ein kompatibler verwalteter Dienst, der auf Airflow basiert.
  • Verwenden Sie für Pipelines, die außerhalb von Vertex AI Pipelines verwaltet werden, Workflows für infrastrukturbezogene Aufgaben wie das Starten und Beenden von VMs oder die Integration in externe Systeme.
  • Verwenden Sie Cloud Build mit Pub/Sub, um Ihren CI/CD-Prozess zu automatisieren. Sie können Benachrichtigungen und automatische Trigger einrichten, wenn neuer Code übertragen wird oder ein neues Modell trainiert werden muss.
  • Wenn Sie eine vollständig verwaltete, skalierbare Lösung für die Pipelineverwaltung benötigen, verwenden Sie Cloud Data Fusion.
Versionsverwaltung: Sie können verschiedene Versionen von Pipelines und Komponenten verfolgen und steuern, um Reproduzierbarkeit und Prüfbarkeit zu gewährleisten. Speichern Sie Kubeflow-Pipeline-Vorlagen in einem Kubeflow Pipelines-Repository in Artifact Registry.
Wiederverwendbarkeit: Sie können vorhandene Pipelinekomponenten und Artefakte wie vorbereitete Datasets und trainierte Modelle wiederverwenden, um die Entwicklung zu beschleunigen. Speichern Sie Ihre Pipelinevorlagen in Cloud Storage und geben Sie sie für Ihre Organisation frei.
Monitoring: Überwachen Sie die Pipeline-Ausführung, um Probleme zu erkennen und zu beheben. Cloud Logging und Cloud Monitoring verwenden. Weitere Informationen finden Sie unter Ressourcen mit Dashboards, Benachrichtigungen und Berichten kontinuierlich überwachen.

Wiederverwendbarkeit über Pipelines hinaus erweitern

Suchen Sie nach Möglichkeiten, die Wiederverwendbarkeit über Trainingspipelines hinaus zu erweitern. Im Folgenden finden Sie Beispiele für Google Cloud Funktionen, mit denen Sie ML-Features, Datasets, Modelle und Code wiederverwenden können.

  • Vertex AI Feature Store bietet ein zentrales Repository zum Organisieren, Speichern und Bereitstellen von ML-Features. So können Sie Funktionen in verschiedenen Projekten und Modellen wiederverwenden, was die Konsistenz verbessern und den Aufwand für das Feature Engineering verringern kann. Sie können Funktionen für Online- und Offline-Anwendungsfälle speichern, freigeben und darauf zugreifen.
  • Mit Vertex AI-Datasets können Teams Datasets zentral erstellen und verwalten. So kann Ihre Organisation die Wiederverwendbarkeit maximieren und Datenduplikate reduzieren. Ihre Teams können die Datasets mit Dataplex Universal Catalog suchen und finden.
  • Mit Vertex AI Model Registry können Sie Ihre trainierten Modelle speichern, verwalten und bereitstellen. Mit Model Registry können Sie die Modelle in nachfolgenden Pipelines oder für Onlinevorhersagen wiederverwenden. So können Sie von früheren Trainings profitieren.
  • Mit benutzerdefinierten Containern können Sie Ihren Trainingscode und Ihre Abhängigkeiten in Containern verpacken und die Container in Artifact Registry speichern. Mit benutzerdefinierten Containern können Sie konsistente und reproduzierbare Trainingsumgebungen für verschiedene Pipelines und Projekte bereitstellen.

Google Cloud -Dienste für die Modellbewertung und ‑optimierung verwenden

Google Cloud bietet eine leistungsstarke Suite von Tools und Diensten, mit denen sich die Modellbewertung und -optimierung optimieren und automatisieren lassen. Mit diesen Tools und Diensten können Sie die Zeit bis zur Produktionsreife verkürzen und den Ressourcenaufwand für kontinuierliches Training und Monitoring reduzieren. Mit diesen Diensten können Ihre KI- und ML-Teams die Modellleistung mit weniger kostspieligen Iterationen verbessern, schneller Ergebnisse erzielen und verschwendete Rechenressourcen minimieren.

Ressourceneffiziente Modellbewertung und ‑tests

Beginnen Sie ein KI-Projekt mit Tests, bevor Sie Ihre Lösung skalieren. Erfassen Sie in Ihren Tests verschiedene Metadaten wie Dataset-Version, Modellparameter und Modelltyp. Um die Ergebnisse besser reproduzieren und vergleichen zu können, sollten Sie zusätzlich zur Codeversionsverwaltung auch Metadaten erfassen, ähnlich wie in Git. Um fehlende Informationen zu vermeiden oder die falsche Version in der Produktion bereitzustellen, sollten Sie Vertex AI Experiments verwenden, bevor Sie Bereitstellungs- oder Trainingsjobs im großen Maßstab implementieren.

Mit Vertex AI Experiments haben Sie folgende Möglichkeiten:

  • Metadaten lassen sich über eine nutzerfreundliche UI und API für produktionsreife Arbeitslasten einfacher erfassen und automatisch ermitteln.
  • Analysieren Sie die Leistungsmesswerte des Modells und vergleichen Sie die Messwerte für mehrere Modelle.

Nachdem das Modell trainiert wurde, sollten Sie die Leistung und den Daten-Drift im Laufe der Zeit für eingehende Daten kontinuierlich überwachen. Um diesen Prozess zu optimieren, können Sie Vertex AI Model Monitoring verwenden, um direkt auf die erstellten Modelle in der Model Registry zuzugreifen. Model Monitoring automatisiert auch das Monitoring von Daten und Ergebnissen durch Online- und Batchvorhersagen. Sie können die Ergebnisse zur weiteren Analyse und zum Tracking nach BigQuery exportieren.

Optimale Strategien zur Automatisierung des Trainings auswählen

Für die Hyperparameter-Abstimmung empfehlen wir die folgenden Ansätze:

  • Um die Suche nach den optimalen Hyperparametern für Ihre Modelle zu automatisieren, verwenden Sie die Vertex AI-Hyperparameter-Abstimmung. Vertex AI verwendet fortschrittliche Algorithmen, um den Hyperparameterbereich zu untersuchen und die beste Konfiguration zu ermitteln.
  • Für eine effiziente Hyperparameter-Abstimmung sollten Sie Bayes-Optimierung in Betracht ziehen, insbesondere bei komplexen Modellen und großen Datasets.

Für verteiltes Training empfehlen wir die folgenden Ansätze:

  • Verwenden Sie für große Datasets und komplexe Modelle die Infrastruktur für verteiltes Training von Vertex AI. Mit diesem Ansatz können Sie Ihre Modelle auf mehreren Maschinen trainieren, was die Trainingszeit und die damit verbundenen Kosten erheblich reduziert. Verwenden Sie Tools wie die folgenden:

  • Wählen Sie optimierte ML-Frameworks wie Keras und PyTorch aus, die verteiltes Training und eine effiziente Ressourcennutzung unterstützen.

Explainable AI verwenden

Es ist wichtig zu verstehen, warum ein Modell bestimmte Entscheidungen trifft, und potenzielle Vorurteile oder Bereiche mit Verbesserungspotenzial zu identifizieren. Mit Vertex Explainable AI können Sie Informationen zu den Vorhersagen Ihres Modells erhalten. Vertex Explainable AI bietet eine Möglichkeit, featurebasierte und beispielbasierte Erläuterungen zu automatisieren, die mit Ihren Vertex AI-Tests verknüpft sind.

  • Funktionsbasiert: Wenn Sie wissen möchten, welche Funktionen die Vorhersagen Ihres Modells am stärksten beeinflussen, analysieren Sie die Feature-Attributionen. Dieses Wissen kann die Entwicklung von Funktionen unterstützen und die Interpretierbarkeit des Modells verbessern.
  • Beispielbasiert: Um eine Liste von Beispielen (in der Regel aus dem Trainings-Dataset) zurückzugeben, die der Eingabe am ähnlichsten sind, verwendet Vertex AI die Suche des nächsten Nachbarn. Da ähnliche Eingaben in der Regel ähnliche Vorhersagen liefern, können Sie diese Erläuterungen verwenden, um das Verhalten eines Modells zu untersuchen und zu erklären.

Verwaltete Dienste und vortrainierte Modelle verwenden

Wählen Sie einen inkrementellen Ansatz für die Modellauswahl und ‑entwicklung. So vermeiden Sie übermäßige Kosten, die mit einem Neuanfang verbunden sind. Um die Kosten zu senken, können Sie ML-Frameworks, verwaltete Dienste und vortrainierte Modelle verwenden.

Wenn Sie den maximalen Nutzen aus verwalteten Diensten und vortrainierten Modellen ziehen möchten, sollten Sie die folgenden Empfehlungen berücksichtigen.

Notebooks für explorative Datenanalysen und Tests verwenden

Notebook-Umgebungen sind für kostengünstige ML-Tests unerlässlich. Ein Notebook bietet Data Scientists und Ingenieuren einen interaktiven und kollaborativen Bereich, in dem sie Daten untersuchen, Modelle entwickeln, Wissen austauschen und effizient iterieren können. Die Zusammenarbeit und der Wissensaustausch über Notebooks beschleunigen die Entwicklung, Code-Reviews und den Wissenstransfer erheblich. Notebooks helfen, Arbeitsabläufe zu optimieren und Doppelarbeit zu vermeiden.

Anstatt teure Hardware für Ihre Entwicklungsumgebung zu beschaffen und zu verwalten, können Sie die skalierbare On-Demand-Infrastruktur von Vertex AI Workbench und Colab Enterprise nutzen.

  • Vertex AI Workbench ist eine Jupyter-Notebook-Entwicklungsumgebung für den gesamten Data-Science-Workflow. Sie können über das Jupyter-Notebook einer Instanz mit Vertex AI und anderen Google Cloud-Diensten interagieren. Vertex AI Workbench-Integrationen und ‑Funktionen bieten folgende Vorteile:

    • Mit BigQuery- und Cloud Storage-Integrationen in einem Jupyter-Notebook auf Ihre Daten zugreifen.
    • Wiederkehrende Aktualisierungen eines Modells mithilfe geplanter Ausführungen von Code automatisieren, der in Vertex AI ausgeführt wird.
    • Daten schnell durch Ausführen eines Notebooks in einem Dataproc-Cluster verarbeiten.
    • Mit Vertex AI Pipelines ein Notebook als Schritt in einer Pipeline ausführen.
  • Colab Enterprise ist eine kollaborative, verwaltete Notebook-Umgebung mit den Sicherheits- und Compliance-Funktionen von Google Cloud. Colab Enterprise ist ideal, wenn die Prioritäten Ihres Projekts in der gemeinsamen Entwicklung und der Reduzierung des Aufwands für die Verwaltung der Infrastruktur liegen. Colab Enterprise ist inGoogle Cloud -Dienste und KI-basierte Unterstützung mit Gemini integriert. Mit Colab Enterprise haben Sie folgende Möglichkeiten:

    • Sie können in Notebooks arbeiten, ohne die Infrastruktur verwalten zu müssen.
    • Sie können ein Notebook für einen einzelnen Nutzer, eine Google-Gruppe oder eine Google Workspace-Domain freigeben. Sie können den Notebook-Zugriff über Identity and Access Management (IAM) steuern.
    • Mit Funktionen interagieren, die in Vertex AI und BigQuery integriert sind.

Wenn Sie Änderungen nachverfolgen und bei Bedarf zu früheren Versionen zurückkehren möchten, können Sie Ihre Notebooks in Versionsverwaltungstools wie Git einbinden.

Mit vorhandenen und vortrainierten Modellen beginnen

Das Trainieren komplexer Modelle von Grund auf, insbesondere von Deep-Learning-Modellen, erfordert erhebliche Rechenressourcen und Zeit. Um die Modellauswahl und den Entwicklungsprozess zu beschleunigen, können Sie mit vorhandenen und vortrainierten Modellen beginnen. Diese Modelle, die mit riesigen Datasets trainiert werden, machen es überflüssig, Modelle von Grund auf neu zu trainieren. Dadurch werden Kosten und Entwicklungszeit erheblich reduziert.

Kosten für Schulung und Entwicklung senken

Wählen Sie für jede ML-Aufgabe ein geeignetes Modell oder eine geeignete API aus und kombinieren Sie sie, um einen End-to-End-ML-Entwicklungsprozess zu erstellen.

Der Vertex AI Model Garden bietet eine große Sammlung vortrainierter Modelle für Aufgaben wie Bildklassifizierung, Objekterkennung und Verarbeitung natürlicher Sprache. Die Modelle sind in die folgenden Kategorien unterteilt:

Google Cloud bietet KI- und ML-APIs, mit denen Entwickler leistungsstarke KI-Funktionen in Anwendungen einbinden können, ohne Modelle von Grund auf neu erstellen zu müssen.

  • Mit der Cloud Vision API können Sie Informationen aus Bildern gewinnen. Diese API ist nützlich für Anwendungen wie Bildanalyse, Inhaltsmoderation und automatische Dateneingabe.
  • Mit der Cloud Natural Language API können Sie Text analysieren, um seine Struktur und Bedeutung zu verstehen. Diese API ist nützlich für Aufgaben wie die Analyse von Kundenfeedback, die Kategorisierung von Inhalten und das Erkennen von Trends in sozialen Medien.
  • Die Speech-to-Text API wandelt Audio in Text um. Diese API unterstützt eine Vielzahl von Sprachen und Dialekten.
  • Die Video Intelligence API analysiert Videoinhalte, um Objekte, Szenen und Aktionen zu erkennen. Mit dieser API können Sie Videoinhalte analysieren, Inhalte moderieren und Videos suchen.
  • Die Document AI API verarbeitet Dokumente, um Daten zu extrahieren, zu klassifizieren und zu analysieren. Mit dieser API können Sie Workflows zur Dokumentverarbeitung automatisieren.
  • Mit der Dialogflow API lassen sich dialogorientierte Benutzeroberflächen wie Chatbots und Sprachassistenten erstellen. Mit dieser API können Sie Kundenservice-Bots und virtuelle Assistenten erstellen.
  • Die Gemini API in Vertex AI bietet Zugriff auf das leistungsstärkste und universell einsetzbare KI-Modell von Google.

Kosten für die Optimierung senken

Um den Bedarf an umfangreichen Daten und Rechenzeit zu verringern, können Sie Ihre vortrainierten Modelle mit bestimmten Datasets abstimmen. Wir empfehlen die folgenden Vorgehensweisen:

  • Lerntransfer: Verwenden Sie das Wissen aus einem vortrainierten Modell für eine neue Aufgabe, anstatt von Grund auf neu zu beginnen. Für diesen Ansatz sind weniger Daten und Rechenzeit erforderlich, was zur Kostensenkung beiträgt.
  • Adapter-Abstimmung (parametereffiziente Abstimmung): Modelle an neue Aufgaben oder Domains anpassen, ohne eine vollständige Feinabstimmung durchzuführen. Dieser Ansatz erfordert deutlich weniger Rechenressourcen und ein kleineres Dataset.
  • Überwachte Feinabstimmung: Das Modellverhalten wird mit einem mit Labels versehenen Dataset angepasst. Dieser Ansatz vereinfacht die Verwaltung der zugrunde liegenden Infrastruktur und den Entwicklungsaufwand, der für einen benutzerdefinierten Trainingsjob erforderlich ist.

Vertex AI Studio kennenlernen und ausprobieren

Mit Vertex AI Studio können Sie generative KI-Anwendungen schnell testen, Prototypen erstellen und bereitstellen.

  • Integration mit Model Garden: Bietet schnellen Zugriff auf die neuesten Modelle und ermöglicht es Ihnen, die Modelle effizient bereitzustellen, um Zeit und Kosten zu sparen.
  • Einheitlicher Zugriff auf spezialisierte Modelle: Bietet konsolidierten Zugriff auf eine Vielzahl von vortrainierten Modellen und APIs, einschließlich derer für Chat, Text, Medien, Übersetzung und Sprache. Dieser einheitliche Zugriff kann Ihnen helfen, die Zeit zu verkürzen, die Sie für die Suche nach und die Integration einzelner Dienste benötigen.

Verwaltete Dienste zum Trainieren oder Bereitstellen von Modellen verwenden

Verwaltete Dienste können dazu beitragen, die Kosten für das Modelltraining zu senken und die Infrastrukturverwaltung zu vereinfachen. So können Sie sich auf die Entwicklung und Optimierung von Modellen konzentrieren. Dieser Ansatz kann zu erheblichen Kostenvorteilen und einer höheren Effizienz führen.

Operativen Aufwand reduzieren

Um die Komplexität und die Kosten der Infrastrukturverwaltung zu reduzieren, können Sie verwaltete Dienste wie die folgenden verwenden:

  • Vertex AI Training bietet eine vollständig verwaltete Umgebung für das Training Ihrer Modelle in großem Maßstab. Sie können aus verschiedenen vordefinierten Containern mit beliebten ML-Frameworks auswählen oder Ihre eigenen benutzerdefinierten Container verwenden. Google Cloud übernimmt die Bereitstellung, Skalierung und Wartung der Infrastruktur, sodass Sie weniger Betriebsaufwand haben.
  • Vertex AI Predictions übernimmt die Infrastrukturskalierung, den Lastenausgleich und das Anfragenrouting. Sie profitieren von hoher Verfügbarkeit und Leistung ohne manuellen Eingriff.
  • Ray in Vertex AI bietet einen vollständig verwalteten Ray-Cluster. Sie können den Cluster verwenden, um komplexe benutzerdefinierte KI-Arbeitslasten auszuführen, die viele Berechnungen durchführen (Hyperparameter-Optimierung, Modell-Feinabstimmung, verteiltes Modelltraining und bestärkendes Lernen durch menschliches Feedback), ohne dass Sie Ihre eigene Infrastruktur verwalten müssen.

Verwaltete Dienste zur Optimierung der Ressourcennutzung verwenden

Weitere Informationen zur effizienten Ressourcennutzung finden Sie unter Ressourcennutzung optimieren.

Beitragende

Autoren:

Weitere Beitragende:

KI- und ML-Perspektive: Leistungsoptimierung

Dieses Dokument im Well-Architected Framework: AI & ML Perspective bietet einen Überblick über Prinzipien und Empfehlungen, die Ihnen helfen, die Leistung Ihrer KI- und ML-Arbeitslasten auf Google Cloudzu optimieren. Die Empfehlungen in diesem Dokument entsprechen der Säule zur Leistungsoptimierung des Google Cloud Well-Architected Framework.

KI- und ML-Systeme ermöglichen neue Automatisierungs- und Entscheidungsfunktionen für Ihr Unternehmen. Die Leistung dieser Systeme kann sich direkt auf Ihre geschäftlichen Faktoren wie Umsatz, Kosten und Kundenzufriedenheit auswirken. Um das volle Potenzial Ihrer KI- und ML-Systeme auszuschöpfen, müssen Sie ihre Leistung auf Grundlage Ihrer Geschäftsziele und technischen Anforderungen optimieren. Bei der Leistungsoptimierung müssen oft Kompromisse eingegangen werden. Beispielsweise kann eine Designentscheidung, die die erforderliche Leistung bietet, zu höheren Kosten führen. Bei den Empfehlungen in diesem Dokument hat die Leistung Vorrang vor anderen Aspekten wie Kosten.

Um die Leistung von KI und ML zu optimieren, müssen Sie Entscheidungen in Bezug auf Faktoren wie die Modellarchitektur, Parameter und Trainingsstrategie treffen. Berücksichtigen Sie bei diesen Entscheidungen den gesamten Lebenszyklus der KI- und ML-Systeme und ihre Bereitstellungsumgebung. Sehr große LLMs können beispielsweise auf einer umfangreichen Trainingsinfrastruktur sehr leistungsstark sein, aber in Umgebungen mit begrenzter Kapazität wie Mobilgeräten möglicherweise nicht gut funktionieren.

Geschäftsziele in Leistungsziele umwandeln

Um Architektur-Entscheidungen zu treffen, die die Leistung optimieren, beginnen Sie mit einer klaren Reihe von Geschäftszielen. Entwerfen Sie KI- und ML-Systeme, die die technische Leistung bieten, die zur Unterstützung Ihrer Geschäftsziele und Prioritäten erforderlich ist. Ihre technischen Teams müssen die Zuordnung zwischen Leistungszielen und Geschäftszielen verstehen.

Beachten Sie die folgenden Empfehlungen:

  • Geschäftsziele in technische Anforderungen umwandeln: Wandeln Sie die Geschäftsziele Ihrer KI- und ML-Systeme in spezifische technische Leistungsanforderungen um und bewerten Sie die Auswirkungen, wenn die Anforderungen nicht erfüllt werden. Bei einer Anwendung, die beispielsweise den Kundenabgang vorhersagt, sollte das ML-Modell bei Standardmesswerten wie Accuracy und Recall gut abschneiden und die Anwendung sollte betriebliche Anforderungen wie eine niedrige Latenz erfüllen.
  • Leistung in allen Phasen des Modelllebenszyklus beobachten: Beobachten Sie während der Tests und des Trainings nach der Modellbereitstellung Ihre wichtigsten Leistungskennzahlen (KPIs) und achten Sie auf Abweichungen von den Geschäftszielen.
  • Bewertung automatisieren, um sie reproduzierbar und standardisiert zu machen: Mit einer standardisierten und vergleichbaren Plattform und Methodik für die Bewertung von Tests können Ihre Entwickler die Leistungssteigerung beschleunigen.

Häufige Tests ausführen und verfolgen

Damit Innovation und Kreativität zu Leistungssteigerungen führen, benötigen Sie eine Kultur und eine Plattform, die Experimente unterstützt. Die Leistungssteigerung ist ein fortlaufender Prozess, da sich KI- und ML-Technologien kontinuierlich und schnell weiterentwickeln. Um einen schnellen, iterativen Prozess aufrechtzuerhalten, müssen Sie den Experimentierbereich von Ihren Trainings- und Bereitstellungsplattformen trennen. Ein standardisierter und robuster Prozess für A/B-Tests ist wichtig.

Beachten Sie die folgenden Empfehlungen:

  • Testumgebung erstellen: Leistungsverbesserungen erfordern eine dedizierte, leistungsstarke und interaktive Umgebung, die das Testen und die gemeinsame Entwicklung von ML-Pipelines unterstützt.
  • Experimente als Kultur verankern: Führen Sie vor jeder Produktionsbereitstellung Tests durch. Veröffentlichen Sie neue Versionen iterativ und erheben Sie immer Leistungsdaten. Experimentieren Sie mit verschiedenen Datentypen, Feature-Transformationen, Algorithmen und Hyperparametern.

Training und Bereitstellung von Diensten erstellen und automatisieren

Das Trainieren und Bereitstellen von KI-Modellen sind Kernkomponenten Ihrer KI-Dienste. Sie benötigen robuste Plattformen und Verfahren, die die schnelle und zuverlässige Erstellung, Bereitstellung und Bereitstellung von KI‑Modellen unterstützen. Investieren Sie Zeit und Mühe in die Entwicklung grundlegender Plattformen für Ihre wichtigsten KI-Trainings- und ‑Bereitstellungsaufgaben. Diese grundlegenden Plattformen helfen, den Zeit- und Arbeitsaufwand für Ihre Teams zu reduzieren und die Qualität der Ergebnisse mittel- und langfristig zu verbessern.

Beachten Sie die folgenden Empfehlungen:

  • KI-spezialisierte Komponenten eines Trainingsdienstes verwenden: Dazu gehören Hochleistungs-Computing- und MLOps-Komponenten wie Feature Stores, Modellregistrierungen, Metadatenspeicher und Dienste zur Bewertung der Modellleistung.
  • KI-spezialisierte Komponenten eines Vorhersagedienstes verwenden: Diese Komponenten bieten leistungsstarke und skalierbare Ressourcen, unterstützen das Feature-Monitoring und ermöglichen das Monitoring der Modellleistung. Um Leistungseinbußen zu verhindern und zu beheben, sollten Sie zuverlässige Bereitstellungs- und Rollback-Strategien implementieren.

Designentscheidungen an Leistungsanforderungen anpassen

Wenn Sie Designentscheidungen treffen, um die Leistung zu verbessern, sollten Sie sorgfältig prüfen, ob sie Ihren geschäftlichen Anforderungen entsprechen oder verschwenderisch und kontraproduktiv sind. Um die geeignete Infrastruktur, die richtigen Modelle oder Konfigurationen auszuwählen, müssen Sie Leistungsengpässe ermitteln und bewerten, wie sie mit Ihren Leistungsmessungen zusammenhängen. Selbst bei sehr leistungsstarken GPU-Beschleunigern können bei Ihren Trainingsaufgaben Leistungsengpässe auftreten, die auf Probleme mit der Daten-E/A der Speicherebene oder auf Leistungsbeschränkungen des Modells selbst zurückzuführen sind.

Beachten Sie die folgenden Empfehlungen:

  • Hardwareverbrauch basierend auf Leistungszielen optimieren: Um ML-Modelle zu trainieren und bereitzustellen, die Ihren Leistungsanforderungen entsprechen, müssen Sie die Infrastruktur auf den Compute-, Speicher- und Netzwerkschichten optimieren. Sie müssen die Variablen, die sich auf Ihre Leistungsziele auswirken, messen und verstehen. Diese Variablen sind für Training und Inferenz unterschiedlich.
  • Arbeitslastspezifische Anforderungen berücksichtigen: Konzentrieren Sie sich bei der Leistungsoptimierung auf die spezifischen Anforderungen Ihrer KI- und ML-Arbeitslasten. Verlassen Sie sich auf verwaltete Dienste für die Leistung der zugrunde liegenden Infrastruktur.
  • Geeignete Trainingsstrategien auswählen: Es sind mehrere vortrainierte und grundlegende Modelle verfügbar und es werden häufig weitere veröffentlicht. Wählen Sie eine Trainingsstrategie aus, mit der sich für Ihre Aufgabe eine optimale Leistung erzielen lässt. Entscheiden Sie, ob Sie ein eigenes Modell erstellen, ein vorab trainiertes Modell mit Ihren Daten abstimmen oder eine API für vorab trainierte Modelle verwenden sollten.
  • Berücksichtigen Sie, dass Strategien zur Leistungsoptimierung einen abnehmenden Grenzertrag haben können. Wenn eine bestimmte Strategie zur Leistungsoptimierung keinen messbaren zusätzlichen Geschäftswert bietet, sollten Sie sie nicht weiter verfolgen.

Um Innovationen zu schaffen, Fehler zu beheben und Leistungsprobleme zu untersuchen, müssen Sie eine klare Verbindung zwischen Designentscheidungen und Leistungsergebnissen herstellen. Neben Tests müssen Sie die Herkunft Ihrer Assets, Bereitstellungen, Modellausgaben sowie der Konfigurationen und Eingaben, die die Ausgaben erzeugt haben, zuverlässig aufzeichnen.

Beachten Sie die folgenden Empfehlungen:

  • System zur Nachverfolgung von Daten und Modellen erstellen: Alle bereitgestellten Assets und ihre Leistungsmesswerte müssen mit den Daten, Konfigurationen, dem Code und den Entscheidungen verknüpft werden, die zu den bereitgestellten Systemen geführt haben. Außerdem müssen die Modellausgaben mit bestimmten Modellversionen verknüpft werden und es muss angegeben werden, wie die Ausgaben erstellt wurden.
  • Tools zur Erklärbarkeit verwenden, um die Modellleistung zu verbessern: Tools und Benchmarks für die Modellanalyse und Erklärbarkeit einführen und standardisieren. Mit diesen Tools können Ihre ML-Entwickler das Modellverhalten nachvollziehen und die Leistung verbessern oder Bias entfernen.

Beitragende

Autoren:

Weitere Beitragende: