Créer un pipeline de machine learning Apache Spark

Accélérez votre parcours de machine learning distribué en créant un pipeline de ML Spark avec des environnements d'exécution sans configuration sur Google Cloud.

Qu'est-ce que le machine learning distribué ?

Le machine learning distribué permet aux data scientists et aux ingénieurs de ML d'entraîner des modèles de machine learning (ML) au-delà des limites de mémoire et de calcul d'une seule machine. En répartissant les partitions de données et en exécutant en parallèle les charges de travail sur un cluster de nœuds de calcul, vous pouvez entraîner des modèles complexes sur des ensembles de données volumineux beaucoup plus rapidement.

Pourquoi utiliser Apache Spark ?

Apache Spark est la norme du secteur pour le traitement distribué des données. Sa bibliothèque de machine learning native, MLlib, fournit des algorithmes distribués pour la classification, la régression, le clustering et le filtrage collaboratif, ce qui vous permet de passer de l'ingestion de données au déploiement de modèles dans un environnement unique et unifié.

Qu'est-ce qu'un pipeline de ML Spark ?

Un pipeline de ML Spark est une API de haut niveau conçue pour vous aider à combiner plusieurs workflows de machine learning dans un pipeline cohérent. Il vous permet d'enchaîner différentes transformations de données (comme l'extraction de caractéristiques et la mise à l'échelle) et des algorithmes de machine learning (comme l'entraînement de modèle) dans un workflow structuré et déclaratif.


En utilisant un pipeline, vous vous assurez que la même séquence d'étapes de prétraitement des données est appliquée de manière cohérente lors de l'entraînement et de la prédiction du modèle, ce qui est essentiel pour éviter les fuites de données et garantir des résultats reproductibles. Les principaux composants d'un pipeline de ML Spark sont les transformers et les estimateurs.

Pourquoi choisir Google Cloud pour votre parcours de ML Spark ?

Le scaling des charges de travail de ML pour appliquer l'accélération matérielle se heurte souvent à la complexité de la gestion des dépendances GPU Spark. Le provisionnement d'instances de VM, l'installation des pilotes NVIDIA appropriés et la vérification de la correspondance des versions CUDA et cuDNN avec vos bibliothèques PyTorch ou TensorFlow peuvent interrompre la productivité des développeurs pendant plusieurs jours.


Google Cloud résout ce problème avec Managed Service pour Apache Spark, qui propose des environnements d'exécution de machine learning prédéfinis. Basés sur des images Ubuntu stables (à partir de la version 2.3), ces environnements d'exécution sont préinstallés et préconfigurés avec les pilotes de GPU (CUDA, cuDNN, NCCL) et les frameworks de ML standards (PyTorch, XGBoost, tokenizers et transformers) dont vos charges de travail ont précisément besoin. Cet environnement sans configuration permet à votre équipe de se concentrer sur l'écriture de code plutôt que sur la configuration de l'infrastructure.

Questions fréquentes

