Well-Architected Framework: Perspektive von KI und ML

In diesem Dokument des 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 Ihre operativen, sicherheitsbezogenen, zuverlässigen, kostenbezogenen und leistungsbezogenen Ziele erfüllen.

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 für jede Säule des Well-Architected Framework Prinzipien und Empfehlungen speziell für KI und ML beschrieben:

Beitragende

Autoren:

Weitere Beitragende:

KI und ML: Operative Exzellenz

Dieses Dokument im Well-Architected Framework: KI- und ML-Perspektive bietet einen Überblick über die Prinzipien und Empfehlungen zum Erstellen und Betreiben robuster KI- und ML-Systeme auf Google Cloud. Diese Empfehlungen helfen Ihnen, grundlegende Elemente wie Beobachtbarkeit, Automatisierung und Skalierbarkeit einzurichten. Die Empfehlungen in diesem Dokument entsprechen der Säule „Operative Exzellenz“ des Google Cloud Well-Architected-Frameworks.

Operational Excellence im Bereich KI und ML bedeutet, die KI- und ML-Systeme und ‑Pipelines, die zur Erreichung der strategischen Ziele Ihres Unternehmens beitragen, nahtlos bereitzustellen, zu verwalten und zu steuern. Mithilfe von operativer Exzellenz können Sie effizient auf Veränderungen reagieren, die betriebliche Komplexität reduzieren und dafür sorgen, dass Ihre Abläufe den Geschäftszielen entsprechen.

Die Empfehlungen in diesem Dokument sind den folgenden Kernprinzipien zugeordnet:

Eine solide Grundlage für die Modellentwicklung schaffen

Um skalierbare, zuverlässige KI-Systeme zu entwickeln und bereitzustellen, die Ihnen helfen, Ihre Geschäftsziele zu erreichen, ist eine solide Grundlage für die Modellentwicklung unerlässlich. Eine solche Grundlage ermöglicht konsistente Workflows, automatisiert wichtige 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. Außerdem können Sie mit der Grundlage die Leistung Ihrer Modelle an die Geschäftsanforderungen anpassen, leistungsstarke KI-Lösungen schnell bereitstellen und sich an sich ändernde Anforderungen anpassen.

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 ein KI- oder ML-Projekt starten, müssen Sie sich über die zu lösenden Geschäftsprobleme und die erforderlichen Ergebnisse im Klaren sein. Beginnen Sie mit einer Übersicht über die Geschäftsziele und unterteilen Sie diese in messbare Leistungskennzahlen (KPIs). Verwenden Sie Tools wie Vertex AI Workbench, um Ihre Problemdefinitionen und Hypothesen in einer Jupyter-Notebook-Umgebung zu organisieren und zu dokumentieren. Verwenden Sie Tools wie Git, um Versionen 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 Anwendungen mit generativer KI 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 automatische Datenqualitätsscans in BigQuery.

Bei generativer KI umfasst die Datenqualität Genauigkeit, Relevanz, Vielfalt und Übereinstimmung mit den erforderlichen Ausgabemerkmalen. Wenn reale Daten nicht ausreichend oder unausgewogen sind, können Sie synthetische Daten generieren, um die Robustheit und Generalisierbarkeit des Modells zu verbessern. Mit BigQuery DataFrames und Gemini können Sie synthetische Datasets auf der Grundlage vorhandener Muster erstellen oder Trainingsdaten für eine bessere Modellleistung ergänzen. Synthetische Daten sind für die generative KI besonders wertvoll, da sie die Vielfalt der Prompts und die allgemeine Robustheit des Modells verbessern können. Wenn Sie Datasets zum Optimieren generativer KI-Modelle erstellen, sollten Sie die Funktionen zur Generierung synthetischer Daten in Vertex AI verwenden.

Achten Sie bei generativen KI-Aufgaben wie der Feinabstimmung oder dem bestärkenden Lernen durch menschliches Feedback darauf, dass die Labels die Qualität, Relevanz und Sicherheit der generierten Ergebnisse genau widerspiegeln.

Geeigneten ML-Ansatz auswählen

Berücksichtigen Sie beim Entwerfen Ihres Modells und der Parameter die Komplexität des Modells und die erforderlichen Rechenressourcen. Je nach Aufgabe (z. B. Klassifizierung, Regression oder Generierung) können Sie das benutzerdefinierte Training in Vertex AI für die Erstellung 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 moderner Foundation Models für verschiedene Anwendungsfälle experimentieren, z. B. für die Generierung von Text, Bildern und Code.

Sie können ein vortrainiertes Foundation Model optimieren, um die optimale Leistung für Ihren Anwendungsfall zu erzielen. Wenn Sie beim benutzerdefinierten Training eine hohe Leistung benötigen, 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.

Versionskontrolle 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, Verzweigungsstrategien und die Integration in CI/CD-Pipelines, um einen optimierten Entwicklungsablauf zu ermöglichen.

Verwenden Sie geeignete Lösungen, um jedes Artefakt Ihres ML-Systems zu verwalten, z. B.:

  • Für Codeartefakte wie Container-Images und Pipelinekomponenten bietet Artifact Registry eine skalierbare Speicherlösung, die die Sicherheit verbessern kann. Artifact Registry bietet auch Versionsverwaltung und kann in Cloud Build und Cloud Deploy eingebunden werden.
  • Verwenden Sie Lösungen wie BigQuery oder Cloud Storage zum Speichern und Versionieren von Datenartefakten wie Datasets, die für die Schulung und Bewertung verwendet werden.
  • Verwenden Sie Ihr Versionskontrollsystem oder einen separaten Datenkatalog, um Metadaten und Verweise auf Datenspeicherorte zu speichern.

Verwenden Sie Vertex AI Feature Store, um für Konsistenz und Versionierung Ihrer Feature-Daten zu sorgen. Verwenden Sie die Vertex AI Model Registry, um Modellartefakte wie Binärdateien und Metadaten zu erfassen und zu verwalten. Dort können Sie Modellversionen nahtlos speichern, organisieren und bereitstellen.

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

Lebenszyklus der Modellentwicklung automatisieren

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

Beachten Sie die folgenden Empfehlungen, um den Entwicklungszyklus Ihrer KI- und ML-Systeme zu automatisieren.

Verwaltetes Pipeline-Orchestrierungssystem verwenden

Mit Vertex AI Pipelines können Sie jeden Schritt des ML-Lebenszyklus automatisieren – von der Datenvorbereitung bis zum Modelltraining, zur Bewertung und Bereitstellung. Um die Bereitstellung zu beschleunigen und für Konsistenz zwischen Projekten zu sorgen, automatisieren Sie wiederkehrende Aufgaben mit geplante Pipelineausführungen, überwachen Sie Workflows mit Ausführungsmesswerten und entwickeln Sie wiederverwendbare Pipeline-Vorlagen für standardisierte Workflows. Diese Funktionen gelten auch für generative KI-Modelle, die oft spezielle Schritte wie Prompt-Entwicklung, Antwortfilterung und Bewertung durch Menschen erfordern. Bei generativer KI können Vertex AI Pipelines diese Schritte automatisieren, einschließlich der Bewertung der generierten 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 Datenerweiterung 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 Testsuites für Anwendungscode ausführen. So wird sichergestellt, dass die Infrastruktur, die Abhängigkeiten und das Modellpaket Ihre Bereitstellungsanforderungen erfüllen.

