Effectuer l’apprentissage du modèle

Effectué

De nombreux services sont disponibles pour effectuer l'apprentissage des modèles Machine Learning. Le service que vous utilisez dépend de facteurs tels que :

  • Le type de modèle que vous devez entraîner,
  • Si vous avez besoin d’un contrôle total sur l’entraînement du modèle,
  • Combien de temps vous souhaitez investir dans l’entraînement du modèle,
  • Quels services sont déjà fournis dans votre organisation,
  • Quel langage de programmation vous préférez utiliser.

Dans Azure, plusieurs services sont disponibles pour la formation des modèles Machine Learning. Certains services couramment utilisés incluent :

Icon Description
Icône Azure Machine Learning. Azure Machine Learning vous offre différentes options pour effectuer l'apprentissage et gérer vos modèles Machine Learning. Vous pouvez choisir d’utiliser Studio pour une expérience basée sur l’interface utilisateur ou de gérer vos charges de travail Machine Learning avec le Kit de développement logiciel (SDK) Python ou l’interface CLI pour une expérience basée sur le code. En savoir plus sur Azure Machine Learning.
Icône d’Azure Databricks. Azure Databricks est une plateforme d’analytique des données que vous pouvez utiliser pour l’engineering données et la science des données. Azure Databricks utilise le calcul Spark distribué pour traiter efficacement vos données. Vous pouvez choisir d’effectuer l'apprentissage et de gérer des modèles avec Azure Databricks ou en intégrant Azure Databricks à d’autres services tels qu’Azure Machine Learning. En savoir plus sur Azure Databricks.
Icône de Microsoft Fabric. Microsoft Fabric est une plateforme d’analytique intégrée conçue pour rationaliser les flux de travail de données entre les analystes de données, les ingénieurs de données et les scientifiques de données. Avec Microsoft Fabric, vous pouvez préparer les données, entraîner un modèle, utiliser le modèle entraîné pour générer des prédictions et visualiser les données dans les rapports Power BI. Apprenez-en plus sur Microsoft Fabric, et plus précisément sur les fonctionnalités de science des données dans Microsoft Fabric.
Icône Azure AI Services. Azure AI Services est une collection de modèles Machine Learning prédéfinis que vous pouvez utiliser pour des tâches de Machine Learning courantes telles que la détection d’objets dans des images. Les modèles sont proposés sous forme d’interface de programmation d’application (API), ce qui vous permet d’intégrer facilement un modèle à votre application. Certains modèles peuvent être personnalisés avec vos propres données de formation, ce qui permet de gagner du temps et des ressources pour effectuer l'apprentissage d’un nouveau modèle à partir de zéro. En savoir plus sur Azure AI Services.

Comprendre la différence entre les services

Le choix du service à utiliser pour l’entraînement de vos modèles de Machine Learning peut s’avérer difficile. Souvent, plusieurs services correspondent à votre scénario. Voici quelques indications à prendre en compte :

  • Utilisez Azure AI Services chaque fois que l’un des modèles prédéfinis personnalisables répond à vos besoins, pour gagner du temps et réduire des efforts inutiles.
  • Utilisez Microsoft Fabric ou Azure Databricks si vous souhaitez conserver tous les projets liés aux données (analytique données, engineering données et science des données) au sein du même service.
  • Utilisez Microsoft Fabric ou Azure Databricks si vous avez besoin de capacités de calcul distribué pour travailler avec des jeux de données volumineux (les jeux de données sont considérés comme volumineux lorsque vous rencontrez des limites de capacité avec le calcul standard). Vous devez travailler avec PySpark pour utiliser le calcul distribué.
  • Utilisez Azure Machine Learning ou Azure Databricks lorsque vous souhaitez un contrôle total sur la formation et la gestion des modèles.
  • Utilisez Azure Machine Learning lorsque Python est votre langage de programmation préféré.
  • Utilisez Azure Machine Learning lorsque vous souhaitez une interface utilisateur intuitive pour gérer votre cycle de vie de Machine Learning.

Important

Il existe de nombreux facteurs qui peuvent influencer votre choix de service. En fin de compte, c’est à vous et à votre organisation de décider ce qui convient le mieux. Il s’agit simplement d’instructions pour vous aider à comprendre comment différencier les services.

Décider entre les options de calcul

Chaque fois que vous effectuez l'apprentissage d’un modèle, vous devez surveiller le temps nécessaire à l’apprentissage du modèle et la quantité de calcul utilisée pour exécuter votre code. En analysant l’utilisation du calcul, vous savez s’il faut mettre à l’échelle votre capacité de calcul vers le haut ou vers le bas.

Lorsque vous choisissez d’utiliser Azure au lieu d’entraîner un modèle sur un appareil local, vous avez accès à un calcul évolutif et économique.

Options de calcul À propos de l’installation
Unité centrale (UC) ou processeur graphique (GPU) Pour les jeux de données tabulaires plus réduits, une UC est suffisante et économique. Pour les données non structurées telles que des images ou du texte, les GPU sont plus puissantes et plus efficaces. Les GPU peuvent également être utilisées pour les jeux de données tabulaires plus volumineux si les capacités de calcul de l’UC s’avèrent insuffisantes.
Usage général ou optimisé pour la mémoire L’usage général est conseillé pour obtenir un ratio processeur/mémoire équilibré, ce qui est idéal pour les tests et le développement avec des jeux de données plus réduits. L’usage optimisé pour la mémoire est conseillé pour obtenir un ratio mémoire/processeur élevé. Idéal pour l’analytique en mémoire, lorsque vous avez des jeux de données plus volumineux ou lorsque vous travaillez dans des notebooks.
Spark Un cluster Spark est constitué d’un nœud de pilote et de nœuds Worker. Votre code communique initialement avec le nœud du pilote. Le travail est ensuite distribué entre les nœuds Worker. Lorsque vous utilisez un service qui distribue le travail, comme Azure Databricks, certaines parties de la charge de travail peuvent être exécutées en parallèle, ce qui réduit le temps de traitement.

Important

Pour optimiser l’utilisation d’un cluster Spark, votre code doit être écrit dans un langage compatible avec Spark comme Scala, SQL, RSpark ou PySpark afin de distribuer la charge de travail. Si vous écrivez en Python, vous utilisez uniquement le nœud de pilote et laissez les nœuds Worker inutilisés.

Déterminer quelles options de calcul conviennent le mieux à vos besoins se fait souvent par tâtonnements. Lors de l’exécution du code, vous devez surveiller l’utilisation de la capacité de calcul pour comprendre la quantité de ressources de calcul que vous utilisez. Si l’entraînement de votre modèle prend trop de temps, même avec la taille de calcul la plus importante, vous pouvez utiliser des GPU au lieu de processeurs. Vous pouvez également choisir de distribuer l’entraînement des modèles à l’aide du calcul Spark, ce qui vous oblige à réécrire vos scripts d’entraînement.