Dans Spark MLlib, un transformer est un algorithme qui transforme un DataFrame en un autre (par exemple, en convertissant du texte en vecteurs numériques). Un estimateur est un algorithme qui peut être ajusté sur un DataFrame pour produire un transformer (par exemple, ajuster un algorithme de régression logistique sur des données d'entraînement pour produire un modèle entraîné).

En vous appuyant sur un pipeline de ML Spark, vous vous assurez que votre logique de préparation des données est strictement couplée à votre modèle. Cela garantit que les données de test ou d'inférence sont traitées de la même manière que vos données d'entraînement.

Avec les environnements d'exécution de ML Google Cloud sur Managed Service pour Apache Spark, la gestion des dépendances est allégée. Les images personnalisées basées sur Ubuntu sont continuellement mises à jour par Google et sont pré-empaquetées avec les versions correctes et compatibles de manière native des pilotes NVIDIA, des kits d'outils CUDA et des frameworks de ML distribués.

Composants de Spark MLlib et outils de données Google Cloud

Il est essentiel de connaître les composants de base de Spark MLlib et les outils de données Google Cloud pour exécuter le ML distribué à grande échelle.

Composant

Description

Cas d'utilisation principal


Remarques sur les tarifs

Spark MLlib

Bibliothèque de machine learning évolutive d'Apache Spark contenant des algorithmes d'apprentissage courants, des outils de caractérisation et des utilitaires de pipeline.

Exécuter l'entraînement de modèles de ML à grande échelle sur un cluster distribué sans s'appuyer sur des bibliothèques à nœud unique.


Des coûts sont facturés pour les services Google Cloud sous-jacents utilisés pour exécuter Apache Spark, principalement Managed Service pour Apache Spark. La tarification dépend des ressources Compute Engine (vCPU, mémoire, GPU, disque) provisionnées et de la durée d'exécution du job.


*Consultez les tarifs de Managed Service pour Apache Spark.

Assembleur de vecteurs

Transformer de caractéristiques essentiel dans Spark MLlib qui fusionne plusieurs colonnes (nombres continus, catégories encodées en one-hot, etc.) en une seule colonne de vecteurs.

Préparer des données tabulaires brutes au format de vecteur dense ou creux spécifique attendu par les algorithmes de machine learning Spark MLlib.

En tant que composant de Spark MLlib, son exécution contribue aux coûts de calcul globaux de l'exécution de vos charges de travail Spark sur Managed Service pour Apache Spark.

Pipeline de ML Spark

Une API de haut niveau basée sur les DataFrames qui aide les utilisateurs à enchaîner plusieurs étapes d'ingénierie des caractéristiques et plusieurs modèles.

Regrouper les transformers et les estimateurs dans un pipeline unifié permet de garantir un traitement des données identique lors de l'entraînement et de l'inférence.

Comme pour les autres composants Spark MLlib, les coûts font partie des frais d'exécution de Managed Service pour Apache Spark.

BigQuery ML


Un service qui vous permet de créer et d'exécuter des modèles de machine learning dans BigQuery à l'aide de requêtes SQL standards.

Entraîner les modèles directement là où se trouvent vos données avant de déplacer les jobs distribués itératifs très complexes vers Spark.


BigQuery ML dispose de son propre modèle de tarification. Vous êtes facturé(e) pour :

  1. l'entraînement de modèle (basé sur les données traitées lors des requêtes CREATE MODEL) ;
  2. la prédiction de modèle (tarification standard des requêtes BigQuery) ;
  3. le stockage du modèle (facturé aux tarifs de stockage BigQuery standards).

Composant

Description

Cas d'utilisation principal


Remarques sur les tarifs

Spark MLlib

Bibliothèque de machine learning évolutive d'Apache Spark contenant des algorithmes d'apprentissage courants, des outils de caractérisation et des utilitaires de pipeline.

Exécuter l'entraînement de modèles de ML à grande échelle sur un cluster distribué sans s'appuyer sur des bibliothèques à nœud unique.


Des coûts sont facturés pour les services Google Cloud sous-jacents utilisés pour exécuter Apache Spark, principalement Managed Service pour Apache Spark. La tarification dépend des ressources Compute Engine (vCPU, mémoire, GPU, disque) provisionnées et de la durée d'exécution du job.


*Consultez les tarifs de Managed Service pour Apache Spark.

Assembleur de vecteurs

Transformer de caractéristiques essentiel dans Spark MLlib qui fusionne plusieurs colonnes (nombres continus, catégories encodées en one-hot, etc.) en une seule colonne de vecteurs.

Préparer des données tabulaires brutes au format de vecteur dense ou creux spécifique attendu par les algorithmes de machine learning Spark MLlib.

En tant que composant de Spark MLlib, son exécution contribue aux coûts de calcul globaux de l'exécution de vos charges de travail Spark sur Managed Service pour Apache Spark.

Pipeline de ML Spark

Une API de haut niveau basée sur les DataFrames qui aide les utilisateurs à enchaîner plusieurs étapes d'ingénierie des caractéristiques et plusieurs modèles.

Regrouper les transformers et les estimateurs dans un pipeline unifié permet de garantir un traitement des données identique lors de l'entraînement et de l'inférence.

Comme pour les autres composants Spark MLlib, les coûts font partie des frais d'exécution de Managed Service pour Apache Spark.

BigQuery ML


Un service qui vous permet de créer et d'exécuter des modèles de machine learning dans BigQuery à l'aide de requêtes SQL standards.

Entraîner les modèles directement là où se trouvent vos données avant de déplacer les jobs distribués itératifs très complexes vers Spark.


BigQuery ML dispose de son propre modèle de tarification. Vous êtes facturé(e) pour :

  1. l'entraînement de modèle (basé sur les données traitées lors des requêtes CREATE MODEL) ;
  2. la prédiction de modèle (tarification standard des requêtes BigQuery) ;
  3. le stockage du modèle (facturé aux tarifs de stockage BigQuery standards).

Fonctionnement

Managed Service pour Apache Spark de Google Cloud élimine la complexité liée à l'infrastructure, ce qui vous permet d'exécuter votre pipeline de ML Spark pour l'entraînement de modèles à grande échelle à l'aide d'environnements sans serveur ou de clusters gérés personnalisables.


Pour éliminer les dépendances de GPU Spark complexes, le service utilise des environnements d'exécution de ML prédéfinis, entièrement équipés de pilotes NVIDIA, de kits d'outils CUDA et de frameworks distribués compatibles de manière native. Vous pouvez ainsi déployer des charges de travail accélérées par le matériel sans aucune configuration.

En savoir plus sur le machine learning avec Spark

Cas d'utilisation courants

Créer un workflow d'ingénierie des caractéristiques résilient

Découvrez comment utiliser des outils de transformation pour extraire et mettre à l'échelle des données, et des outils d'estimation pour entraîner des algorithmes.

Guides d'utilisation

  • Créer un pipeline de ML Spark : pour obtenir des conseils généraux sur l'utilisation de Spark sur Google Cloud, consultez la documentation de Managed Service pour Apache Spark.
  • Outils d'estimation de pipeline dans PySpark : consultez les exemples d'API Python fournis dans la documentation de Managed Service pour Apache Spark. Ces exemples incluent des modèles d'utilisation des composants Spark MLlib. Vous trouverez également des exemples de ML Spark référencés dans des guides tels que la documentation sur l'association de GPU à des clusters.

Autres ressources

Déployez des environnements d'exécution de ML sans configuration

Lancez des clusters Spark accélérés par GPU sans gérer l'infrastructure sous-jacente. Les environnements d'exécution de ML de Google Cloud sont préconfigurés pour vous permettre de contourner les dépendances complexes des GPU Spark.

Guides d'utilisation

  • Présentation des environnements d'exécution de ML de Managed Service pour Apache Spark : découvrez les versions d'image d'exécution de Managed Service pour Apache Spark, qui détaillent les bibliothèques préinstallées, y compris TensorFlow, PyTorch et XGBoost, ainsi que les bibliothèques spécifiques aux GPU.


Autres ressources

  • Deep learning distribué sur Google Cloud : pour une perspective architecturale plus large sur le scaling du ML, consultez la documentation sur les bonnes pratiques d'implémentation du machine learning. Ce document fournit des recommandations pour développer des modèles entraînés sur mesure, y compris l'entraînement distribué et l'utilisation d'accélérateurs sur Google Cloud, intégrés à Gemini Enterprise Agent Platform Model Registry.

Commencer votre démonstration de faisabilité

Passez à l'étape suivante

Profitez de 300 $ de crédits gratuits et de plus de 20 produits Always Free pour commencer à créer des applications sur Google Cloud.

  • Produits Google Cloud
  • Parcourez plus de 100 produits. Les nouveaux clients bénéficient de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail. Tous les clients peuvent utiliser plus de 25 produits gratuitement, dans les limites mensuelles spécifiées.
Google Cloud