ML-Systeme erfordern neben dem Codetest häufig zusätzliche Schritte. Beispielsweise müssen Sie die Modelle unter unterschiedlichen Lasten einem Stresstest unterziehen, Bulk-Bewertungen durchführen, um die Modellleistung in verschiedenen Datensätzen zu bewerten, und die Datenintegrität vor dem Neutrainieren prüfen. Zur Simulation realistischer Arbeitslasten für Stresstests können Sie Tools wie Locust, Grafana k6 oder Apache JMeter verwenden. Überwachen Sie mit Cloud Monitoring wichtige Messwerte wie Latenz, Fehlerrate und Ressourcennutzung, um Engpässe zu identifizieren. 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 Verwirrung für Sprachmodelle oder eine Bewertung durch Menschen für differenziertere Aspekte wie Kreativität und Sicherheit umfassen.

Wenn Sie Test- und Bewertungsaufgaben implementieren möchten, 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 groß angelegte Datenanalyse 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 Neutrainieren von Modellen mit neuen Daten zu ermöglichen. Bei generativer KI kann das erneute Training unter Umständen die automatische Aktualisierung der Modelle mit neuen Trainingsdaten oder Prompts umfassen, damit die generierten Ergebnisse relevant und vielfältig bleiben. In Vertex AI Model Garden können Sie die neuesten Basismodelle auswählen, die für die Tuning-Möglichkeit verfügbar sind. So bleiben die Modelle auf dem neuesten Stand und für Ihre sich ändernden Geschäftsanforderungen optimiert.

Sichere und kontrollierte Modellveröffentlichungen implementieren

Um Risiken zu minimieren und zuverlässige Bereitstellungen zu ermöglichen, sollten Sie einen Ansatz für die Modellveröffentlichung implementieren, mit dem Sie Probleme frühzeitig erkennen, die Leistung validieren und bei Bedarf schnell rückgängig machen können.

Verwenden Sie Cloud Deploy, um Ihre ML-Modelle und ‑Anwendungen in Container-Images zu verpacken und bereitzustellen. Sie können Ihre Modelle auf Vertex AI-Endpunkten bereitstellen.

Implementieren Sie kontrollierte Releases für Ihre KI-Anwendungen und ‑Systeme mithilfe von Strategien wie Kanarien-Releases. Bei Anwendungen, für die verwaltete Modelle wie Gemini verwendet werden, empfehlen wir, neue Anwendungsversionen vor der vollständigen Bereitstellung nach und nach für eine Teilmenge der Nutzer freizugeben. So können Sie potenzielle Probleme frühzeitig erkennen, insbesondere wenn Sie generative KI-Modelle verwenden, bei denen die Ergebnisse variieren können.

Wenn Sie optimierte Modelle veröffentlichen möchten, können Sie die Bereitstellung der Modellversionen mit Cloud Deploy verwalten und die Canary-Release-Strategie verwenden, um das Risiko zu minimieren. Bei verwalteten und optimierten Modellen besteht das Ziel von kontrollierten 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 die Vertex AI-Modellbewertung, um die Modellleistung zu bewerten. Definieren Sie speziell für generative KI Bewertungsmesswerte, die dem beabsichtigten Anwendungsfall und den potenziellen Risiken entsprechen. Mit dem Gen AI-Bewertungsdienst 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 traditionelle ML-Systeme Vertex AI Model Monitoring, um Datenabweichungen und Leistungseinbußen zu erkennen. Bei generativen KI-Modellen können Sie mithilfe der Vertex AI-Modellbewertung in Kombination mit Cloud Logging und Cloud Monitoring relevante Messwerte erfassen und Benachrichtigungen bei Änderungen der Ausgabequalität oder dem Auftreten schädlicher Inhalte einrichten. Konfigurieren Sie Benachrichtigungen basierend auf generativen KI-spezifischen Messwerten, um bei Bedarf Rollback-Vorgänge auszulösen. Wenn Sie die Modellabstammung verfolgen und zur neuesten stabilen Version zurückkehren möchten, verwenden Sie die Informationen aus der 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 und Aktualisierungen der Modelle ändern. Aufgrund dieser Dynamik ist die Beobachtbarkeit entscheidend, um Leistungsprobleme, Verzerrungen oder unerwartetes Verhalten zu erkennen. Das gilt insbesondere für Modelle der generativen KI, da die Ergebnisse sehr variabel und subjektiv sein können. Mithilfe von Sichtbarkeit können Sie unerwartetes Verhalten proaktiv angehen 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 beobachten

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

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

Konfigurieren Sie das Model Monitoring so, dass die Verteilung der Eingabedaten mit dem Gold-Dataset verglichen wird, um Verzerrungen automatisch zu erkennen. Bei traditionellen ML-Modellen sollten Sie sich auf Messwerte wie Accuracy, Precision, Recall, F1-Wert, AUC-ROC und Log-Loss konzentrieren. Benutzerdefinierte Schwellenwerte für Benachrichtigungen im Model Monitoring definieren. Verwenden Sie für generative KI den Gen AI-Bewertungsdienst, um die Modellausgabe in der Produktion kontinuierlich zu überwachen. Sie können auch automatische Bewertungsmesswerte für die Antwortqualität, Sicherheit, Einhaltung der Anleitung, Begründung, Schreibstil und Ausführlichkeit aktivieren. Um die generierten Ergebnisse auf Qualität, Relevanz, Sicherheit und Einhaltung der Richtlinien zu bewerten, können Sie eine Human-in-the-Loop-Bewertung einbinden.

Feedbackschleifen erstellen, um Modelle automatisch mit Vertex AI Pipelines neu zu trainieren, wenn das Modellmonitoring 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 während der Entwicklungsphase gründlich bewerten. Mit der Vertex AI-Modellbewertung können Sie eine optimale Leistung erzielen und Risiken minimieren. Mit der Schnellbewertung von Vertex AI können Sie automatisch Bewertungen auf der Grundlage des von Ihnen bereitgestellten Datasets und Prompts ausführen. Google Cloud

Sie können auch benutzerdefinierte Messwerte für Ihren Anwendungsfall definieren und einbinden. Wenn Sie Feedback zu generierten Inhalten benötigen, können Sie mit der Vertex AI-Modellbewertung Workflows mit menschlicher Beteiligung einbinden.

Verwenden Sie Angriffstests, um Sicherheitslücken und potenzielle Fehlermodi zu identifizieren. Verwenden Sie Techniken wie die Subgruppenanalyse und die Generierung von Gegenfakten, um potenzielle Verzerrungen zu identifizieren und zu minimieren. Verwenden Sie die Erkenntnisse aus den Bewertungen, die während der Entwicklungsphase durchgeführt wurden, um Ihre Modellüberwachungsstrategie 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 prüfen

