AWS SageMaker : Guide d’utilisation de la plateforme

-
5
 m de lecture
-

Amazon SageMaker est une plateforme cloud conçue par Amazon Web Services (AWS) particulièrement utile pour la Data Science. Découvrez ci-dessous plus de détails sur les fonctionnalités principales ainsi que l'utilisation des outils de la plateforme en allant du développement d’un modèle de Machine Learning jusqu’à son déploiement.

Introduction

Amazon SageMaker est une plateforme cloud basée sur le Machine Learning qui constitue un service de la plateforme cloud Amazon Web Services (AWS). AWS dispose de nombreux services sur internet et peut être utilisé pour gérer une application cloud.

SageMaker permet à un utilisateur de créer et de déployer des modèles de Machine Learning dans un environnement de production à une grande échelle. Ainsi, en utilisant cette plateforme, un data scientist peut accéder à des outils puissants pour résoudre des problèmes de classification, de régression, de clustering, etc. Sagemaker permet ainsi aux entreprises d’accélérer le processus de développement de leurs modèles à travers la réduction des coûts et l’amélioration de l’efficacité opérationnelle grâce à ses multiples fonctionnalités.

Les fonctionnalités principales de SageMaker

Tout d’abord, pour utiliser la plateforme SageMaker, l’utilisateur dispose de deux possibilités :

  • Utiliser une instance de notebook à travers l’environnement SageMaker Notebooks Instances pour exécuter des notebooks Jupyter. Cet environnement comprend des bibliothèques usuelles de Machine Learning et des frameworks.
  • Utiliser SageMaker Studio qui constitue un environnement de développement de Machine Learning intégré et basé sur le cloud permettant ainsi à un utilisateur de gérer l’ensemble du processus de développement d’un modèle à travers une interface utilisateur constituée de nombreux outils et de fonctionnalités avancées. Par exemple, SageMaker Studio est constitué entre autres de notebooks intégrés mais également d’outils pour gérer les données et les modèles (entraînement, déploiement et surveillance). SageMaker Studio offre donc une expérience plus complète pour le développement de Machine Learning que l’environnement SageMaker Notebook. Le choix revient donc à l’utilisateur et il doit être adapté au projet qu’il souhaite réaliser.

Une fois le projet créé, l’utilisateur dispose de multiples fonctionnalités variées avec l’outil Sagemaker pour développer son projet de Machine Learning. Ces fonctionnalités incluent par exemple :

  • La préparation des données.
  • L’entraînement des modèles à travers des algorithmes de Machine Learning préconstruits par AWS SageMaker ou bien l’utilisation des bibliothèques (libraries) usuelles comme Pytorch, TensorFlow et Scikit Learn.
  • Le déploiement des modèles.
  • Le monitoring des modèles grâce à l’étude des performances d’un modèle en temps réel à travers des analyses de performances et la détection d’anomalies.
  • La gestion des ressources.

Comment établir et déployer un modèle de Machine Learning avec SageMaker ?

Afin d’établir et mettre en production un modèle de Machine Learning en utilisant à son plein potentiel SageMaker, des étapes sont à réaliser dans un ordre précis comme cela est décrit ci-dessous : 

1. Préparation des données

La première étape consiste à préparer les données, elle peut être optimisée à partir de différents outils issus de la plateforme :

  • Sagemaker Clarify : Cet outil est capable de détecter les biais présents dans les données d’entraînement pour s’assurer que le modèle soit suffisamment précis. Il propose également des stratégies pour corriger ces biais. 
  • SageMaker Ground Truth : On utilise cette feature pour annoter des ensembles de données nécessaires à l’entraînement de modèles de Machine Learning. Cela permet ainsi de réduire les coûts liés à la labellisation des données.
  • SageMaker Data Wrangler : Cette fonctionnalité réalise un nettoyage, une normalisation et une transformation des données brutes en un ensemble de données utilisables pour l’entraînement d’un modèle. L’utilisateur dispose également d’une interface graphique pour faciliter la préparation des données.
  • ML géospatial : Cet outil permet l’analyse et le traitement de données géospatiales à une grande échelle.
  • Feature Store : Grâce à ce service, l’utilisateur peut stocker, partager et gérer les features utilisées dans ses modèles.

2. Entraînement du modèle

