In diesem Dokument des Google Cloud-Architektur-Frameworks werden einige Grundprinzipien und Best Practices für Datenanalysen in Google Cloud erläutert. Sie erfahren etwas über die wichtigsten Dienste von KI und maschinellem Lernen (ML) und wie sie in den verschiedenen Phasen des KI- und ML-Lebenszyklus helfen können. Mit diesen Best Practices können Sie Ihre KI- und ML-Anforderungen erfüllen und Ihr Systemdesign erstellen. In diesem Dokument wird davon ausgegangen, dass Sie mit grundlegenden KI- und ML-Konzepten vertraut sind.
Nutzen Sie die für Ihren Anwendungsfall höchste Abstraktionsebene, um den Entwicklungsprozess zu vereinfachen und den Aufwand beim Erstellen von ML-Modellen in Google Cloud zu minimieren. Der Abstraktionsgrad ist die Komplexität, mit der ein System betrachtet oder programmiert wird. Je höher der Abstraktionsgrad, desto weniger Details sind für den Betrachter verfügbar.
Verwenden Sie folgende Tabelle, um Google-KI- und ML-Dienste anhand Ihrer Geschäftsanforderungen auszuwählen:
Identität | Google-Dienste |
---|---|
Geschäftlich Nutzende | Standardlösungen wie Contact Center AI Insights, Document AI, Discovery AI und Cloud Healthcare API. |
Entwickler mit minimaler ML-Erfahrung | Vortrainierte APIs entwickeln gängige wahrnehmungsbasierte Aufgaben wie Vision, Video und Natural Language. Diese APIs werden von vortrainierten Modellen unterstützt und bieten Standarddetektoren. Sie sind ohne ML-Fachwissen und Modellentwicklungsarbeit einsatzbereit. Zu den vortrainierten APIs gehören Vision API, Video API, Natural Language API, Speech-to-Text API, Text-to-Speech API und Cloud Translation API. |
Generative AI für Entwickler | Mit Vertex AI Agent Builder können Entwickler dank der integrierten Funktionen Chatbots in wenigen Minuten und Suchmaschinen in wenigen Stunden erstellen und bereitstellen. Entwickler, die mehrere Funktionen zu Workflows für Unternehmen kombinieren möchten, können die Gen App Builder API für die direkte Integration verwenden. |
Entwickler und Data Scientists | AutoML ermöglicht die benutzerdefinierte Modellentwicklung mit eigenen Bild-, Video-, Text- oder tabellarischen Daten. AutoML beschleunigt die Modellentwicklung, indem die Vielfalt an Google-Modellen automatisch nach der leistungsstärksten Modellarchitektur durchsucht wird, sodass Sie das Modell nicht erstellen müssen. AutoML führt allgemeine Aufgaben für Sie aus, z. B. die Auswahl einer Modellarchitektur, Hyperparameter-Abstimmung und die Bereitstellung von Maschinen für Training und Bereitstellung. |
Data Scientists und ML-Entwickler | Mit den benutzerdefinierten Vertex AI-Modelltools können Sie eigene Modelle trainieren und bereitstellen und sie für den ML-Workflow operationalisieren. Sie können Ihre ML-Arbeitslast auch auf selbstverwalteten Rechenressourcen wie Compute Engine-VMs ausführen. |
Data Scientists und ML-Entwickler | Die Unterstützung für generative KI in Vertex AI (auch als genai bezeichnet) bietet Zugriff auf die großen generativen KI-Modelle von Google, damit Sie die Modelle in Ihren KI-gestützten Anwendungen testen, optimieren und bereitstellen können. |
Data Engineers, Data Scientists und Datenanalysten, die mit SQL-Schnittstellen vertraut sind | Mit BigQuery ML können Sie SQL-basierte Modelle auf Basis von in BigQuery gespeicherten Daten entwickeln. |
Vorteile
Folgende Tabelle bietet einen allgemeinen Überblick über KI- und ML-Dienste:
Google-Dienst | Beschreibung |
---|---|
Cloud Storage und BigQuery | Flexible Speicheroptionen für ML-Daten und -Artefakte bereitstellen. |
BigQuery ML | Ermöglicht das Erstellen von Modellen für maschinelles Lernen direkt aus in BigQuery befindlichen Daten. |
Pub/Sub, Dataflow, Cloud Data Fusion und Dataproc |
Unterstützen Sie die Batchaufnahme und Verarbeitung von Daten in Echtzeit. Weitere Informationen finden Sie unter Datenanalyse. |
Vertex AI | Bietet Data Scientists und ML-Entwicklern eine zentrale Plattform zum Erstellen, Trainieren, Testen, Überwachen, Optimieren und Bereitstellen von ML-Modellen für alles von generativer KI bis MLOps. Die Tools umfassen:
|
Vertex AI Agent Builder | Ermöglicht die Erstellung von Chatbots und Suchmaschinen für Websites und für die Verwendung über Unternehmensdaten hinweg.
|
Generative AI on Vertex AI | Ermöglicht den Zugriff auf die großen generativen KI-Modelle von Google, sodass Sie die Modelle testen, optimieren und für die Verwendung in Ihren KI-gestützten Anwendungen bereitstellen können. Generative AI on Vertex AI wird auch als genai bezeichnet.
|
Vortrainierte APIs |
|
AutoML | Bietet benutzerdefinierte Modelltools zum Erstellen, Bereitstellen und Skalieren von ML-Modellen.
Entwickler können ihre eigenen Daten hochladen und den entsprechenden AutoML-Dienst verwenden, um ein benutzerdefiniertes Modell zu erstellen.
|
AI Infrastructure | Ermöglicht die Verwendung von AI-Beschleunigern zur Verarbeitung großer ML-Arbeitslasten. Mit diesen Beschleunigern können Sie Deep-Learning-Modelle und ML-Modelle kostengünstig trainieren und Inferenzen daraus ableiten. GPUs können für kostengünstige Inferenz sowie für das vertikale und horizontale Skalieren von Training für Deep-Learning-Modelle hilfreich sein. Tensor Processing Units (TPUs) sind benutzerdefinierte ASICs zum Trainieren und Ausführen von neuronalen Deep-Learning-Netzwerken. |
Dialogflow | Bietet virtuelle Kundenservicemitarbeiter, die Unterhaltungserfahrungen bereitstellen. |
Contact Center AI | Bietet ein automatisiertes, informiertes Kontaktcenter-Erlebnis mit Agent Assist-Funktionen für menschliche Mitarbeiter. |
Document AI | Bietet ein umfassendes Verständnis von Dokumenten im Allgemeinen und für bestimmte Dokumenttypen, darunter finanzierungs- und beschaffungsbezogene Dokumente. |
Lending DocAI | Automatisiert die Verarbeitung von Hypothekendokumenten. Die Verarbeitungszeit wird reduziert und die Datenerfassung wird optimiert – unter Einhaltung der Vorschriften und Compliance-Anforderungen. |
Procurement DocAI | Automatisiert die Erfassung von Beschaffungsdaten im großen Stil: Verwandelt unstrukturierte Dokumente wie Rechnungen und Belege in strukturierte Daten, um die betriebliche Effizienz zu steigern, die Nutzerumgebung zu optimieren und fundierte Grundlagen für die Entscheidungsfindung bereitzustellen. |
Empfehlungen | Bietet personalisierte Produktempfehlungen. |
Healthcare Natural Language API | Ermöglicht die Prüfung und Analyse medizinischer Dokumente. |
Media Translation API | Aktiviert die Echtzeitübersetzung von Audiodaten. |
Datenverarbeitung
Wenden Sie folgende Best Practices für die Datenverarbeitung auf Ihre eigene Umgebung an.
Darauf achten, dass Ihre Daten die ML-Anforderungen erfüllen
Die für ML verwendeten Daten müssen unabhängig vom Datentyp bestimmte grundlegende Anforderungen erfüllen. Zu diesen Anforderungen gehören die Fähigkeit der Daten, das Ziel vorherzusagen, die Konsistenz zwischen den für das Training verwendeten Daten und den für die Vorhersage verwendeten Daten und genau mit Labels versehene Daten für das Training vorherzusagen. Auch das Volumen der Daten sollte ausreichen. Weitere Informationen finden Sie unter Datenverarbeitung.
Tabellarische Daten in BigQuery speichern
Wenn Sie tabellarische Daten verwenden, sollten Sie alle Daten in BigQuery speichern und die BigQuery Storage API zum Lesen von Daten daraus verwenden. Verwenden Sie eine der folgenden zusätzlichen Tooloptionen, um die Interaktion mit der API zu vereinfachen:
- Wenn Sie Dataflow verwenden, verwenden Sie den BigQuery-E/A-Connector.
- Wenn Sie TensorFlow oder Keras nutzen, verwenden Sie den tf.data.dataset-Reader für BigQuery.
- Wenn Sie unstrukturierte Daten wie Bilder oder Videos verwenden, sollten Sie alle Daten in Cloud Storage speichern.
Der Eingabedatentyp bestimmt auch die verfügbaren Tools zur Modellentwicklung. Vortrainierte APIs, AutoML und BigQuery ML können kostengünstigere und zeiteffiziente Entwicklungsumgebungen für bestimmte Bild-, Video-, Text- und strukturierte Datenanwendungsfälle bereitstellen.
Ausreichende Daten für die Entwicklung eines ML-Modells bereitstellen
Um ein nützliches ML-Modell zu entwickeln, benötigen Sie genügend Daten. Um eine Kategorie vorherzusagen, ist die empfohlene Anzahl von Beispielen für jede Kategorie zehnmal die Anzahl der Features. Je mehr Kategorien Sie vorhersagen möchten, desto mehr Daten benötigen Sie. Unausgeglichene Datasets erfordern noch mehr Daten. Wenn nicht genügend Daten mit Labels verfügbar sind, sollten Sie halbüberwachtes Lernen in Betracht ziehen.
Die Dataset-Größe hat auch Auswirkungen auf Training und Bereitstellung: Wenn Sie ein kleines Dataset haben, können Sie es direkt in einer Notebooks-Instanz trainieren. Wenn Sie größere Datasets haben, die verteilte Verteilung erfordern, verwenden Sie den benutzerdefinierten Vertex AI-Trainingsdienst. Wenn Google das Modell für Ihre Daten trainieren soll, verwenden Sie AutoML.
Daten für den Verbrauch vorbereiten
Gut vorbereitete Daten können die Modellentwicklung beschleunigen. Achten Sie beim Konfigurieren der Datenpipeline darauf, dass sowohl Batch- als auch Stream-Daten verarbeitet werden können, damit Sie für beide Datentypen konsistente Ergebnisse erhalten.
Modellentwicklung und -training
Wenden Sie folgende Best Practices für Modellentwicklung und Training auf Ihre eigene Umgebung an.
Verwaltet oder benutzerdefiniert trainierte Modellentwicklung auswählen
Berücksichtigen Sie beim Erstellen Ihres Modells die höchste Abstraktionsebene, die möglich ist. Verwenden Sie nach Möglichkeit AutoML, damit die Entwicklungs- und Trainingsaufgaben für Sie übernommen werden. Wählen Sie für benutzerdefinierte Modelle anstelle von selbstverwalteten Optionen verwaltete Optionen für Skalierbarkeit und Flexibilität aus. Weitere Informationen zu Modellentwicklungsoptionen finden Sie unter Empfohlene Tools und Produkte verwenden.
Erwägen Sie die Nutzung des Vertex AI-Trainingsservice statt eines selbstverwalteten Trainings auf Compute Engine-VMs oder Deep Learning VM-Containern. Für eine JupyterLab-Umgebung eignet sich Vertex AI Workbench, das sowohl verwaltete als auch vom Nutzer verwaltete JupyterLab-Umgebungen bietet. Weitere Informationen finden Sie unter Entwicklung maschinellen Lernens und Operationalisiertes Training.
Vorgefertigte oder benutzerdefinierte Container für benutzerdefiniert trainierte Modelle verwenden
Für benutzerdefinierte Modelle in Vertex AI können Sie je nach ML-Framework und Framework-Version vordefinierte oder benutzerdefinierte Container verwenden. Vordefinierte Container stehen für Python-Trainingsanwendungen zur Verfügung, die für bestimmte TensorFlow-, scikit-learn-, PyTorch- und XGBoost-Versionen erstellt wurden.
Andernfalls können Sie einen benutzerdefinierten Container für Ihren Trainingsjob erstellen. Sie können beispielsweise einen benutzerdefinierten Container verwenden, wenn Sie Ihr Modell mit einem Python ML-Framework trainieren möchten, das in einem vordefinierten Container nicht verfügbar ist, oder wenn Sie mit einer anderen Programmiersprache als Python trainieren möchten. Installieren Sie in Ihrem benutzerdefinierten Container im Vorfeld die Trainingsanwendung und alle zugehörigen Abhängigkeiten in einem Image, in dem der Trainingsjob ausgeführt wird.
Anforderungen für verteiltes Training berücksichtigen
Prüfen Sie Ihre Anforderungen für verteiltes Training. Mit einigen ML-Frameworks wie TensorFlow und PyTorch können Sie identischen Trainingscode auf mehreren Computern ausführen. Diese Frameworks koordinieren die Arbeitsteilung automatisch anhand der Umgebungsvariablen, die auf jeder Maschine festgelegt werden. Andere Frameworks erfordern möglicherweise zusätzliche Anpassungen.
Nächste Schritte
Weitere Informationen zu AI und maschinellem Lernen finden Sie hier:
- Best Practices für die Implementierung von maschinellem Lernen in Google Cloud.
- Leitfaden zu MLOps: Ein ML-Framework für Continuous Delivery und Automatisierung von maschinellem Lernen.
Weitere Kategorien im Architektur-Framework kennenlernen, z. B. Zuverlässigkeit, operative Exzellenz sowie Sicherheit, Datenschutz und Compliance.