Mit Cloud Monitoring erhalten Sie Einblick in den Zustand und die Leistung Ihrer bereitgestellten Endpunkte und Ihrer Infrastruktur. Sie können wichtige Messwerte wie die Anfragerate, die Fehlerrate, die Latenz und die Ressourcenauslastung für Ihre Vertex AI-Endpunkte erfassen und Benachrichtigungen für Anomalien einrichten. Weitere Informationen finden Sie unter Cloud Monitoring-Messwerte für Vertex AI.

Sie können den Zustand der zugrunde liegenden Infrastruktur überwachen, einschließlich Compute Engine-Instanzen, Google Kubernetes Engine-Clustern (GKE), TPUs und GPUs. Sie erhalten Empfehlungen zur automatischen Optimierung von Active Assist. Wenn Sie Autoscaling verwenden, sollten Sie das Skalierungsverhalten im Blick behalten, damit das Autoscaling angemessen auf Änderungen der Zugriffsmuster reagiert.

Wenn Sie Cloud Deploy in Cloud Monitoring einbinden, können Sie den Status von Modellbereitstellungen, einschließlich Canary-Releases und Rollbacks, im Blick behalten. Außerdem können Sie mit dem Security Command Center potenzielle Sicherheitsbedrohungen und Sicherheitslücken im Blick behalten.

Benutzerdefinierte Benachrichtigungen für unternehmensspezifische Grenzwerte einrichten

Richten Sie benutzerdefinierte Benachrichtigungen ein, die auf Grenzwerten basieren, die für Ihre Geschäftsziele spezifisch sind, um Anomalien und Probleme rechtzeitig zu erkennen und zu beheben. Beispiele für Google Cloud Produkte, mit denen Sie ein benutzerdefiniertes Benachrichtigungssystem implementieren können:

  • Cloud Logging: Mit diesem Tool können Sie Protokolle aus allen Komponenten Ihres KI- und ML-Systems erfassen, speichern und analysieren.
  • Cloud Monitoring: Sie können benutzerdefinierte Dashboards erstellen, um wichtige Messwerte und Trends zu visualisieren, und benutzerdefinierte Messwerte basierend auf Ihren Anforderungen definieren. Konfigurieren Sie Benachrichtigungen, um über kritische Probleme informiert zu werden, und integrieren Sie die Benachrichtigungen in Ihre Tools für das Vorfallmanagement wie PagerDuty oder Slack.
  • Error Reporting: Mit dieser Funktion werden Fehler und Ausnahmen automatisch erfasst und analysiert.
  • Cloud Trace: Mit dieser Funktion können Sie die Leistung verteilter Systeme analysieren und Engpässe erkennen. Tracing ist besonders nützlich, um die Latenz zwischen verschiedenen Komponenten Ihrer KI- und ML-Pipeline zu verstehen.
  • Cloud Profiler: Mit diesem Tool können Sie die Leistung Ihres Codes in der Produktion kontinuierlich analysieren und Leistungsengpässe bei der CPU- oder Speichernutzung erkennen.

Eine Kultur der operativen Exzellenz schaffen

Verlegen Sie den Fokus vom Erstellen von Modellen auf nachhaltige, zuverlässige und wirkungsvolle KI-Lösungen. Teams ermöglichen, kontinuierlich zu lernen, Innovationen zu entwickeln und sich zu verbessern. Dies führt zu kürzeren Entwicklungszyklen, weniger Fehlern und höherer Effizienz. Wenn Sie Automatisierung, Standardisierung und ethische Aspekte priorisieren, können Sie dafür sorgen, dass Ihre KI- und ML-Initiativen kontinuierlich Mehrwert bieten, Risiken minimieren und die verantwortungsbewusste Entwicklung von KI fördern.

Um eine Kultur der Betriebsoptimierung für Ihre KI- und ML-Systeme zu schaffen, sollten Sie die folgenden Empfehlungen berücksichtigen.

Automatisierung und Standardisierung fördern

Um Effizienz und Konsistenz zu fördern, sollten Sie Automatisierung und standardisierte Verfahren in jede Phase des KI- und ML-Lebenszyklus einbinden. Durch Automatisierung werden manuelle Fehler reduziert und Teams können sich auf Innovationen konzentrieren. Durch die Standardisierung werden Prozesse wiederholbar und gruppen- und projektübergreifend skalierbar.

Kontinuierliches Lernen und Verbesserung priorisieren

Schaffen Sie eine Umgebung, in der kontinuierliche Weiterbildung und Experimentieren zu den Grundprinzipien gehören. Ermutigen Sie Teams, sich über die neuesten Entwicklungen in den Bereichen KI und ML auf dem Laufenden zu halten, und bieten Sie ihnen die Möglichkeit, aus früheren 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

Mit klar definierten Rollen, Verantwortlichkeiten und Erfolgsmesswerten Vertrauen aufbauen und für Einigkeit sorgen 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 eine gemeinsame Verantwortung für die Ergebnisse.

Ethik und Sicherheit von KI berücksichtigen

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

Skalierbarkeit im Blick behalten

Um wachsende Datenmengen und Nutzeranforderungen zu bewältigen 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 ein skalierbares Design entwerfen, sorgen Sie dafür, dass die KI-Infrastruktur mit dem Wachstum Schritt halten und reaktionsschnell bleiben kann. Verwenden Sie eine skalierbare Infrastruktur, planen Sie die Kapazität und wenden Sie Strategien wie horizontale Skalierung und verwaltete Dienste an.

Beachten Sie die folgenden Empfehlungen, um Ihre KI- und ML-Systeme skalierbar zu gestalten.

Kapazität und Kontingente planen

Bewerten Sie das zukünftige Wachstum und planen Sie die Infrastrukturkapazität und die Ressourcenquoten entsprechend. Ermitteln Sie gemeinsam mit den Stakeholdern des Unternehmens das prognostizierte Wachstum und definieren Sie dann die Infrastrukturanforderungen entsprechend.

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

Informieren Sie sich über die Google Cloud Kontingente für die von Ihnen verwendeten Dienste, z. B. Compute Engine, Vertex AI und Cloud Storage. Fordern Sie proaktiv Kontingenterhöhungen über die Google Cloud Console an und begründen Sie die Erhöhungen mit Daten aus Prognosen und Lasttests. Sie können die Kontingentnutzung überwachen und Benachrichtigungen einrichten, um informiert zu werden, wenn die Nutzung die Kontingentlimits erreicht.

Um die Ressourcennutzung je nach Bedarf zu optimieren, passen Sie die 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 Trafficspitzen oder Arbeitslasten bei Spitzenauslastungen bewältigen kann. Dokumentieren Sie Ihre Strategie für Spitzenereignisse und führen Sie regelmäßig Tests durch, um die Fähigkeit Ihres Systems zur Bewältigung einer erhöhten Auslastung zu testen.

Wenn Sie Ressourcen bei Spitzen der Nachfrage aggressiv skalieren möchten, konfigurieren Sie Autoscaling-Richtlinien in der Compute Engine und in GKE. Bei vorhersehbaren Spitzenmustern sollten Sie vorausschauendes Autoscaling verwenden. Wenn Sie das Autoscaling anhand von anwendungsspezifischen Signalen auslösen möchten, verwenden Sie benutzerdefinierte Messwerte in Cloud Monitoring.

