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:
- Solide Grundlage für die Modellentwicklung schaffen
- Lebenszyklus der Modellentwicklung automatisieren
- Beobachtbarkeit implementieren
- Eine Kultur der Betriebseffizienz schaffen
- Skalierbarkeit im Blick
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:
- Charlotte Gistelinck, PhD | Partner Engineer
- Sannya Dang | KI-Lösungsarchitektin
- Filipe Gracio, PhD | Customer Engineer
Weitere Beitragende:
- Gary Harmson | Principal Architect
- Kumar Dhanagopal | Cross-Product Solution Developer
- Marwan Al Shawi | Partner Customer Engineer
- Ryan Cox | Principal Architect
- Stef Ruinard | Solutions Architect für generative KI