Apache Spark-Pipeline für maschinelles Lernen erstellen

Beschleunigen Sie Ihre verteilte Machine-Learning-Journey, indem Sie eine Spark-ML-Pipeline mit Zero-Setup-Laufzeiten in Google Cloud erstellen.

Was ist verteiltes maschinelles Lernen?

Verteiltes maschinelles Lernen ermöglicht es Data Scientists und ML-Entwicklern, das Training von Modellen für maschinelles Lernen (ML) über die Speicher- und Rechenbeschränkungen einer einzelnen Maschine hinaus zu skalieren. Durch die Verteilung von Datenpartitionen und die Parallelisierung von Arbeitslasten über einen Cluster von Worker-Knoten hinweg können Sie komplexe Modelle auf riesigen Datasets deutlich schneller trainieren.

Warum Apache Spark verwenden?

Apache Spark ist der Branchenstandard für die verteilte Datenverarbeitung. Die native ML-Bibliothek MLlib bietet verteilte Algorithmen für Klassifizierung, Regression, Clustering und kollaboratives Filtern, sodass Sie von der Datenaufnahme bis zur Modellbereitstellung in einer einzigen, einheitlichen Umgebung arbeiten können.

Was ist eine Spark ML-Pipeline?

Eine Spark ML-Pipeline ist eine High-Level-API, mit der Sie mehrere Workflows für maschinelles Lernen zu einer zusammenhängenden Pipeline kombinieren können. Sie können damit verschiedene Datentransformationen (wie Featureextraktion und Skalierung) und Algorithmen für maschinelles Lernen (wie Modelltraining) in einem strukturierten, deklarativen Workflow verketten.


Durch die Verwendung einer Pipeline stellen Sie sicher, dass sowohl beim Modelltraining als auch bei der Vorhersage dieselbe Abfolge von Datenvorverarbeitungsschritten konsistent angewendet wird. Dies ist entscheidend, um Datenlecks zu verhindern und reproduzierbare Ergebnisse zu gewährleisten. Die wichtigsten Komponenten einer Spark ML-Pipeline sind Transformer und Estimator.

Warum Google Cloud für Spark ML?

Die Skalierung von ML-Arbeitslasten zur Anwendung der Hardwarebeschleunigung führt oft dazu, dass komplexe Spark-GPU-Abhängigkeiten verwaltet werden müssen. Das Bereitstellen von VM-Instanzen, das Installieren der richtigen NVIDIA-Treiber und das Sicherstellen, dass die CUDA- und cuDNN-Versionen mit Ihren PyTorch- oder TensorFlow-Bibliotheken übereinstimmen, kann die Produktivität der Entwickler tagelang beeinträchtigen.


Google Cloud löst dieses Problem mit dem Managed Service for Apache Spark, der vorkonfigurierte Laufzeiten für maschinelles Lernen bietet. Diese Laufzeiten basieren auf stabilen, Ubuntu-basierten Images (ab Version 2.3) und haben genau die GPU-Treiber (CUDA, cuDNN, NCCL) und branchenüblichen ML-Frameworks (PyTorch, XGBoost, Tokenizer und Transformer) vorinstalliert und vorkonfiguriert, die Ihre Arbeitslasten erfordern. Dank dieser Umgebung, die keine Einrichtung erfordert, kann sich Ihr Team auf das Schreiben von Code konzentrieren, anstatt die Infrastruktur zu konfigurieren.

Häufig gestellte Fragen

In Spark MLlib ist ein Transformer ein Algorithmus, der einen DataFrame in einen anderen umwandelt (z. B. Text in numerische Vektoren). Ein Estimator ist ein Algorithmus, der an einen DataFrame angepasst werden kann, um einen Transformer zu erzeugen (z. B. durch Anpassen eines logistischen Regressionsalgorithmus an Trainingsdaten, um ein trainiertes Modell zu erzeugen).

Wenn Sie sich auf eine Spark ML-Pipeline verlassen, stellen Sie sicher, dass Ihre Datenvorbereitungslogik strikt mit Ihrem Modell gekoppelt ist. So wird sichergestellt, dass Test- oder Inferenzdaten genauso verarbeitet werden wie Ihre Trainingsdaten.

Mit Google Cloud ML-Laufzeiten im Managed Service for Apache Spark wird die Abhängigkeitsverwaltung ausgelagert. Die benutzerdefinierten Ubuntu-basierten Images werden von Google kontinuierlich aktualisiert und sind mit korrekten, nativ kompatiblen Versionen von NVIDIA-Treibern, CUDA-Toolkits und verteilten ML-Frameworks vorkonfiguriert.