Mit Cloud Load Balancing können Sie den Traffic auf mehrere Anwendungsinstanzen verteilen. Wählen Sie den geeigneten Load-Balancer-Typ entsprechend den Anforderungen Ihrer Anwendung aus. Bei geografisch verteilten Nutzern können Sie mit dem globalen Load Balancing den Traffic an die nächstgelegene verfügbare Instanz weiterleiten. Für komplexe mikrodienstbasierte Architekturen sollten Sie Cloud Service Mesh verwenden.

Mit Cloud CDN statische Inhalte am Edge des Google-Netzwerks im Cache speichern Wenn Sie häufig aufgerufene Daten im Cache speichern möchten, können Sie Memorystore verwenden. Dieser Dienst bietet einen vollständig verwalteten In-Memory-Dienst für Redis, Valkey oder Memcached.

Komponenten Ihres Systems entkoppeln, indem Sie Pub/Sub für Echtzeit-Messaging und Cloud Tasks für die asynchrone Aufgabenausführung verwenden

Anwendungen für die Produktion skalieren

Für skalierbares Bereitstellen in der Produktion können Sie verwaltete Dienste wie Vertex AI Distributed Training und Vertex AI Prediction verwenden. Mit Vertex AI Prediction 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 in Vertex AI können Sie komplexe KI- und Python-Anwendungen sowie benutzerdefinierte Arbeitslasten über verteilte Computing-Ressourcen skalieren. Diese Funktion kann die Leistung optimieren und ermöglicht eine nahtlose Integration inGoogle Cloud -Dienste. Ray on Vertex AI vereinfacht die verteilte Datenverarbeitung, da Clusterverwaltung, Aufgabenplanung und Datenübertragung übernommen werden. Sie 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, für beschleunigtes Modelltraining, skalierbare Hyperparameteroptimierung, Reinforcement Learning und parallelisierte Batch-Vorhersagen.

Beitragende

Autoren:

Weitere Beitragende:

KI und ML – Sicherheit

Dieses Dokument im Well-Architected Framework: KI- und ML-Perspektive bietet einen Überblick über Prinzipien und Empfehlungen, mit denen Sie dafür sorgen können, dass Ihre KI- und ML-Bereitstellungen die Sicherheits- und Compliance-Anforderungen Ihres Unternehmens erfüllen. Die Empfehlungen in diesem Dokument entsprechen der Sicherheitssäule des Google Cloud Well-Architected Framework.

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 laufenden Betriebsabläufen reicht. Google Cloud bietet robuste Tools und Dienste, die speziell für die Sicherheit Ihrer KI- und ML-Arbeitslasten entwickelt wurden.

Klare Ziele und Anforderungen definieren

Es ist einfacher, die erforderlichen Sicherheits- und Compliance-Kontrollen früh im Design- und Entwicklungsprozess zu integrieren, als sie nach der Entwicklung hinzuzufügen. Treffen Sie von Beginn an des Design- und Entwicklungszyklus Entscheidungen, die für Ihre spezifische Risikoumgebung und Ihre spezifischen Geschäftsprioritäten geeignet sind.

Beachten Sie die folgenden Empfehlungen:

  • Identifizieren Sie potenzielle Angriffsvektoren und berücksichtigen Sie von Anfang an Sicherheits- und Compliance-Aspekte. Berücksichtigen Sie beim Entwerfen und Entwickeln Ihrer KI-Systeme die Angriffsfläche, potenzielle Risiken und Verpflichtungen, denen Sie möglicherweise gegenüberstehen.
  • Richten Sie Ihre Sicherheitsmaßnahmen für KI und ML auf Ihre Geschäftsziele aus und achten Sie darauf, dass Sicherheit ein wesentlicher Bestandteil Ihrer Gesamtstrategie ist. Informieren Sie sich über die Auswirkungen Ihrer Sicherheitsentscheidungen auf Ihre wichtigsten Geschäftsziele.

Daten schützen und Verlust oder Missbrauch verhindern

Daten sind ein wertvolles und sensibles Gut, das geschützt werden muss. Mithilfe der Datensicherheit können Sie das Vertrauen der Nutzer aufrechterhalten, Ihre Geschäftsziele unterstützen und die Compliance-Anforderungen erfüllen.

Beachten Sie die folgenden Empfehlungen:

  • Erfassen, 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 im Blick behalten Protokolle für alle Datenzugriffs- und Manipulationsaktivitäten führen Anhand der Protokolle können Sie den Datenzugriff prüfen, unbefugte Zugriffsversuche erkennen und unerwünschten Zugriff verhindern.
  • Implementieren Sie unterschiedliche Zugriffsebenen (z. B. keinen Zugriff, Lesezugriff oder Schreibzugriff) basierend auf Nutzerrollen. Achten Sie darauf, dass Berechtigungen gemäß dem Prinzip der geringsten Berechtigung zugewiesen werden. Nutzer müssen 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 bei der Datenübertragung. Mit diesen Maßnahmen können Sie die Daten-Exfiltration und den Datenverlust verhindern.
  • Schützen Sie Ihre ML-Trainingssysteme vor Datenmanipulation.

KI-Pipelines sicher und manipulationssicher machen

Ihr KI- und ML-Code sowie die codedefinierten Pipelines sind wichtige Assets. Nicht gesicherter Code kann manipuliert werden, was zu Datenlecks, Verstößen gegen die Compliance und Unterbrechungen wichtiger Geschäftsaktivitäten führen kann. Wenn Sie Ihren KI- und ML-Code schützen, können Sie die Integrität und den Wert Ihrer Modelle und Modellergebnisse bewahren.

Beachten Sie die folgenden Empfehlungen:

  • Verwenden Sie bei der Modellentwicklung sichere Programmierpraktiken wie Abhängigkeitsverwaltung oder Eingabevalidierung und ‑bereinigung, 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 den Rollen und Anforderungen der Nutzer basieren.
  • Herkunft und Nachverfolgung Ihrer Assets und Pipelineausführungen erzwingen. Diese Erzwingung hilft Ihnen, Compliance-Anforderungen zu erfüllen und Produktionssysteme zu schützen.

Bereitstellung auf sicheren Systemen mit sicheren Tools und Artefakten

Sorgen Sie dafür, dass Ihr Code und Ihre Modelle in einer sicheren Umgebung ausgeführt werden, die ein robustes Zugriffskontrollsystem mit Sicherheitsmaßnahmen für die in der Umgebung bereitgestellten Tools und Artefakte hat.

