Comment faire du Deep Learning dans le Cloud ?

L’apprentissage en profondeur est au centre de la plupart des initiatives d’intelligence artificielle. Il est basé sur le concept d’un réseau neuronal profond, qui transmet les entrées à travers plusieurs couches de connexions. Les réseaux de neurones peuvent effectuer de nombreuses tâches cognitives complexes, améliorant considérablement les performances par rapport aux algorithmes d’apprentissage automatique classiques. Cependant, ils nécessitent souvent d’énormes volumes de données pour s’entraîner et peuvent être très gourmands en calculs.

Les services de cloud computing contribuent à rendre l’apprentissage en profondeur plus accessible, ce qui facilite la gestion de grands ensembles de données et la formation d’algorithmes sur du matériel distribué.

Les services cloud sont un catalyseur pour l’apprentissage en profondeur à quatre égards :

  • Fournissez un accès à une capacité de calcul à grande échelle à la demande, ce qui permet de répartir la formation de modèles sur plusieurs machines.
  • Donnez accès à des configurations matérielles spéciales, notamment des GPU, des FPGA et des systèmes de calcul haute performance (HPC) massivement parallèles.
  • Ne nécessite pas d’investissement initial : vous pouvez obtenir du matériel avancé ou de grandes quantités de matériel sans avoir à l’acheter. Ne payez que pour le temps que vous utilisez.
  • Aide à la gestion des flux de travail d’apprentissage en profondeur : les services cloud fournissent des fonctionnalités avancées pour gérer les ensembles de données et les algorithmes, former des modèles et les déployer efficacement en production.

Passons brièvement en revue les offres d’apprentissage en profondeur des principaux fournisseurs de cloud : Amazon, Google Cloud et Microsoft Azure.

IaaS contre PaaS

Dans chacun de ces clouds, il est possible d’exécuter des charges de travail d’apprentissage en profondeur dans un modèle « faites-le vous-même ». Cela implique de sélectionner des images de machine préinstallées avec une infrastructure d’apprentissage en profondeur et de les exécuter dans un modèle IaaS, par exemple en tant qu’instances Amazon EC2 ou VM Google Compute Engine.

Tous les fournisseurs de cloud que nous examinons ci-dessous proposent des instances de calcul adaptées aux modèles d’apprentissage en profondeur, qui fournissent du matériel spécialisé tel que des unités de traitement graphique (GPU), des réseaux de portes programmables sur le terrain (FPGA) et des unités de traitement TensorFlow (TPU). Pour en savoir plus sur les options de calcul proposées par chaque fournisseur de cloud, consultez nos articles sur :

  • TPU Google
  • GPU AWS
  • GPU Azure

Ci-dessous, nous nous concentrons sur la plate-forme en tant que service (PaaS) offrant chaque cloud aux utilisateurs d’apprentissage en profondeur. Ces offres PaaS fournissent le matériel nécessaire aux charges de travail d’apprentissage en profondeur, ainsi que des services logiciels pour la gestion des pipelines d’apprentissage en profondeur, de l’ingestion de données au déploiement en production et à l’inférence dans le monde réel.

Deep Learning sur AWS avec SageMaker

Amazon Web Services fournit le service SageMaker, qui vous permet de créer et de gérer des modèles d’apprentissage automatique sur le cloud, en mettant l’accent sur l’apprentissage en profondeur.

  • Les services SageMaker incluent :
  • Ground Truth : vous permet de créer et de gérer des ensembles de données d’entraînement
  • Studio : environnement de développement basé sur le cloud pour les modèles d’apprentissage automatique
  • Pilote automatique : crée et forme des modèles automatiquement
  • Réglage—permet de régler les hyperparamètres d’un modèle
  • Prend en charge les blocs-notes Jupyter— permettant aux utilisateurs de partager et de collaborer sur leurs propres modèles et code.
  • Marché AWS— fournit des algorithmes et des modèles prédéfinis créés par des tiers, qui peuvent être achetés sur une base de paiement à l’utilisation.
  • Prise en charge du cadre— prend en charge tous les frameworks d’apprentissage en profondeur populaires, notamment TensorFlow, PyTorch, MXNet, Keras, Gluon, Scikit-learn, Horovod et Deep Graph Library.