Komponenten von Spark MLlib und Google Cloud-Datentools

Die Bausteine von Spark MLlib und Google Cloud-Datentools zu verstehen, ist für die Ausführung von verteiltem ML in großem Maßstab unerlässlich.

Komponente

Beschreibung

Primärer Anwendungsfall


Kosten

Spark MLlib

Die skalierbare Machine-Learning-Bibliothek von Apache Spark enthält gängige Lernalgorithmen, Featurisierungstools und Pipeline-Dienstprogramme.

Ausführung von ML-Modelltraining in großem Maßstab über einen verteilten Cluster, ohne sich auf Bibliotheken mit einem einzelnen Knoten zu verlassen.


Kosten entstehen durch die zugrunde liegenden Google Cloud-Dienste, die zum Ausführen von Apache Spark verwendet werden, hauptsächlich Managed Service for Apache Spark. Die Preise hängen von den bereitgestellten Compute Engine-Ressourcen (vCPUs, Arbeitsspeicher, GPUs, Laufwerk) und der Dauer des Jobs ab.


*Siehe Preise für Managed Service for Apache Spark.

Vektor-Assembler

Ein zentraler Feature-Transformer in Spark MLlib, der mehrere Spalten (kontinuierliche Zahlen, One-Hot-codierte Kategorien usw.) in einer einzigen Vektorspalte zusammenführt.

Vorbereitung von tabellarischen Rohdaten in das spezifisch dichte oder dünnbesetzte Vektorformat, das von den Machine-Learning-Algorithmen von Spark MLlib erwartet wird.

Als Komponente in Spark MLlib trägt die Ausführung zu den gesamten Rechenkosten für die Ausführung Ihrer Spark-Arbeitslasten in Managed Service for Apache Spark bei.

Spark ML-Pipeline

Eine übergeordnete API, die auf DataFrames aufbaut und Nutzern hilft, mehrere Feature-Engineering-Schritte und Modelle miteinander zu verketten.

Transformatoren und Schätzer in einer einheitlichen Pipeline gruppieren, um eine identische Datenverarbeitung während des Trainings und der Inferenz zu gewährleisten.

Ähnlich wie bei anderen Spark MLlib-Komponenten sind die Kosten Teil der Ausführungsgebühren für Managed Service for Apache Spark.

BigQuery ML


Ein Dienst, mit dem Sie mithilfe von Standard-SQL-Abfragen Modelle für maschinelles Lernen in BigQuery erstellen und ausführen können.

Trainieren Sie Modelle direkt dort, wo sich Ihre Daten befinden, bevor Sie hochkomplexe, iterative verteilte Jobs nach Spark verschieben.


BigQuery ML hat ein eigenes Preismodell. Folgendes wird Ihnen in Rechnung gestellt:

  1. Modelltraining (basierend auf Daten, die während CREATE MODEL-Abfragen verarbeitet wurden),
  2. Modellvorhersage (Standardpreise für BigQuery-Abfragen)
  3. Modellspeicher (wird zu den standardmäßigen BigQuery-Speicherpreisen abgerechnet).

Komponente

Beschreibung

Primärer Anwendungsfall


Kosten

Spark MLlib

Die skalierbare Machine-Learning-Bibliothek von Apache Spark enthält gängige Lernalgorithmen, Featurisierungstools und Pipeline-Dienstprogramme.

Ausführung von ML-Modelltraining in großem Maßstab über einen verteilten Cluster, ohne sich auf Bibliotheken mit einem einzelnen Knoten zu verlassen.


Kosten entstehen durch die zugrunde liegenden Google Cloud-Dienste, die zum Ausführen von Apache Spark verwendet werden, hauptsächlich Managed Service for Apache Spark. Die Preise hängen von den bereitgestellten Compute Engine-Ressourcen (vCPUs, Arbeitsspeicher, GPUs, Laufwerk) und der Dauer des Jobs ab.


*Siehe Preise für Managed Service for Apache Spark.

Vektor-Assembler

Ein zentraler Feature-Transformer in Spark MLlib, der mehrere Spalten (kontinuierliche Zahlen, One-Hot-codierte Kategorien usw.) in einer einzigen Vektorspalte zusammenführt.

Vorbereitung von tabellarischen Rohdaten in das spezifisch dichte oder dünnbesetzte Vektorformat, das von den Machine-Learning-Algorithmen von Spark MLlib erwartet wird.