Beachten Sie die folgenden Empfehlungen:

  • Trainieren und implementieren Sie Ihre Modelle in einer sicheren Umgebung mit geeigneten Zugriffssteuerungen und Schutzmaßnahmen gegen unbefugte Nutzung oder Manipulation.
  • Halten Sie sich an die standardmäßigen Lieferkettenebenen für Software-Artefakte (SLSA) für Ihre KI-spezifischen Artefakte wie Modelle und Softwarepakete.
  • Verwenden Sie vorzugsweise validierte vorkonfigurierte 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 können Risiken darstellen oder 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 Praktiken zur Entwicklung und Verwaltung von Prompts für Systeme mit generativer KI und achten Sie darauf, dass die Prompts auf schädliche Absichten geprüft werden.
  • Überwachen Sie die Eingaben in Prognose- oder generative Systeme, um Probleme wie überlastete Endpunkte oder Prompts zu vermeiden, die die Systeme nicht verarbeiten können.
  • Sorgen Sie dafür, dass nur die vorgesehenen Nutzer eines bereitgestellten Systems darauf zugreifen können.

Ergebnisse beobachten, bewerten und auf sie reagieren

KI-Systeme bieten einen Mehrwert, da sie Ergebnisse liefern, die die menschliche Entscheidungsfindung ergänzen, optimieren oder automatisieren. Um die Integrität und Vertrauenswürdigkeit Ihrer KI-Systeme und ‑Anwendungen zu wahren, müssen Sie dafür sorgen, dass die Ausgaben sicher sind und innerhalb der erwarteten Parameter liegen. Außerdem benötigen Sie einen Plan für die Reaktion auf Vorfälle.

Beachten Sie die folgenden Empfehlungen:

  • Überwachen Sie die Ausgabe Ihrer KI- und ML-Modelle in der Produktion und identifizieren Sie Leistungs-, Sicherheits- und Compliance-Probleme.
  • Bewerten Sie die Modellleistung, indem Sie robuste Messwerte und Sicherheitsmaßnahmen implementieren, z. B. die Identifizierung nicht sachdienlicher generativer Antworten oder extremer Ausgaben in Prognosemodellen. Holen Sie Feedback zur Modellleistung von Nutzern ein.
  • Implementieren Sie zuverlässige Benachrichtigungs- und Verfahren zur Reaktion auf Vorfälle, um potenzielle Probleme zu beheben.

Beitragende

Autoren:

Weitere Beitragende:

KI und ML – Zuverlässigkeit

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

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

Sorgen Sie dafür, dass die Infrastruktur skalierbar und hochverfügbar ist.

Wenn Sie Ihre Architektur auf Skalierbarkeit und Verfügbarkeit ausrichten, können Ihre Anwendungen unterschiedliche Anforderungen bewältigen, ohne dass es zu Dienstunterbrechungen oder Leistungseinbußen kommt. So sind Ihre KI-Dienste auch bei Infrastrukturausfällen und bei sehr hohem Traffic für Nutzer verfügbar.

Beachten Sie die folgenden Empfehlungen:

  • Entwerfen Sie Ihre KI-Systeme mit automatischen und dynamischen Skalierungsfunktionen, um Schwankungen der Nachfrage zu bewältigen. So lässt sich auch bei Spitzenlasten eine optimale Leistung erzielen.
  • Ressourcen proaktiv verwalten und zukünftige Anforderungen durch Lasttests und Leistungsüberwachung antizipieren Verwenden Sie Verlaufsdaten und Prognoseanalysen, um fundierte Entscheidungen über die Ressourcenzuweisung zu treffen.
  • Sorgen Sie für Hochverfügbarkeit und Fehlertoleranz, indem Sie die Archetypen für die Bereitstellung in mehreren Zonen und Regionen in Google Cloud anwenden und Redundanz und Replikation implementieren.
  • Sie können den eingehenden Traffic auf mehrere Instanzen Ihrer KI- und ML-Dienste und ‑Endpunkte verteilen. Load Balancing hilft, eine Überlastung einzelner Instanzen zu verhindern und für eine gleichbleibende Leistung und Verfügbarkeit zu sorgen.

Modulare und lose gekoppelte Architektur verwenden

Verwenden Sie eine modulare Architektur, um Ihre KI-Systeme widerstandsfähig gegen Ausfälle einzelner Komponenten zu machen. Entwerfen Sie beispielsweise die Komponenten für die Datenverarbeitung und Datenvalidierung als separate Module. Wenn eine bestimmte Komponente ausfällt, hilft die modulare Architektur, Ausfallzeiten zu minimieren und Ihre Teams können schneller Fehler beheben und Lösungen implementieren.

Beachten Sie die folgenden Empfehlungen:

  • Teilen Sie Ihr KI- und ML-System in kleine, eigenständige Module oder Komponenten auf. Dieser Ansatz fördert die Wiederverwendbarkeit von Code, vereinfacht Tests und Wartung und ermöglicht die unabhängige Entwicklung und Bereitstellung einzelner Komponenten.
  • Entwerfen Sie die lose gekoppelten Module mit klar definierten Schnittstellen. Dieser Ansatz minimiert Abhängigkeiten und ermöglicht unabhängige Updates und Änderungen, ohne dass das gesamte System beeinträchtigt wird.
  • Planen Sie für eine schrittweise Fehlertoleranz. Wenn eine Komponente ausfällt, müssen die anderen Teile des Systems weiterhin eine ausreichende Funktionalität bieten.
  • Verwenden Sie APIs, um klare Grenzen zwischen Modulen zu schaffen und die Implementierungsdetails auf Modulebene auszublenden. So können Sie einzelne Komponenten aktualisieren oder ersetzen, ohne dass sich dies auf die Interaktionen mit anderen Teilen des Systems auswirkt.

Automatisierte MLOps-Plattform erstellen

Mit einer automatisierten MLOps-Plattform sind die Phasen und Ausgaben des Modelllebenszyklus zuverlässiger. Wenn Sie für Konsistenz, lose Kopplung und Modularität sorgen und Vorgänge und Infrastruktur als Code ausdrücken, können Sie fehleranfällige manuelle Schritte entfernen und KI- und ML-Systeme verwalten, die robuster und zuverlässiger sind.

Beachten Sie die folgenden Empfehlungen:

  • Automatisieren Sie den gesamten Lebenszyklus der Modellentwicklung – von der Datenvorbereitung und -validierung bis hin zum Modelltraining, zur Bewertung, Bereitstellung und Überwachung.
  • Verwalten Sie Ihre Infrastruktur als Code (IaC). Dieser Ansatz ermöglicht eine effiziente Versionskontrolle, schnelle Rollbacks bei Bedarf und wiederholbare Bereitstellungen.
  • Prüfen Sie, ob sich Ihre Modelle mit relevanten Daten wie erwartet verhalten. Automatisieren Sie die Leistungsüberwachung Ihrer Modelle und erstellen Sie entsprechende Benachrichtigungen für unerwartete Ergebnisse.
  • Prüfen Sie die Eingaben und Ausgaben Ihrer KI- und ML-Pipelines. Sie können beispielsweise Daten, Konfigurationen, Befehlszeilenargumente, Dateien und Vorhersagen validieren. Benachrichtigungen für unerwartete oder nicht zulässige Werte konfigurieren
  • Verwenden Sie eine verwaltete Versionskontrollstrategie für Ihre Modellendpunkte. Diese Art von Strategie ermöglicht inkrementelle Releases und eine schnelle Wiederherstellung bei Problemen.