Services d’apprentissage automatique Google Cloud

L’ensemble de services de machine learning de Google, appelés ensemble Cloud AI, comprend des services à usage général et dédiés pour des cas d’utilisation spécifiques :

  • Suite cloud AutoML— vous permet de créer, d’entraîner et de déployer des modèles en production à l’aide d’une infrastructure cloud
  • Centre d’IA— fournit un référentiel de composants et d’algorithmes pouvant être utilisés pour créer des modèles. Contrairement au modèle AWS, AI Hub se concentre sur le partage gratuit des connaissances, et non sur les offres commerciales de composants d’IA.
  • Service d’étiquetage des données— vous permet de préparer et d’identifier les données pour les modèles d’apprentissage automatique.
  • IA visuelle et IA vidéo— il s’agit de deux services spécialement conçus qui fournissent des pipelines d’apprentissage en profondeur préconfigurés pour le traitement des données d’image et de vidéo.

Apprentissage automatique Microsoft Azure

Azure Machine Learning est un environnement complet pour la formation, le déploiement et la gestion des modèles d’apprentissage automatique.

Principales fonctionnalités d’Azure Machine Learning :

  • Concepteur de modèles par glisser-déposer– utilisé pour créer des modèles d’apprentissage automatique sans code. Le concepteur prend en charge plusieurs architectures de réseau neuronal, notamment la classification à deux classes, la classification multiclasse, la régression de réseau neuronal, DenseNet et ResNet.
  • MLOps— prend en charge une méthode de style DevOps pour créer et gérer des pipelines et des workflows d’apprentissage automatique.
  • Sécurité et gouvernance– intégré au service, vous permettant de vérifier la conformité des processus d’apprentissage automatique et d’effectuer la gestion de l’identité et de la confidentialité conformément aux politiques de gouvernance de votre organisation.
  • Prise en charge des cadres— prend en charge PyTorch, TensorFlow, Keras, MXNet, scikit-learn et Chainer.

Comment choisir une plateforme Cloud Deep Learning ?

Voici quelques considérations clés lors de la sélection de votre service d’apprentissage en profondeur basé sur le cloud.

Préparation des données

La préparation des données peut être l’une des parties les plus lourdes et les plus sensibles d’un projet d’apprentissage en profondeur. Il existe deux manières courantes de préparer de gros volumes de données pour l’analyse, qui sont également utilisées pour créer des ensembles de données d’apprentissage en profondeur à partir de données brutes :

  • Exporter, transformer, charger (ETL)— transforme les données au fur et à mesure qu’elles sont extraites de la source et crée un ensemble de données prêt à l’emploi qui peut être utilisé à des fins d’analyse.
  • Exporter, charger, transformer (ELT)—offre une plus grande flexibilité, vous permet de stocker des données brutes dans un lac de données, puis de les transformer au format requis à la demande.

Vérifiez quels services de données sont fournis par votre fournisseur de cloud et s’ils prennent en charge ETL, ELT ou les deux. Découvrez quels services de stockage de données, de base de données ou d’entrepôt de données vous utiliserez et comment ils peuvent faciliter la préparation des données.

Formation à la mise à l’échelle et à l’échelle

Les scientifiques des données commencent généralement par développer un modèle sur un ordinateur portable local, mais il n’est pas possible de former la plupart des modèles d’apprentissage en profondeur sur un poste de travail local. Une capacité clé d’un service d’apprentissage en profondeur dans le cloud est la capacité à s’intégrer aux blocs-notes et à transférer les tâches de formation de manière transparente vers des instances de calcul basées sur le cloud.

Évaluez le processus et la facilité avec laquelle il est possible d’exécuter des tâches de formation sur du matériel tel que des GPU, des TPU et des FPGA, gérez ces tâches au sein des équipes de science des données, visualisez et interprétez leurs résultats.

Prise en charge des cadres d’apprentissage en profondeur

Chaque service de machine learning dans le cloud prend en charge différents frameworks. Vous pouvez généralement obtenir la prise en charge de framework la plus large dans un modèle IaaS, lors du déploiement de l’apprentissage en profondeur directement sur des instances de calcul. Cependant, si vous utilisez une plate-forme ML Ops complète, vous serez limité aux frameworks qu’elle prend en charge.

Recherchez la prise en charge des frameworks suivants, que votre équipe de science des données peut avoir besoin d’utiliser maintenant ou à l’avenir :

  • Cadres d’apprentissage en profondeur—TensorFlow, PyTorch, Keras, MXNet, bibliothèque Deep Java
  • Apprentissage automatique classique—Scikit-learn, R, Spark MLlib, H2O.ai, Java-ML
  • Planification et distribution des travaux—Horovod, Kubernetes, Slurm, LSF

Évaluez également la possibilité d’intégrer votre propre code et vos propres algorithmes à la bibliothèque d’algorithmes intégrés de la plateforme. Cela peut améliorer la productivité, car vous pouvez vous appuyer sur des blocs de construction existants et ne développer que des aspects uniques de votre modèle.

Services d’IA préréglés

La plupart des plates-formes cloud fournissent des services d’IA pré-formés et pré-optimisés pour de nombreuses applications, notamment :

  • Classement des images
  • Reconnaissance d’objets
  • Extraction de données vidéo
  • La traduction de la langue
  • Synthèse de discours
  • Moteurs de recommandation

L’avantage de ces types de services est qu’ils ont été formés sur des volumes de données massifs qui ne sont pas disponibles pour les entreprises individuelles. Ils peuvent fournir une très grande précision pour les cas d’utilisation généraux et fournir d’excellentes performances et une faible latence en production. Mieux encore, ils sont prêts à l’emploi dès la sortie de la boîte.

Surveiller les performances de prédiction

Le déploiement d’un modèle n’est que le début, et non le point final, de votre parcours d’IA. Les changements de données et les besoins des utilisateurs changent, et il est essentiel de surveiller les performances d’un modèle au fil du temps, de l’ajuster, de l’augmenter et, si nécessaire, de le remplacer. Évaluez les outils fournis par un service cloud pour surveiller les performances du modèle lorsqu’il est déjà en production, et la facilité avec laquelle il est possible de publier des mises à jour et des améliorations des modèles d’apprentissage profond en direct.

Deep Learning dans le Cloud avec l’innovation MLOps

Certaines solutions MLOps innovantes automatisent la gestion et l’orchestration des ressources pour l’infrastructure d’apprentissage automatique. Vous pouvez exécuter automatiquement autant d’expériences intensives en calcul que nécessaire.

Par exemple, AI Orchestration Platform pour les ordinateurs basés sur GPU exécutant des charges de travail AI/ML fournit :

  • File d’attente avancée et programmation équitable pour permettre aux utilisateurs de facilement et automatiquement partager des clusters de GPUs,
  • Entraînement distribué sur plusieurs nœuds GPU pour accélérer les temps de formation des modèles,
  • GPU fractionnaires pour exécuter de manière transparente plusieurs charges de travail sur un seul GPU de tout type,
  • Visibilité dans les charges de travail et l’utilisation des ressources pour améliorer la productivité des utilisateurs.

Bien que cette solution ne soit pas destinée à réduire les coûts (car elle n’entraînera pas nécessairement une diminution du nombre de GPU sur site), elle permet d’utiliser la pleine capacité des GPU existants. Cela simplifie l’orchestration de l’infrastructure d’apprentissage automatique, aidant les data scientists à accélérer leur productivité et la qualité de leurs modèles.

Contactez GlobalDots aujourd’hui pour tirer le meilleur parti de vos ressources avec les dernières solutions MLOps d’aujourd’hui.

Publié à l’origine par nos amis de Run:AI

Similaire  5 raisons pour lesquelles vos efforts en matière d'expérience utilisateur ne suffisent pas...