Fonctionnalités de Machine Learning dans Azure Synapse Analytics

Azure Synapse Analytics propose plusieurs fonctionnalités de Machine Learning dans Azure Synapse Analytics. Cet article fournit une vue d’ensemble de la façon dont vous pouvez recourir au Machine Learning dans le contexte d’Azure Synapse.

Cette vue d’ensemble couvre les différentes fonctionnalités de Synapse relatives au Machine Learning, du point de vue du processus de science des données.

Vous connaissez peut-être le déroulement d’un processus typique de science des données. Il s’agit d’un processus bien connu que la plupart des projets de Machine Learning suivent.

À un niveau élevé, le processus reprend les étapes suivantes :

  • Présentation de l’entreprise (non abordée dans cet article)
  • Acquisition de données et compréhension
  • Modélisation
  • Déploiement et notation du modèle

Cet article décrit les fonctionnalités d’Azure Synapse Machine Learning dans différents moteurs d’analyse, dans la perspective du processus de science des données. Pour chaque étape du processus de science des données, les fonctionnalités Azure Synapse susceptibles de vous aider sont récapitulées.

Acquisition de données et compréhension

La plupart des projets de Machine Learning impliquent des étapes bien établies, et l’une de celles-ci consiste à accéder aux données et à les comprendre.

Sources de données et pipelines

Grâce à Azure Data Factory, une partie intégrée nativement d’Azure Synapse, un ensemble efficace d’outils est disponible pour l’ingestion de données et les pipelines d’orchestration de données. Cela vous permet de créer facilement des pipelines de données pour accéder aux données et les convertir dans un format qui peut être utilisé pour le Machine Learning. En savoir plus sur les pipelines de données dans Synapse.

Préparation et exploration/visualisation des données

Une partie importante du processus de Machine Learning consiste à comprendre les données grâce à l’exploration et à des visualisations.

Selon l’emplacement de stockage des données, Synapse offre un ensemble d’outils pour les explorer et les préparer pour l’analyse et le Machine Learning. L’une des méthodes les plus rapides pour prendre en main l’exploration des données consiste à utiliser des pools serverless SQL ou Apache Spark, directement sur les données dans le lac de données.

Modélisation

Dans Azure Synapse, l’apprentissage de modèles de Machine Learning peut être exécuté sur les pools Apache Spark avec des outils tels que PySpark/Python, Scala ou .NET.

Effectuer l’apprentissage de modèles sur des pools Spark avec MLlib

L’apprentissage des modèles Machine Learning peut être effectué avec différents algorithmes et bibliothèques. Spark MLlib offre des algorithmes Machine Learning évolutifs qui peuvent aider à résoudre la plupart des problèmes de Machine Learning classiques. Pour obtenir un tutoriel sur la façon d’entraîner un modèle avec MLlib dans Synapse, consultez Créer une application de Machine Learning avec Apache Spark MLlib et Azure Synapse Analytics.

En plus de MLlib, les bibliothèques populaires comme Scikit Learn peuvent également servir à développer des modèles. Pour plus d’informations sur l’installation des bibliothèques sur les pools Synapse Spark, consultez Gérer des bibliothèques pour Apache Spark dans Azure Synapse Analytics.

Entraînement des modèles avec ML automatisé d’Azure Machine Learning

Une autre façon d’effectuer l’apprentissage des modèles de Machine Learning, qui ne nécessite pas de connaissances préalables en Machine Learning, consiste à utiliser ML automatisé. ML automatisé est une fonctionnalité qui entraîne automatiquement un ensemble de modèles de Machine Learning et permet à l’utilisateur de sélectionner le modèle le plus approprié en fonction de métriques spécifiques. Grâce à une intégration fluide à Azure Machine Learning à partir d’Azure Synapse Notebooks, les utilisateurs peuvent facilement tirer parti du ML automatisé dans Synapse avec l’authentification directe Microsoft Entra. Cela signifie que vous devez uniquement pointer vers votre espace de travail Azure Machine Learning et que vous n’avez pas besoin d’entrer d’informations d’identification. Le tutoriel Entraîner un modèle dans Python avec le Machine Learning automatisé décrit comment entraîner des modèles avec le ML automatisé d’Azure Machine Learning sur des pools Synapse Spark.

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.

Déploiement et notation du modèle

Les modèles qui ont été formés soit dans Azure Synapse, soit en dehors d’Azure Synapse peuvent être facilement utilisés pour le scoring par lot. Actuellement, dans Synapse, vous pouvez exécuter le scoring par lot de deux manières.

  • Vous pouvez utiliser la fonction TSQL PREDICT dans des pools Synapse SQL pour exécuter vos prédictions directement là où résident vos données. Cette fonction puissante et évolutive vous permet d’enrichir vos données sans déplacer les données de votre entrepôt de données. Une nouvelle expérience guidée du modèle de Machine Learning dans Synapse Studio a été introduite dans laquelle vous pouvez déployer un modèle ONNX à partir du registre de modèle Azure Machine Learning dans des pools Synapse SQL pour le scoring par lot à l’aide de PREDICT.

  • Une autre option pour le scoring par lot des modèles de Machine Learning dans Azure Synapse consiste à tirer parti des pools Apache Spark pour Azure synapse. Selon les bibliothèques utilisées pour l’apprentissage des modèles, vous pouvez utiliser une expérience de code pour exécuter votre scoring par lot.

SynapseML

SynapseML (auparavant appelé MMLSpark), est une bibliothèque open source qui simplifie la création de pipelines Machine Learning (ML) massivement évolutifs. Il s’agit d’un écosystème d’outils utilisés pour étendre le framework Apache Spark dans plusieurs nouvelles directions. SynapseML réunit plusieurs infrastructures de Machine Learning existantes et de nouveaux algorithmes Microsoft pour former une API unique et évolutive utilisable en Python, R, Scala, .NET et Java. Pour en savoir plus, consultez les principales fonctionnalités de SynapseML.

Étapes suivantes