Vertrauen und Kontrolle durch Daten- und Modellverwaltung aufrechterhalten

Die Zuverlässigkeit von KI- und ML-Systemen hängt von den Vertrauens- und Governance-Funktionen Ihrer Daten und Modelle ab. KI-Ergebnisse können auf unerwartete Weise nicht den Erwartungen entsprechen. Die Ausgaben können beispielsweise formal konsistent, aber falsch oder unerwünscht sein. Durch die Implementierung von Rückverfolgbarkeit und einer strengen Governance können Sie dafür sorgen, dass die Ergebnisse zuverlässig und vertrauenswürdig sind.

Beachten Sie die folgenden Empfehlungen:

  • Mit einem Daten- und Modellkatalog können Sie Ihre Assets effektiv verfolgen und verwalten. Um die Nachverfolgung und Prüfung zu erleichtern, sollten Sie während des gesamten Lebenszyklus einen umfassenden Daten- und Modellversionsverlauf aufbewahren.
  • Implementieren Sie strenge Zugriffssteuerungen und Prüfpfade, um sensible Daten und Modelle zu schützen.
  • Das wichtige Thema Voreingenommenheit bei KI angehen, insbesondere bei Anwendungen mit generativer KI. Um Vertrauen aufzubauen, sollten Sie für Transparenz und Erklärbarkeit bei den Modellergebnissen sorgen.
  • Automatisieren Sie die Generierung von Funktionsstatistiken und implementieren Sie die Anomalieerkennung, um Datenprobleme proaktiv zu erkennen. Um die Zuverlässigkeit des Modells zu gewährleisten, sollten Sie Mechanismen einrichten, mit denen sich Änderungen der Datenverteilungen erkennen und abmildern lassen.

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

Wenn Sie Ihre KI-Anwendungen kontinuierlich verbessern möchten, müssen Sie sinnvolle Zuverlässigkeitsziele definieren und den Fortschritt messen. Die Beobachtbarkeit ist ein grundlegendes Element zuverlässiger Systeme. Mithilfe der Beobachtbarkeit können Sie laufende Vorgänge und kritische Ereignisse verwalten. Eine gut implementierte Beobachtbarkeit hilft Ihnen, einen zuverlässigen Dienst für Ihre Nutzer zu erstellen und zu verwalten.

Beachten Sie die folgenden Empfehlungen:

  • Infrastrukturmesswerte für Prozessoren (CPUs, GPUs und TPUs) und andere Ressourcen wie Arbeitsspeichernutzung, Netzwerklatenz und Laufwerknutzung erfassen Führen Sie Lasttests und Leistungsüberwachung durch. Verwenden Sie die Testergebnisse und Messwerte aus der Überwachung, um die Skalierung und Kapazität Ihrer KI- und ML-Systeme zu verwalten.
  • Legen Sie Zuverlässigkeitsziele fest und erfassen Sie Anwendungsmesswerte. Messen Sie Messwerte wie Durchsatz und Latenz für die von Ihnen erstellten KI-Anwendungen. Beobachten Sie das Nutzungsverhalten Ihrer Anwendungen und der freigegebenen Endpunkte.
  • Legen Sie modellspezifische Messwerte wie Genauigkeits- oder Sicherheitsmesswerte fest, um die Zuverlässigkeit des Modells zu bewerten. Beobachten Sie diese Messwerte im Zeitverlauf, um Abweichungen oder Leistungseinbußen zu erkennen. Für eine effiziente Versionskontrolle und Automatisierung sollten Sie die Monitoringkonfigurationen als Code definieren.
  • Definieren und erfassen Sie Messwerte auf Unternehmensebene, um die Auswirkungen Ihrer Modelle und deren Zuverlässigkeit auf die Geschäftsergebnisse zu verstehen. Wenn Sie die Zuverlässigkeit Ihrer KI- und ML-Dienste messen möchten, sollten Sie den SRE-Ansatz verwenden und Service Level Objectives (SLOs) definieren.

Beitragende

Autoren:

Weitere Beitragende:

KI und ML: Kostenoptimierung

Dieses Dokument im Well-Architected Framework: KI- und ML-Perspektive bietet einen Überblick über Prinzipien und Empfehlungen zur Optimierung der Kosten Ihrer KI-Systeme während des gesamten ML-Lebenszyklus. Mit einem proaktiven und fundierten Ansatz zur Kostenverwaltung kann Ihr Unternehmen das volle Potenzial von KI- und ML-Systemen ausschöpfen und gleichzeitig die finanzielle Disziplin wahren. Die Empfehlungen in diesem Dokument entsprechen der Kostenoptimierungssäule des Google Cloud Well-Architected Framework.

KI- und ML-Systeme können Ihnen helfen, wertvolle Informationen und Prognosefunktionen aus Daten zu gewinnen. So können Sie beispielsweise Reibungsverluste in internen Prozessen reduzieren, die Nutzerfreundlichkeit verbessern und tiefere Kundeninformationen gewinnen. Die Cloud bietet enorme Ressourcen und eine schnelle Amortisierung ohne große Vorabinvestitionen für KI- und ML-Arbeitslasten. Wenn Sie den Geschäftswert maximieren und die Ausgaben auf Ihre Geschäftsziele ausrichten möchten, müssen Sie die Kostentreiber kennen, die Kosten proaktiv optimieren, Ausgabenkontrollen einrichten und FinOps-Praktiken anwenden.

Kosten und Renditen definieren und messen

Wenn Sie Ihre KI- und ML-Kosten in Google Cloudeffektiv verwalten möchten, müssen Sie die Ausgaben für Cloud-Ressourcen und den Geschäftswert Ihrer KI- und ML-Initiativen definieren und messen. Google Cloud bietet umfassende Tools für die Abrechnung und Kostenverwaltung, mit denen Sie die Ausgaben detailliert im Blick behalten können. Zu den Messwerten für den Geschäftswert, die Sie messen können, gehören die Kundenzufriedenheit, der Umsatz und die Betriebskosten. Wenn Sie konkrete Messwerte sowohl für die Kosten als auch für den Geschäftswert festlegen, können Sie fundierte Entscheidungen über die Ressourcenzuweisung und -optimierung treffen.

Beachten Sie die folgenden Empfehlungen:

  • Legen Sie klare Geschäftsziele und Leistungskennzahlen (KPIs) für Ihre KI- und ML-Projekte fest.
  • Verwenden Sie die von Google Cloud bereitgestellten Abrechnungsinformationen, um Kostenüberwachungs- und Berichtsprozesse zu implementieren, mit denen Sie Kosten bestimmten KI- und ML-Aktivitäten zuordnen können.
  • Richten Sie Dashboards, Benachrichtigungs- und Berichtssysteme ein, um Kosten und Renditen anhand von KPIs zu verfolgen.

Ressourcenzuweisung optimieren

Wenn Sie in Google CloudKosteneffizienz für Ihre KI- und ML-Arbeitslasten erzielen möchten, müssen Sie die Ressourcenzuweisung optimieren. Wenn Sie die Ressourcenzuweisung sorgfältig an die Anforderungen Ihrer Arbeitslasten anpassen, können Sie unnötige Kosten vermeiden und dafür sorgen, dass Ihre KI- und ML-Systeme die Ressourcen haben, die sie für eine optimale Leistung benötigen.

