Effectuer l’apprentissage de modèles Machine Learning
Apache Spark dans Azure Synapse Analytics permet l’apprentissage automatique avec le Big Data, en offrant la possibilité d’extraire de précieuses informations de grandes quantités de données structurées, non structurées et à déplacement rapide. Il existe plusieurs options pour effectuer l’apprentissage de modèles Machine Learning à l’aide d’Azure Spark dans Azure Synapse Analytics : Apache Spark MLlib, Azure Machine Learning et diverses autres bibliothèques open source.
Apache SparkML et MLlib
Apache Spark dans Azure Synapse Analytics est l’une des implémentations par Microsoft d’Apache Spark dans le cloud. Il fournit une infrastructure de traitement de données parallèle, open source et unifiée qui prend en charge le traitement en mémoire pour améliorer l’analytique du Big Data. Le moteur de traitement Spark est élaboré pour permettre des analyses rapides, simples d’utilisation et sophistiquées. De par ses capacités de calcul distribué en mémoire, Spark constitue le choix idéal pour les algorithmes itératifs utilisés dans l’apprentissage automatique et les calculs de graphiques.
Il existe deux bibliothèques Machine Learning évolutives, qui offrent des fonctionnalités de modélisation d’algorithme à cet environnement distribué : MLlib et SparkML. MLib contient l’API d’origine qui vient au-dessus des RDD. SparkML est un package plus récent qui fournit une API de niveau supérieur reposant sur des trames de données pour construire des pipelines ML. SparkML ne prend pas en charge toutes les fonctionnalités de MLlib, mais remplace MLlib en tant que bibliothèque de Machine Learning standard de Spark.
Notes
Vous pouvez en savoir plus sur la création d’un modèle SparkML en suivant ce tutoriel.
Bibliothèques populaires
Chaque pool Apache Spark dans Azure Synapse Analytics est fourni avec un ensemble de bibliothèques Machine Learning préchargées et populaires. Ces bibliothèques fournissent du code réutilisable que vous pouvez inclure dans vos programmes ou projets. Parmi les bibliothèques de Machine Learning pertinentes qui sont incluses par défaut, citons :
Scikit-learn est l’une des bibliothèques les plus populaires de Machine Learning à nœud unique pour les algorithmes classiques de ML. Scikit-learn prend en charge la plupart des algorithmes d’apprentissage supervisés et non supervisés et peut également être utilisée pour l’exploration et l’analyse des données.
XGBoost est une bibliothèque populaire de Machine Learning qui contient des algorithmes optimisés pour la formation des arbres de décision et des forêts aléatoires.
PyTorch et Tensorflow sont des bibliothèques puissantes de Deep Learning en Python. Au sein d’un pool Apache Spark dans Azure Synapse Analytics, vous pouvez utiliser ces bibliothèques pour construire des modèles de machine unique en fixant à zéro le nombre d’Exécuteurs sur votre pool. Même si Apache Spark ne fonctionne pas dans le cadre de cette configuration, il s’agit d’un moyen simple et économique de créer des modèles à une seule machine.
Pour en savoir plus sur les bibliothèques disponibles et les versions associées, consultez le runtime Azure Synapse Analytics publié.
MMLSpark
La bibliothèque Microsoft Machine Learning pour Apache Spark est MMLSpark. Cette bibliothèque est conçue pour améliorer la productivité des scientifiques des données sur Spark, accroître le taux d’expérimentation et tirer parti des techniques de Machine Learning de pointe, notamment le Deep Learning, sur des jeux de données volumineux.
MMLSpark crée une couche au-dessus des API de bas niveau de SparkML lors de la création de modèles ML évolutifs (comme des chaînes d’indexation), lors du formatage de données dans une disposition compatibles avec les algorithmes de Machine Learning et lors de l’assemblage de vecteurs de caractéristiques. La bibliothque MMLSpark simplifie ces opérations ainsi que d’autres tâches courantes permettant de créer des modèles dans PySpark.
ML automatisé dans Azure Machine Learning (déconseillé)
Azure Machine Learning est un environnement informatique qui vous permet d’effectuer l’apprentissage, le déploiement, l’automatisation, la gestion et le suivi des modèles Machine Learning. Le ML automatisé proposé dans Azure Machine Learning prend des données d’apprentissage et des paramètres de configuration, et effectue automatiquement des itérations en combinant différentes méthodes de normalisation/standardisation des caractéristiques, différents modèles et différents hyperparamètres pour parvenir au meilleur modèle.
L’intégration profonde du ML automatisé dans Azure Synapse Analytics permet de simplifier l’authentification et l’entraînement des modèles.
Avertissement
- Depuis le 29 septembre 2023, Azure Synapse ne prend plus officiellement en charge les runtimes Spark 2.4. Depuis le 29 septembre 2023, nous ne traitons aucun ticket de support lié à Spark 2.4. Aucun pipeline de mise en production ne sera mis en place pour les correctifs de bogues ou de sécurité de Spark 2.4. Après la date de fin du support, vous devrez assumer les risques découlant de l’utilisation de Spark 2.4. Nous vous déconseillons fortement de continuer à l’utiliser en raison de problèmes potentiels de sécurité et de fonctionnalités.
- Dans le cadre du processus de dépréciation d’Apache Spark 2.4, nous souhaitons vous informer de ce qu’AutoML dans Azure Synapse Analytics va également être déconseillé. Cela comprend à la fois l’interface à code faible et les API utilisées pour créer des essais AutoML par du code.
- Remarquez que la fonctionnalité AutoML était exclusivement disponible au travers du runtime Spark 2.4.
- Pour les clients souhaitant continuer à tirer parti des fonctionnalités AutoML, nous vous recommandons d’enregistrer vos données dans votre compte Azure Data Lake Storage Gen2 (ADLSg2). À partir de là, vous pouvez accéder en toute transparence à l’expérience AutoML par Azure Machine Learning (AzureML). Des informations supplémentaires concernant cette solution de contournement sont disponibles ici.
Azure AI services
Azure AI services fournit des fonctionnalités de Machine Learning pour résoudre des problèmes généraux tels que l’analyse de texte pour inférer des sentiments, ou l’analyse d’images pour reconnaître des objets ou visages. Pour utiliser ces services, vous n’avez pas besoin de connaissances spéciales en matière de Machine Learning ou de science des données. Un service cognitif fournit tout ou partie des composants d’une solution de Machine Learning : données, algorithme et modèle formé. Ces services requièrent une connaissance générale de vos données mais ne nécessitent aucune expérience en Machine Learning ou en science des données. Vous pouvez exploiter ces services Azure AI services préformés automatiquement au sein d’Azure Synapse Analytics.
Étapes suivantes
Cet article fournit une vue d’ensemble des différentes options d’apprentissage des modèles Machine Learning dans les pools Apache Spark dans Azure Synapse Analytics. Vous pouvez en savoir plus sur la formation des modèles en suivant le tutoriel ci-dessous :
- Exécuter des expériences ML automatisées à l’aide d’Azure Machine Learning et Azure Synapse Analytics : Tutoriel ML automatisé
- Exécuter des expériences SparkML : Tutoriel Apache SparkML
- Afficher les bibliothèques par défaut : Runtime Azure Synapse Analytics