Machine Learning implementieren

Last reviewed 2023-08-23 UTC

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.
  • Mit der konversationellen KI in Vertex AI Agent Builder lassen sich Kunden- und Mitarbeiterinteraktionen mit generativen KI-gestützten Chatbots und digitalen Assistenten neu definieren. Mit diesen Tools können Sie beispielsweise mehr als nur Informationen bereitstellen, indem Sie Transaktionen von innerhalb des Chats aktivieren.
  • Mit Enterprise Search in Vertex AI Agent Builder können Unternehmen Suchfunktionen für Kunden und Mitarbeiter auf ihren öffentlichen oder privaten Websites erstellen. Enterprise Search bietet nicht nur hochwertige multimodale Suchergebnisse, es kann auch Ergebnisse zusammenfassen und entsprechende Zitationen dank generativer KI liefern.
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.
  • Generative KI-Modelle, die auch als Foundation Models bezeichnet werden, werden nach der Art der Inhalte kategorisiert, die sie generieren sollen. Dieser Inhalt umfasst Text- und Chat-, Bild-, Code- und Texteinbettungen.
  • Mit Vertex AI Studio können Sie in der Google Cloud Console schnell Prototypen für generative KI-Modelle erstellen und testen. Sie können Beispiel-Prompts testen, eigene Prompts entwerfen und Foundation Models anpassen, um Aufgaben zu verarbeiten, die die Anforderungen Ihrer Anwendung erfüllen.
  • Model Tuning ermöglicht die Anpassung von Foundation Models für bestimmte Anwendungsfälle, indem Sie diese mithilfe eines Datasets von Eingabe-Ausgabe-Beispielen für optimieren.
  • Modell Garden bietet Foundation Models, aufgabenspezifische Modelle und APIs für Unternehmen.
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.
  • AutoML Image: Führt Bildklassifizierung und Objekterkennung für Bilddaten durch.
  • AutoML Video: Führt Objekterkennung, Klassifizierung und Aktionserkennung für Videodaten durch.
  • AutoML Text: Führt Sprachklassifizierung, Entitätsextraktion und Sentimentanalyse für Textdaten durch.
  • AutoML Translation: Erkennt Sprachpaare und übersetzt zwischen diesen.
  • AutoML Tabular: Ermöglicht das Erstellen eines Regressions-, Klassifizierungs- oder Prognosemodells. Vorgesehen für strukturierte Daten.
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:

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:

Weitere Kategorien im Architektur-Framework kennenlernen, z. B. Zuverlässigkeit, operative Exzellenz sowie Sicherheit, Datenschutz und Compliance.