Beachten Sie die folgenden Empfehlungen:

  • Mit dem Autoscaling können Sie die Ressourcen für Training und Inferenz dynamisch anpassen.
  • Beginnen Sie mit kleinen Modellen und Daten. Sparen Sie Kosten, indem Sie Hypothesen nach Möglichkeit in kleinerem Umfang testen.
  • Ermitteln Sie Ihre Rechenanforderungen durch Tests. Passen Sie die Ressourcen, die für das Training und den Dienst verwendet werden, an Ihre ML-Anforderungen an.
  • MLOps-Methoden übernehmen, um Redundanzen, manuelle Prozesse und ineffiziente Ressourcenzuweisung zu reduzieren

Datenverwaltung und -governance durchsetzen

Eine effektive Datenverwaltung und -governance spielen eine wichtige Rolle bei der Kostenoptimierung. Gut organisierte Daten helfen Ihrem Unternehmen, unnötige Duplikate zu vermeiden, den Aufwand für die Gewinnung hochwertiger Daten zu reduzieren und Teams zur Wiederverwendung von Datensätzen zu ermutigen. Durch eine proaktive Datenverwaltung können Sie Speicherkosten senken, die Datenqualität verbessern und dafür sorgen, dass Ihre ML-Modelle mit den relevantesten und wertvollsten Daten trainiert und ausgeführt werden.

Beachten Sie die folgenden Empfehlungen:

  • Ein klar definiertes Data-Governance-Framework einrichten und anwenden.
  • Wenden Sie Labels und relevante Metadaten bei der Datenaufnahme auf Datasets an.
  • Sorgen Sie dafür, dass Datensätze in der gesamten Organisation auffindbar und zugänglich sind.
  • Achten Sie darauf, dass Ihre Datasets und Features nach Möglichkeit während des gesamten ML-Lebenszyklus wiederverwendbar sind.

Mit MLOps automatisieren und optimieren

Ein Hauptvorteil der Einführung von MLOps-Praktiken ist eine Kostensenkung, sowohl aus technologischer Sicht als auch in Bezug auf Personalaktivitäten. Mithilfe von Automatisierung können Sie die Duplizierung von ML-Aktivitäten vermeiden und die Produktivität von Data Scientists und ML-Entwicklern steigern.

Beachten Sie die folgenden Empfehlungen:

  • Erhöhen Sie den Automatisierungs- und Standardisierungsgrad Ihrer Technologien zur Datenerhebung und ‑verarbeitung, um den Entwicklungsaufwand und die Entwicklungszeit zu reduzieren.
  • Entwickeln Sie automatisierte Trainingspipelines, um manuelle Eingriffe zu reduzieren und die Produktivität der Entwickler zu steigern. Implementieren Sie Mechanismen für die Pipelines, um vorhandene Assets wie vorbereitete Datasets und trainierte Modelle wiederzuverwenden.
  • Mit den Modellbewertungs- und -Optimierungsdiensten in Google Cloud können Sie die Modellleistung mit weniger Iterationen steigern. So können Ihre KI- und ML-Teams in kürzerer Zeit mehr Ziele erreichen.

Verwaltete Dienste und vortrainierte oder vorhandene Modelle verwenden

Es gibt viele Ansätze, mithilfe von KI und ML Geschäftsziele zu erreichen. Verwenden Sie einen inkrementellen Ansatz für die Modellauswahl und -entwicklung. So lassen sich übermäßige Kosten vermeiden, die mit einem Neuanfang verbunden sind. Um die Kosten zu kontrollieren, sollten Sie mit einem einfachen Ansatz beginnen: Verwenden Sie ML-Frameworks, verwaltete Dienste und vortrainierte Modelle.

Beachten Sie die folgenden Empfehlungen:

  • Mit Notebook-Umgebungen können explorative und schnelle ML-Tests durchgeführt werden.
  • Verwenden Sie vorhandene und vortrainierte Modelle als Ausgangspunkt, um die Modellauswahl und den Entwicklungsvorgang zu beschleunigen.
  • Verwaltete Dienste zum Trainieren oder Bereitstellen Ihrer Modelle verwenden Sowohl AutoML als auch verwaltete Dienste zum Trainieren benutzerdefinierter Modelle können dazu beitragen, die Kosten für das Modelltraining zu senken. Verwaltete Dienste können auch dazu beitragen, die Kosten Ihrer Infrastruktur für die Modellbereitstellung zu senken.

Kostenbewusstsein und kontinuierliche Optimierung fördern

Schaffen Sie eine Arbeitsumgebung, die Kommunikation und regelmäßige Bewertungen fördert. Mit diesem Ansatz können Teams während des gesamten ML-Lebenszyklus Kosteneinsparpotenziale identifizieren und umsetzen.

Beachten Sie die folgenden Empfehlungen:

  • Berücksichtigen Sie FinOps-Prinzipien während des gesamten ML-Lebenszyklus.
  • Achten Sie darauf, dass allen Kosten und Geschäftsvorteilen von KI- und ML-Projekten Eigentümer mit klarer Zuständigkeit zugewiesen sind.

Beitragende

Autoren:

Weitere Beitragende:

KI und ML: Leistungsoptimierung

Dieses Dokument im Well-Architected Framework: KI- und ML-Perspektive bietet einen Überblick über Prinzipien und Empfehlungen, mit denen Sie die Leistung Ihrer KI- und ML-Arbeitslasten auf Google Cloudoptimieren können. Die Empfehlungen in diesem Dokument entsprechen dem Säulenelement zur Leistungsoptimierung des Google Cloud Well-Architected-Frameworks.

KI- und ML-Systeme ermöglichen neue Automatisierungs- und Entscheidungsfunktionen für Ihr Unternehmen. Die Leistung dieser Systeme kann sich direkt auf Ihre Geschäftskennzahlen wie Umsatz, Kosten und Kundenzufriedenheit auswirken. Wenn Sie das volle Potenzial Ihrer KI- und ML-Systeme ausschöpfen möchten, müssen Sie ihre Leistung anhand Ihrer Geschäftsziele und technischen Anforderungen optimieren. Die Leistungsoptimierung erfordert oft bestimmte Kompromisse. So kann beispielsweise 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 den Kosten.

Um die KI- und ML-Leistung zu optimieren, müssen Sie Entscheidungen hinsichtlich Faktoren wie der Modellarchitektur, der Parameter und der Trainingsstrategie treffen. Berücksichtigen Sie bei diesen Entscheidungen den gesamten Lebenszyklus der KI- und ML-Systeme und ihrer Bereitstellungsumgebung. Sehr große LLMs können beispielsweise in einer massiven Trainingsinfrastruktur eine hohe Leistung erzielen, in kapazitätsbeschränkten Umgebungen wie Mobilgeräten jedoch möglicherweise nicht gut funktionieren.

Geschäftsziele in Leistungsziele umsetzen