Als Komponente in Spark MLlib trägt die Ausführung zu den gesamten Rechenkosten für die Ausführung Ihrer Spark-Arbeitslasten in Managed Service for Apache Spark bei.

Spark ML-Pipeline

Eine übergeordnete API, die auf DataFrames aufbaut und Nutzern hilft, mehrere Feature-Engineering-Schritte und Modelle miteinander zu verketten.

Transformatoren und Schätzer in einer einheitlichen Pipeline gruppieren, um eine identische Datenverarbeitung während des Trainings und der Inferenz zu gewährleisten.

Ähnlich wie bei anderen Spark MLlib-Komponenten sind die Kosten Teil der Ausführungsgebühren für Managed Service for Apache Spark.

BigQuery ML


Ein Dienst, mit dem Sie mithilfe von Standard-SQL-Abfragen Modelle für maschinelles Lernen in BigQuery erstellen und ausführen können.

Trainieren Sie Modelle direkt dort, wo sich Ihre Daten befinden, bevor Sie hochkomplexe, iterative verteilte Jobs nach Spark verschieben.


BigQuery ML hat ein eigenes Preismodell. Folgendes wird Ihnen in Rechnung gestellt:

  1. Modelltraining (basierend auf Daten, die während CREATE MODEL-Abfragen verarbeitet wurden),
  2. Modellvorhersage (Standardpreise für BigQuery-Abfragen)
  3. Modellspeicher (wird zu den standardmäßigen BigQuery-Speicherpreisen abgerechnet).

Funktionsweise

Der Managed Service for Apache Spark von Google Cloud abstrahiert die Komplexität der Infrastruktur, sodass Sie Ihre Spark ML-Pipeline für das Training großer Modelle entweder in serverlosen Umgebungen oder in anpassbaren verwalteten Clustern ausführen können.


Um schwierige Spark-GPU-Abhängigkeiten zu beseitigen, nutzt der Dienst vorkonfigurierte ML-Laufzeiten, die vollständig mit nativ kompatiblen NVIDIA-Treibern, CUDA-Toolkits und verteilten Frameworks ausgestattet sind. So können Sie hardwarebeschleunigte Arbeitslasten ohne Einrichtung bereitstellen.

Weitere Informationen zu Machine Learning mit Spark

Gängige Anwendungsfälle

Einen robusten Feature-Engineering-Workflow erstellen

Sie erfahren, wie Sie Transformer zum Extrahieren und Skalieren von Daten und Estimators zum Trainieren von Algorithmen verwenden.

Anleitungen

  • Spark ML-Pipeline erstellen: Allgemeine Informationen zur Verwendung von Spark in Google Cloud finden Sie in der Dokumentation zu Managed Service for Apache Spark.
  • Pipeline-Estimators in PySpark: Sehen Sie sich die Python API-Beispiele in der Dokumentation zu Managed Service for Apache Spark an. Diese Beispiele enthalten Muster für die Verwendung von Spark MLlib-Komponenten. Beispiele für Spark ML finden Sie auch in Anleitungen wie der Dokumentation zum Anhängen von GPUs an Cluster.

Zusätzliche Ressourcen

ML-Laufzeiten ohne Einrichtung bereitstellen

Starten Sie GPU-beschleunigte Spark-Cluster, ohne die zugrunde liegende Infrastruktur verwalten zu müssen. Die ML-Laufzeiten von Google Cloud sind vorkonfiguriert, sodass Sie komplexe Spark-GPU-Abhängigkeiten umgehen können.

Anleitungen

  • Übersicht über Managed Service for Apache Spark ML-Laufzeiten: Weitere Informationen zu Managed Service for Apache Spark-Laufzeit-Image-Versionen, die vorinstallierte Bibliotheken wie TensorFlow, PyTorch und XGBoost sowie GPU-spezifische Bibliotheken enthalten.


Zusätzliche Ressourcen

  • Verteiltes Deep Learning in Google Cloud: Eine umfassendere architektonische Perspektive zur Skalierung von ML finden Sie in den Best Practices für die Implementierung von Dokumentation zum maschinellen Lernen. Dieses Dokument enthält Empfehlungen für die Entwicklung benutzerdefiniert trainierter Modelle, einschließlich verteiltem Training und Beschleunigernutzung in Google Cloud, integriert in die Gemini Enterprise Agent Platform Model Registry.

Gleich loslegen

Profitieren Sie von einem Guthaben über 300 $, um Google Cloud und mehr als 20 „Immer kostenlos“ Produkte kennenzulernen.

Google Cloud