Concernant l’entraînement d’un modèle, l’utilisateur dispose de multiples outils grâce à la plateforme comme : 

  • SageMaker Autopilot : Cet outil permet de faire du développement de Machine Learning de façon automatisée. Il permet à un utilisateur non expérimenté de créer un modèle de Machine Learning simplement. En effet, après avoir indiqué toutes les données à SageMaker Autopilot, l’outil construit et optimise automatiquement un modèle. À travers cet outil, l’utilisateur peut également découvrir comment le modèle prend des décisions.
  • SageMaker Debugger : Avec cette feature, l’utilisateur peut déboguer des modèles afin d’obtenir des informations sur les erreurs de calcul et les problèmes de convergence. Cela est très utile pour savoir si le modèle est bien adapté aux données.
  • SageMaker Experiments : Avec cette fonctionnalité, le développeur peut étudier, comparer des modèles et observer la journalisation des métriques.
  • Automatic Model tuning : Cet outil est capable d’automatiser le choix des hyperparamètres optimaux pour un modèle à travers des techniques de recherches variées.
  • Distributed Training : Cette feature est utile pour réduire fortement le temps d’entraînement des modèles à travers la parallélisation des processus d’entraînement sur plusieurs instances.
  • SageMaker Canvas : Il s’agit d’un environnement visuel utilisé pour créer, gérer et visualiser des workflows de Machine Learning. Un workflow est un outil utilisé pour l’organisation et la gestion des étapes de développement d’un modèle. Il est également possible de partager ses workflows à d’autres utilisateurs pour collaborer sur des projets.

3. Déploiement du modèle

Afin de déployer son modèle, la fonction principale que l’utilisateur peut utiliser est SageMaker Edge. Cette fonction peut déployer des modèles de Machine Learning sur des appareils et des applications Edge à travers un kit de développement logiciel (SDK) qui simplifie l’intégration des modèles déployés. 

Les appareils Edge sont des dispositifs matériels constitués entre autres de capteurs, de processeurs et de logiciels d’exploitations utilisés pour la collecte, le traitement et le stockage de données en local. En exemple d’appareils Edge, on peut citer les caméras de sécurité, les montres connectées, les voitures autonomes et les thermostat intelligents…). Les applications Edge, quant à elles, sont des applications logicielles conçues pour être utilisées sur des appareils Edge. Elles peuvent être utilisées pour traiter les données, optimiser des performances, prendre des décisions…

4. Maintenance du modèle déployé

Une fois le déploiement réalisé, l’utilisateur peut appliquer les fonctions suivantes sur ses modèles déployés : 

  • SageMaker Model Monitor : Cette fonctionnalité permet de surveiller la performance des modèles de Machine Learning qui ont été déployés en production. Cet outil peut détecter des erreurs de prédictions, des diminutions de performances et des irrégularités relatives à la distribution des données. Le dernier atout de cet outil est l’envoi d’alertes à l’utilisateur afin qu’il mette en place des mesures correctives.
  • SageMaker Pipelines : Ce service est utilisé pour la création et la gestion des workflows de Machine Learning. Pour cela, l’utilisateur dispose d’un environnement pour construire, valider et déployer les workflows grâce à des conteneurs Docker.
  • SageMaker Test Shadow : Cette fonction peut simuler des prédictions de modèles de Machine Learning dans un environnement de production grâce à des données de tests particulières afin de valider le comportement des modèles.

Conclusion

Amazon SageMaker est une plateforme particulièrement utile et complète pour les data scientists grâce à la variété, la qualité, et l’intérêt des outils qu’elle possède. En effet, ces outils peuvent être utilisés pour l’intégralité des phases de développement d’un modèle de Machine Learning comme la préparation des données ainsi que l’entraînement et le déploiement du modèle, jusqu’à la maintenance du modèle déployé. Ainsi, la plateforme AWS SageMaker est destinée à être utilisée plus fréquemment par les Data Scientists pour faire du Machine Learning en raison de ses nombreuses fonctionnalités centralisées.

Si vous souhaitez vous former à la Data Science pour creuser plus en profondeur les sujets relatifs au Machine Learning, n’hésitez pas à consulter nos formations de Machine Learning Engineeringet de Data Sciencequi peuvent également vous permettre d’obtenir la certification AWS.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?