Wenn Sie architektonische Entscheidungen treffen möchten, die die Leistung optimieren, beginnen Sie mit klaren Geschäftszielen. Entwerfen Sie KI- und ML-Systeme, die die technische Leistung bieten, die für die 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 umsetzen: Wandeln Sie die Geschäftsziele Ihrer KI- und ML-Systeme in spezifische technische Leistungsanforderungen um und bewerten Sie die Auswirkungen, wenn diese nicht erfüllt werden. Bei einer Anwendung, die beispielsweise die Kundenabwanderung vorhersagt, sollte das ML-Modell bei Standardmesswerten wie Accuracy und Recall eine gute Leistung erzielen und die Anwendung sollte betriebliche Anforderungen wie eine niedrige Latenz erfüllen.
  • Leistung in allen Phasen des Modelllebenszyklus überwachen: Beobachten Sie während der Tests und des Trainings nach der Bereitstellung des Modells Ihre wichtigsten Leistungskennzahlen (Key Performance Indicators, KPIs) und achten Sie auf Abweichungen von den Geschäftszielen.
  • Automatische Bewertung für reproduzierbare und standardisierte Ergebnisse: Mit einer standardisierten und vergleichbaren Plattform und Methodik für die Testbewertung können Ihre Entwickler die Leistungsverbesserung beschleunigen.

Häufige Tests ausführen und verfolgen

Wenn Sie Innovation und Kreativität in Leistungsverbesserungen umwandeln möchten, benötigen Sie eine Kultur und eine Plattform, die Experimente unterstützen. Die Leistungssteigerung ist ein fortlaufender Prozess, da sich KI- und ML-Technologien kontinuierlich und schnell weiterentwickeln. Um einen zügigen, iterativen Prozess aufrechtzuerhalten, müssen Sie den Testbereich von Ihren Trainings- und Bereitstellungsplattformen trennen. Ein standardisierter und robuster Testprozess ist wichtig.

Beachten Sie die folgenden Empfehlungen:

  • Testumgebung erstellen: Für Leistungsverbesserungen ist eine spezielle, leistungsstarke und interaktive Umgebung erforderlich, die das Testen und die gemeinsame Entwicklung von ML-Pipelines unterstützt.
  • Experimentieren als Kultur etablieren: Führen Sie Tests vor jeder Produktionsbereitstellung durch. Neue Versionen iterativ veröffentlichen und immer Leistungsdaten erfassen Experimentieren Sie mit verschiedenen Datentypen, Merkmalstransformationen, Algorithmen und Hyperparametern.

Training und Bereitstellung von Diensten erstellen und automatisieren

Das Training und Bereitstellen von KI-Modellen sind Kernkomponenten Ihrer KI-Dienste. Sie benötigen robuste Plattformen und Verfahren, die eine schnelle und zuverlässige Erstellung, Bereitstellung und Ausführung von KI-Modellen unterstützen. Nehmen Sie sich Zeit und Mühe, um grundlegende Plattformen für Ihre wichtigsten KI-Trainings- und Bereitstellungsaufgaben zu erstellen. Diese grundlegenden Plattformen helfen Ihren Teams, Zeit und Aufwand zu sparen und die Qualität der Ergebnisse mittel- und langfristig zu verbessern.

Beachten Sie die folgenden Empfehlungen:

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

Designentscheidungen an die Leistungsanforderungen anpassen

Wenn Sie Designentscheidungen zur Leistungsverbesserung treffen, sollten Sie sorgfältig prüfen, ob diese Entscheidungen Ihre Geschäftsanforderungen unterstützen oder verschwenderisch und kontraproduktiv sind. Um die richtige Infrastruktur, Modelle oder Konfigurationen auszuwählen, müssen Sie Leistungsengpässe identifizieren und prüfen, wie sie mit Ihren Leistungsmesswerten zusammenhängen. So können beispielsweise auch bei sehr leistungsstarken GPU-Beschleunigern Leistungsengpässe bei Ihren Trainingsaufgaben auftreten, die auf Probleme mit der Daten-E/A der Speicherebene oder auf Leistungseinschränkungen des Modells selbst zurückzuführen sind.

Beachten Sie die folgenden Empfehlungen:

  • Hardwareverbrauch basierend auf Leistungszielen optimieren: Wenn Sie ML-Modelle trainieren und bereitstellen möchten, die Ihre Leistungsanforderungen erfüllen, müssen Sie die Infrastruktur auf den Ebenen Rechenleistung, Speicher und Netzwerk optimieren. Sie müssen die Variablen messen und verstehen, die sich auf Ihre Leistungsziele auswirken. Diese Variablen unterscheiden sich für die Trainings- und Inferenzphase.
  • Konzentrieren Sie sich auf arbeitslastspezifische Anforderungen: Konzentrieren Sie Ihre Bemühungen zur Leistungsoptimierung auf die individuellen Anforderungen Ihrer KI- und ML-Arbeitslasten. Verwaltete Dienste für die Leistung der zugrunde liegenden Infrastruktur nutzen
  • Passende Trainingsstrategien auswählen: Es gibt mehrere vortrainierte und grundlegende Modelle. Es werden regelmäßig weitere solcher Modelle veröffentlicht. Wählen Sie eine Trainingsstrategie aus, die für Ihre Aufgabe eine optimale Leistung erzielt. Entscheiden Sie, ob Sie ein eigenes Modell erstellen, ein vorab trainiertes Modell an Ihre Daten anpassen oder eine API für vorab trainierte Modelle verwenden sollten.
  • Bedenken Sie, dass sich die Vorteile von Leistungsoptimierungsstrategien mit der Zeit verringern können: Wenn eine bestimmte Strategie zur Leistungsoptimierung keinen messbaren zusätzlichen Geschäftswert bietet, sollten Sie sie nicht weiter verfolgen.

Um Innovationen zu entwickeln, Probleme zu beheben und Leistungsprobleme zu untersuchen, sollten Sie einen klaren Zusammenhang zwischen Designentscheidungen und Leistungsergebnissen herstellen. Neben den Tests müssen Sie auch die Herkunft Ihrer Assets, Bereitstellungen, Modellausgaben sowie die Konfigurationen und Eingaben, die zu den Ausgaben geführt haben, zuverlässig erfassen.

Beachten Sie die folgenden Empfehlungen:

  • Ein Daten- und Modellabstammungssystem erstellen: Alle bereitgestellten Assets und ihre Leistungsmesswerte müssen mit den Daten, Konfigurationen, dem Code und den Entscheidungen verknüpft sein, die zu den bereitgestellten Systemen geführt haben. Außerdem müssen Modellausgaben mit bestimmten Modellversionen und der Art und Weise verknüpft sein, wie die Ausgaben erstellt wurden.
  • Erklärbarkeitstools zur Verbesserung der Modellleistung verwenden: Tools und Benchmarks für die explorative Datenanalyse und Erklärbarkeit von Modellen einführen und standardisieren. Mit diesen Tools können Ihre ML-Entwickler das Modellverhalten besser verstehen und die Leistung verbessern oder Verzerrungen beseitigen.

Beitragende

Autoren:

Weitere Beitragende: