In diesem Dokument im Google Cloud Well-Architected Framework werden Prinzipien und Empfehlungen beschrieben, die Ihnen helfen, KI- und ML-Arbeitslasten in Google Cloud zu entwerfen, zu erstellen und zu verwalten, die Ihre Ziele in Bezug auf Betrieb, Sicherheit, Zuverlässigkeit, Kosten und Leistung 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 die Prinzipien und Empfehlungen für KI und ML für jede Säule des Well-Architected Framework beschrieben:
- KI- und ML-Perspektive: Operative Exzellenz
- KI- und ML-Perspektive: Sicherheit
- KI- und ML-Perspektive: Zuverlässigkeit
- KI- und ML-Perspektive: Kostenoptimierung
- KI- und ML-Perspektive: Leistungsoptimierung
Beitragende
Autoren:
- Benjamin Sadik | AI & ML Specialist Customer Engineer
- Charlotte Gistelinck, PhD | Partner Engineer
- Filipe Gracio, PhD | Customer Engineer
- Isaac Lo | AI Business Development Manager
- Kamilla Kurta | GenAI/ML Specialist Customer Engineer
- Mohamed Fawzi | Benelux Security and Compliance Lead
- Rick (Rugui) Chen | AI Infrastructure Solutions Architect
- Sannya Dang | AI Solution Architect
Weitere Beitragende:
- Daniel Lees | Cloudsicherheitsarchitekt
- Gary Harmson | Principal Architect
- Jose Andrade | Enterprise Infrastructure Customer Engineer
- Kumar Dhanagopal | Cross-Product Solution Developer
- Marwan Al Shawi | Partner Customer Engineer
- Nicolas Pintaux | Customer Engineer, Application Modernization Specialist
- Radhika Kanakam | Senior Program Manager, Cloud GTM
- Ryan Cox | Principal Architect
- Samantha He | Technical Writer
- Stef Ruinard | Generative AI Field Solutions Architect
- Wade Holmes | Global Solutions Director
- Zach Seils | Networking Specialist
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 Sie die KI- und ML-Systeme und ‑Pipelines, die zur Erreichung der strategischen Ziele Ihres Unternehmens beitragen, nahtlos bereitstellen, verwalten und steuern 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:
- Solide Grundlage für die Modellentwicklung schaffen
- Lebenszyklus der Modellentwicklung automatisieren
- Beobachtbarkeit implementieren
- Eine Kultur der operativen Exzellenz schaffen
- Skalierbarkeit im Blick
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 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. 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 Sicherheitsrichtlinien 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
Mit Cloud Build können Sie das Erstellen, Testen und Bereitstellen von ML-Modellen 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.
Um die Zuverlässigkeit der Bereitstellung zu gewährleisten, 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 potenzielle Sicherheitsbedrohungen und ‑lücken im Blick behalten.
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 Messwerte für den Erfolg 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, Bias 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:
- Charlotte Gistelinck, PhD | Partner Engineer
- Sannya Dang | AI Solution Architect
- 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 | Generative AI Field Solutions Architect
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 bei der ersten Konzeption Ihrer KI- und ML-Lösungen beginnt und sich auf Entwicklung, Bereitstellung und laufenden Betrieb erstreckt. Google Cloud bietet robuste Tools und Dienste, die darauf ausgelegt sind, 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 an Ihren Geschäftszielen 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:
- Kamilla Kurta | GenAI/ML Specialist Customer Engineer
- Filipe Gracio, PhD | Customer Engineer
- Mohamed Fawzi | Benelux Security and Compliance Lead
Weitere Beitragende:
- Daniel Lees | Cloudsicherheitsarchitekt
- Kumar Dhanagopal | Cross-Product Solution Developer
- Marwan Al Shawi | Partner Customer Engineer
- Wade Holmes | Global Solutions Director
KI- und ML-Perspektive: Zuverlässigkeit
Dieses Dokument im 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. Sie benötigen KI- und ML-Systeme, die robust, zuverlässig und anpassungsfähig sind, um den besonderen Anforderungen von prädiktivem ML und generativer KI gerecht zu werden. 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.
Sorgen Sie dafür, dass die Infrastruktur skalierbar und hochverfügbar ist.
Wenn Sie Ihre Anwendungen auf Skalierbarkeit und Verfügbarkeit auslegen, können sie unterschiedliche Anforderungen ohne Dienstunterbrechungen oder Leistungseinbußen bewältigen. Das bedeutet, dass Ihre KI-Dienste Nutzern auch bei Infrastrukturausfällen und bei sehr hohem Traffic weiterhin zur Verfügung stehen.
Beachten Sie die folgenden Empfehlungen:
- Entwerfen Sie Ihre KI-Systeme mit automatischen und dynamischen Skalierungsfunktionen, um Schwankungen bei der Nachfrage zu bewältigen. So wird eine optimale Leistung gewährleistet, auch bei Trafficspitzen.
- Ressourcen proaktiv verwalten und zukünftige Anforderungen durch Lasttests und Leistungsüberwachung antizipieren. Verwenden Sie Verlaufsdaten und Vorhersageanalysen, um fundierte Entscheidungen zur Ressourcenzuweisung zu treffen.
- Entwerfen Sie für Hochverfügbarkeit und Fehlertoleranz, indem Sie die Archetypen für die Bereitstellung in mehreren Zonen und Regionen in Google Cloud verwenden und Redundanz und Replikation implementieren.
- Eingehenden Traffic auf mehrere Instanzen Ihrer KI- und ML-Dienste und ‑Endpunkte verteilen Load-Balancing trägt dazu bei, dass keine einzelne Instanz überlastet wird, und sorgt für eine gleichbleibende Leistung und Verfügbarkeit.
Modulare und lose gekoppelte Architektur verwenden
Um Ihre KI-Systeme widerstandsfähiger gegen Fehler in einzelnen Komponenten zu machen, sollten Sie eine modulare Architektur verwenden. Entwerfen Sie beispielsweise die Datenverarbeitungs- und Datenvalidierungskomponenten als separate Module. Wenn eine bestimmte Komponente ausfällt, trägt die modulare Architektur dazu bei, Ausfallzeiten zu minimieren. Außerdem können Ihre Teams schneller Korrekturen entwickeln und bereitstellen.
Beachten Sie die folgenden Empfehlungen:
- Teilen Sie Ihr KI- und ML-System in kleine, in sich geschlossene Module oder Komponenten auf. Dieser Ansatz fördert die Wiederverwendbarkeit von Code, vereinfacht das Testen und die Wartung und ermöglicht es Ihnen, einzelne Komponenten unabhängig voneinander zu entwickeln und bereitzustellen.
- Entwerfen Sie die lose gekoppelten Module mit klar definierten Schnittstellen. Dieser Ansatz minimiert Abhängigkeiten und ermöglicht es Ihnen, unabhängige Updates und Änderungen vorzunehmen, ohne das gesamte System zu beeinträchtigen.
- Planen Sie Graceful Degradation ein. Wenn eine Komponente ausfällt, müssen die anderen Teile des Systems weiterhin ein angemessenes Maß an Funktionalität bieten.
- Verwenden Sie APIs, um klare Grenzen zwischen Modulen zu schaffen und die Implementierungsdetails auf Modulebene zu verbergen. 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 Ihres Modelllebenszyklus zuverlässiger. Durch die Förderung von Konsistenz, loser Kopplung und Modularität sowie durch die Darstellung von Vorgängen und Infrastruktur als Code werden anfällige manuelle Schritte vermieden und KI- und ML-Systeme, die robuster und zuverlässiger sind, können gewartet werden.
Beachten Sie die folgenden Empfehlungen:
- Automatisieren Sie den Lebenszyklus der Modellentwicklung, von der Datenvorbereitung und ‑validierung bis hin zum Modelltraining, zur ‑bewertung, ‑bereitstellung und zum ‑monitoring.
- Infrastruktur als Code (IaC) verwalten 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 richten Sie entsprechende Benachrichtigungen für unerwartete Ausgaben ein.
- Validieren Sie die Ein- und Ausgaben Ihrer KI- und ML-Pipelines. Beispiele: Daten, Konfigurationen, Befehlsargumente, Dateien und Vorhersagen validieren. Benachrichtigungen für unerwartete oder unzulässige Werte konfigurieren
- Verwenden Sie eine verwaltete Versionsverwaltungsstrategie für Ihre Modellendpunkte. Diese Art von Strategie ermöglicht inkrementelle Releases und eine schnelle Wiederherstellung im Falle von Problemen.
Vertrauen und Kontrolle durch Data und Model Governance aufrechterhalten
Die Zuverlässigkeit von KI- und ML-Systemen hängt von den Vertrauens- und Governance-Funktionen Ihrer Daten und Modelle ab. KI-Ausgaben können Erwartungen auf stille Weise nicht erfüllen. Die Ausgaben können beispielsweise formal konsistent, aber trotzdem falsch oder unerwünscht sein. Durch die Implementierung von Rückverfolgbarkeit und einer starken Governance können Sie sicherstellen, dass die Ausgaben zuverlässig und vertrauenswürdig sind.
Beachten Sie die folgenden Empfehlungen:
- Verwenden Sie einen Daten- und Modellkatalog, um Ihre Assets effektiv zu verfolgen und zu verwalten. Um die Rückverfolgung und Prüfungen zu erleichtern, sollten Sie während des gesamten Lebenszyklus einen umfassenden Datensatz mit Daten- und Modellversionen führen.
- Implementieren Sie strenge Zugriffssteuerungen und Prüfpfade, um sensible Daten und Modelle zu schützen.
- Das kritische Problem von Bias in KI, insbesondere in Anwendungen für generative KI, wird behandelt. Um Vertrauen aufzubauen, sollten Sie für Transparenz und Nachvollziehbarkeit bei den Modellausgaben sorgen.
- Automatisieren Sie die Generierung von Feature-Statistiken und implementieren Sie die Anomalieerkennung, um Datenprobleme proaktiv zu erkennen. Um die Zuverlässigkeit des Modells zu gewährleisten, müssen Sie Mechanismen einrichten, um die Auswirkungen von Änderungen in den Datenverteilungen zu erkennen und zu minimieren.
Ganzheitliche Verfahren für die Beobachtbarkeit und Zuverlässigkeit von KI und ML implementieren
Um Ihre KI-Vorgänge kontinuierlich zu verbessern, müssen Sie aussagekräftige Zuverlässigkeitsziele definieren und den Fortschritt messen. Die Beobachtbarkeit ist ein grundlegendes Element zuverlässiger Systeme. Mit 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 entwickeln und zu warten.
Beachten Sie die folgenden Empfehlungen:
- Infrastrukturmesswerte für Prozessoren (CPUs, GPUs und TPUs) und für andere Ressourcen wie Arbeitsspeichernutzung, Netzwerklatenz und Festplattennutzung im Blick behalten. Führen Sie Lasttests durch und überwachen Sie die Leistung. Mithilfe der Testergebnisse und Messwerte aus der Überwachung können Sie die Skalierung und Kapazität Ihrer KI- und ML-Systeme verwalten.
- Zuverlässigkeitsziele festlegen und Anwendungsstatistiken im Blick behalten Messwerte wie Durchsatz und Latenz für die von Ihnen entwickelten KI-Anwendungen messen. Nutzungsmuster Ihrer Anwendungen und der bereitgestellten Endpunkte überwachen.
- Legen Sie modellspezifische Messwerte wie Genauigkeit oder Sicherheitsindikatoren fest, um die Zuverlässigkeit des Modells zu bewerten. Behalten Sie diese Messwerte im Zeitverlauf im Blick, um Abweichungen oder Beeinträchtigungen zu erkennen. Für eine effiziente Versionsverwaltung und Automatisierung sollten Sie die Monitoring-Konfigurationen als Code definieren.
- Definieren und verfolgen Sie Messwerte auf Geschäftsebene, um die Auswirkungen Ihrer Modelle und die 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 übernehmen und Service Level Objectives (SLOs) definieren.
Beitragende
Autoren:
- Rick (Rugui) Chen | AI Infrastructure Solutions Architect
- Filipe Gracio, PhD | Customer Engineer
Weitere Beitragende:
- Jose Andrade | Enterprise Infrastructure Customer Engineer
- Kumar Dhanagopal | Cross-Product Solution Developer
- Marwan Al Shawi | Partner Customer Engineer
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
- Ressourcenzuweisung optimieren
- Praktiken für Datenverwaltung und ‑governance durchsetzen
- Mit MLOps automatisieren und optimieren
- Verwaltete Dienste und vortrainierte Modelle verwenden
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:
- Kontinuierlich überwachen und Daten analysieren: Behalten Sie KPIs und Kosten im Blick, um Abweichungen und Optimierungsmöglichkeiten zu erkennen.
- Datengestützte Anpassungen vornehmen: Optimieren Sie Strategien, Modelle, Infrastruktur und Ressourcenzuweisung basierend auf Datenstatistiken.
- 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.
- 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.
Abrechnungsbezogene Tools verwenden
- 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 Benachrichtigungsschwellen können Ihnen helfen, Benachrichtigungsmüdigkeit 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 die Ressourcen haben, 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 |
|
Inferenz |
|
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:
- 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.
- 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.
- 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.
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.
Kosten analysieren: Vergleichen Sie die Kosten und die Leistung der einzelnen Konfigurationen, um die kostengünstigste Option zu ermitteln.
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.
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 in großem 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.
- Verwenden Sie zum Organisieren von Daten Abstraktionen von Dataplex Universal Catalog und richten Sie logische Data Lakes und Zonen ein.
- Verwenden Sie Google-Gruppen und Dataplex Universal Catalog-Rollen, um den Zugriff auf Data Lakes und Zonen zu verwalten.
- Um die Prozesse zur Datenqualität zu optimieren, aktivieren Sie die automatische Datenqualität.
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 Universal Catalog 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:
- Datenbankoptionen wie Cloud SQL, Spanner, AlloyDB für PostgreSQL, Firestore und BigQuery. Ihre Auswahl hängt von Ihren Anforderungen ab, z. B. von der Latenz beim Schreibzugriff (statisch oder dynamisch), dem Datenvolumen (hoch oder niedrig) und dem Datenformat (strukturiert, unstrukturiert oder semistrukturiert). Weitere Informationen finden Sie unter Google Cloud -Datenbanken.
- Data Lakes wie Cloud Storage mit BigLake.
- Dataplex Universal Catalog zum Verwalten von Daten aus verschiedenen Quellen.
- Plattformen für Streamingereignisse wie Pub/Sub, Dataflow oder Apache Kafka.
- Externe APIs.
Wählen Sie für jede Datenquelle 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 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. |
|
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: Verwenden Sie vorhandene Pipelinekomponenten und Artefakte wie vorbereitete Datasets und trainierte Modelle, 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:
- Vertex AI-Abstimmung für das überwachte Fine-Tuning von Gemini, Imagen und anderen Modellen.
- Vertex AI Training oder Ray on Vertex AI für benutzerdefiniertes verteiltes Training.
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 Analysen 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, die Code-Überprüfung 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-Modelle wie die Gemini-Modellfamilie und Imagen für die Bildgenerierung.
- Open-Source-Modelle wie Gemma und Llama.
- Modelle von Drittanbietern von Partnern wie Anthropic und Mistral AI.
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:
- Isaac Lo | AI Business Development Manager
- Anastasia Prokaeva | Field Solutions Architect, Generative AI
- Amy Southwood | Technical Solutions Consultant, Data Analytics & AI
Weitere Beitragende:
- Filipe Gracio, PhD | Customer Engineer
- Kumar Dhanagopal | Cross-Product Solution Developer
- Marwan Al Shawi | Partner Customer Engineer
- Nicolas Pintaux | Customer Engineer, Application Modernization Specialist
KI und ML: 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-Compute- 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 die optimale Leistung für Ihre Aufgabe 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.
Leistungsmesswerte mit Design- und Konfigurationsentscheidungen verknüpfen
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:
- Benjamin Sadik | AI & ML Specialist Customer Engineer
- Filipe Gracio, PhD | Customer Engineer
Weitere Beitragende:
- Kumar Dhanagopal | Cross-Product Solution Developer
- Marwan Al Shawi | Partner Customer Engineer
- Zach Seils | Networking Specialist