AWS Machine Learning Speciality: Le parcours d'apprentissage

illustration de l'article

1. Introduction

Récemment, les différentes partie prenantes de l’écosystème IT ont commencé à voir les avantages du MLOps, définit comme étant un processus systémique pour la collaboration des équipes de développement et d’opération pour les solutions Machine Learning, dans l’exécution d’un pipeline de production efficace.
Pour cet effet, Talan, à travers son partenariat avec Amazon, s’engage à former ses data scientists et ML engineers sur les technologies AWS pour la conception, le développement et le déploiement des solutions Machine Learning.
Ainsi, je viens d’obtenir la certification AWS Machine Learning Speciality (MLS-C01) pour s’aligner avec les enjeux de l’écosystème et proposer des solutions de qualité à nos clients. Dans cet article de blog, je présente ma stratégie pour préparer cet examen ainsi que les concepts et les services à maitriser avant de payer les 300 dollars de l’examen.

Mon certficat AWS Machine Learning Speciality
Mon certficat AWS Machine Learning Speciality

2. Prérequis indispensables

Avant de commencer la préparation de la certification, il est important d’avoir une expérience de 2 à 5 ans dans la conception et le développement des solutions Machine Learning. Cette expérience devrait inclure la préparation des données, la compréhension des cas d’usage, le choix du modèle ML, l’apprentissage des modèles, l’optimisation des hyperparamètres, l’évaluation des performances et le déploiement des solutions.
Elle sera surement bénéfique afin de comprendre les enjeux et les problèmes résolus par les services AWS.
Aussi, il est fondamental de commencer par maitriser les notions de base de la technologie cloud et les services proposés par AWS.
Pour cela, la certification AWS Cloud Practitioner Essentials est fortement recommandé avant MLS-C01 afin de maitriser le fonctionnement des services AWS comme S3, IAM, EC2, Glue, Kinesis et SageMaker ainsi que de comprendre des concepts de base comme la sécurité, la scalabilité, l’élasticité et la tolérance des pannes du cloud.
C’est pourquoi, pour cette certification, il faut être à la fois un bon data engineer, un bon data scientist et un bon MLOps engineer.

Les certifications AWS
Les certifications AWS

3. Objectifs de la certification

A la fin de cette expérience, vous serez (normalement) capable de :

  • Comprendre les cas d’usage qui nécessitent une solution Machine Learning et ses enjeux
  • Sélectionner et justifier l’approche Machine Learning appropriée pour un cas d’usage donné
  • Identifier les services AWS appropriés pour l’implémentation d’une solution Machine Learning
  • Concevoir et développer des solutions Machine Learning scalables, optimisées en terme de coûts, fiables et sécurisées

4. Détails de l’examen MLS-C01

L’examen de la certification de spécialité AWS Machine Learning (MLS-C01) est composé de 65 questions à choix multiples et questions à réponses multiples. Vous avez 180 minutes pour répondre à toutes les questions. Les détails de l’examens sont présentés dans le tableau suivant :

Code de l’examen MLS-C01
Type de l’examen Speciality
Durée 180 minutes
Cout de l’examen 300 $
Format Questions à choix multiple et questions à réponses multiple
Notation de l’examen Note graduée de 100 à 1000
Score de réussite >750
Langues Anglais, japonais, coréen et chinois simplifié

5. Contenu technique

Le certificat de spécialité AWS Machine Learning porte sur 4 domaines :

  • Ingénierie des données
  • Analyse exploratoire de données
  • Modélisation
  • Mise en œuvre et implémentation du Machine Learning

Dans cette section, nous revenons sur les points les plus important dans chaque domaine. Il s’agit de ma cheat sheet que j’ai révisé avant l’examen.

Domaines couverts par la certification AWS Machine Learning Speciality
Domaines couverts par la certification AWS Machine Learning Speciality

Avant de commencer avec les notes techniques, voici les services AWS les plus utilisés dans la préparation de l’examen.

Les services AWS les plus couverts par la certification
Les services AWS les plus couverts par la certification

5.1. Ingénierie des données

5.1.1. Création des répertoires et entrepôts de données pour les projet Machine Learning

  • Le choix du système de fichiers utilisé devrait dépendre de plusieurs facteurs comme le temps de chargement des données
  • Généralement, Amazon S3 est le système de stockage le plus utilisés dans les projets ML pour plusieurs raison. En effet, S3 est utilisé pour tous les types et les tailles de données et il est infiniment scalable. De plus, il est très abordable en terme de budget. S3
  • Identification des sources de données: supported-data-sources
  • Les systèmes de stockage les plus utilisés dans les projets ML à part Amazon S3 sont Redshift, RDS Database, Elastic File System (EFS) et Elastic Block Store (EBS): Redshift | RDS | Host-instance-storage-volumes | Amazon Elastic File System
  • S3 : La taille d’un fichier est entre 0 bytes et 5Tb. Par contre, la capacité de stockage de données est illimitée. Le nom d’un bucket devrait être unique
  • Amazon Relational Database Service (RDS) : BD relationnelles (MySQL, SQL Server, Oracle, Postgres, Aurora, MariaDB)
  • DynamoDB : est un service de base de données propriétaire NoSQL entièrement géré qui prend en charge les structures de données de type clé-valeur et document
  • RedShift : c’est une BI datawarehouse. Elle permet d’utiliser Quicksight pour la visualisation des données
  • TimeStream : Amazon Timestream est un service de base de données de séries temporelles rapide, évolutif et sans serveur, qui facilite le stockage et l’analyse de milliards d’événements
  • DocumentDB : Amazon DocumentDB est un service compatible avec MongoDB. C’est une base de données document JSON native entièrement gérée qui facilite et réduit le coût de l’exploitation de charges de travail de documents critiques à pratiquement n’importe quelle échelle, sans gérer l’infrastructure.
  • Les outils AWS pour la migration de données sont :
    • Data Pipeline
    • Database Migration Service (DMS)
    • Glue
  • DMS est utilisé pour la migration de la data qui est stocké sur:
    • Des serveurs locaux
    • Une instance Amazon RDS DB
    • Une instance Amazon EC2
  • DMS est utilisé aussi pour la migration des données d’une DB vers S3
  • Une seule transformation possible en utilisant DMS : le changement des noms des colonnes
  • Glue est un ETL qui permet de simplifier la catégorisation, le nettoyage, l’enrichissement et le transfert des données d’une manière fiable entre plusieurs Data stores
  • AWS Lake Formation est un service qui permet de mettre en place facilement un lac de données sécurisé en quelques jours.

5.1.2. Maitriser les méthodes d’ingestion de données

  • Il y a deux types d’ingestion de données : traitement par lots (Batch processing) et traitement en continu ou en temps réel (Stream processing)
  • Maitriser les pipelines d’ingestion de données en se concentrant sur le service Kinesis
  • Kinesis Data Firehose peut écrire les données dans votre data lake S3.
  • Kinesis Data Analytics doit être alimenté en données en continu par Kinesis Data Streams ou Kinesis Data Firehose
  • Kinesis Data Analytics ne peut pas ingérer les données directement.
  • Apache Flink peut écrire vos données sur S3 à l’aide du puits de fichiers en continu, mais il écrit dans les formats AVRO et Parquet, et non GZIP
  • Kinesis Data Streams ne peut pas écrire directement sur S3. Il a besoin d’une application Kinesis Consumer Library pour recevoir les données et les écrire ensuite sur S3
  • L’interaction avec Kinesis Data Streams est possible via :
    • Kinesis Producer Library (KPL) pour écrire. Ceci se fait à travers des Java wrappers automatiques et configurables
    • Kinesis API (SDK)
    • Kinesis Client Library (KCL) pour interagir avec KPL afin de traiter les données
  • Amazon Elastic MapReduce (EMR): Link
  • AWS Glue est très utilisé dans ce contexte. Il est un service d’intégration de données sans serveur qui rend la préparation de données plus simple, plus rapide et surtout moins chère AWS Glue
  • Format de fichier avec Athena : Le format de fichier Parquet est un format basé sur des colonnes, et il supporte le partitionnement. L’autre format de fichier basé sur des colonnes supporté par Athena est ORC. Ces formats de fichiers basés sur des colonnes sont plus performants que les formats tabulaires tels que CSV et TSV lorsqu’Athena travaille avec de très grands ensembles de données.
  • XML n’est pas un format de données pris en charge pour la formation dans SageMaker.
  • La source de données la plus couramment utilisée pour SageMaker est un bucket S3. Cependant, vous pouvez également utiliser Athena, EMR et Redshift comme sources de données pour SageMaker.
  • Pour afficher des tableaux de bord en utilisant un outil BI, le pipeline est assuré par les services suivants : Kinesis Data Firehose -> S3-> Lake Formation -> QuickSight
  • Apache Flink permet d’écrire sur S3 en utilisant streaming file sink dans un format AVRO ou Parquet.
  • Parfois, c’est plus efficace d’écrire son code de transformation de données en utilisant la fonction lambda et puis transférer les données dans S3 avec le même service
  • Apache Kafka est utilisé comme une source de données en continu (streaming) où les features sont directement alimentés dans le Feature Store en ligne
  • Kinesis Data Analytics avec la fonction Lambda pourrait être utilisé comme une source de données en continu (streaming) où les features sont directement alimentés dans le Feature Store en ligne
  • Amazon QuickSight prend en charge une variété de sources de données que vous pouvez utiliser pour fournir des données pour les analyses. Certaines sources de données comme DynamoDB ne sont pris en charge. La liste des sources de données est présentée dans ce guide : Supported data sources . Parmi ces sources, on trouve Snowflake, Presto, Teradata et S3.
  • AWS Glue ne peut pas charger les données directement vers le notebook SageMaker pour lancer l’apprentissage d’un modèle ML. Pour résoudre ce problème, Glue devrait placer les données dans un bucket S3 qui sera charger par la suite par le notebook SageMaker
  • AWS Lake Formation permet de collecter et cataloguer les données à partir de plusieurs sources de données, transformer les données et les charger en un S3 data lake
  • IoT Core est utilisé pour collecter de l’information à partir des capteurs IoT
  • IoT Greengrass est utilisé pour déployer le modèle et tester l’inférence sur les capteurs connectés

5.1.3. Maitriser les méthodes de transformation de données

  • AWS Glue est le service ETL le plus utilisé pour extraire, transformer et charger les données how-to-extract-transform-and-load-data-for-analytic-processing-using-aws-glue?
  • Glue ETL est utilisé dans le traitement par lots (batch processing) et ne peut pas être utilisé dans le traitement en temps réel
  • Apache Spark Streaming est un moteur analytique utilisé pour traiter les données volumineuses en exécutant des jobs de traitement distribués
  • Kinesis Data Analytics ne possède pas les capacités de Apache Spark pour traiter les données volumineuses
  • AWS Glue Data Catalog est un référentiel central permettant de stocker les metadata structurelles et opérationnelles de tous les actifs de données
  • AWS Glue crawlers se connecte à un data store, passe par une liste hiérarchisée de classificateurs pour extraire le schéma des données et d’autres statistiques, puis alimente le Glue Data Catalog avec ces metadata
  • Traiter les données spécifiques au ML à l’aide de map reduce (Hadoop, Spark, Hive) large-scale-machine-learning-with-spark-on-amazon-emr | apache-spark | create-and-manage-amazon-emr-clusters-from-sagemaker-studio-to-run-interactive-spark-and-ml-workloads
  • EMR est utilisé pour la transformation des big data à travers plusieurs EC2 via différents frameworks comme Spark, Tensorflow et Hive
  • Athena est un service sans serveur qui permet de lancer des requêtes SQL sur S3

5.2. Analyse exploratoire de données

5.2.1. Préparation de la donnée pour le modèle ML

  • L’identification et le traitement des données manquantes est un concept important pour améliorer les performances des modèles de prédiction. managing-missing-values
  • La normalisation et la standardisation des données sont deux techniques de traitement de données
  • La normalisation redimensionne les données afin que toutes les valeurs soient comprises entre 0 et 1
  • La standardisation centres les valeurs des features autour de la valeur moyenne
  • La standardisation est plus efficace que la normalisation sur la gestion des outliers
  • AWS propose des services d’annotation de données comme Amazon SageMaker Ground Truth and Mechanical Turk

5.2.2. Feature engineering

  • L’extraction des features à partir des datasets: Feature Extraction
  • Binning : est une technique permettant de réduire la cardinalité des données continues et discrètes. Le binning regroupe des valeurs dans des bacs afin de réduire le nombre de valeurs distinctes.
  • Tokenization : est utilisée dans le traitement du langage naturel (NLP) pour diviser les paragraphes et les phrases en unités plus petites auxquelles on peut plus facilement attribuer une signification.
  • Outliers : Comment traiter les valeurs aberrantes dans un modèle de classification d’images ? Une des techniques utilisées pour résoudre ce problème est d’agir sur l’hyperparamètre learning_rate qui régit la vitesse à laquelle le modèle s’adapte à des données nouvelles ou changeantes. Les valeurs valides vont de 0,0 à 1,0. En définissant cet hyperparamètre à une valeur faible, telle que 0,1, le modèle apprendra plus lentement et sera moins sensible aux valeurs aberrantes.
  • Réduction de la dimensionnalité
  • One hot encoding : est la conversion d’informations catégorielles dans un format qui peut être introduit dans des algorithmes d’apprentissage automatique pour améliorer la précision des prédictions. C’est une méthode courante pour traiter les données catégorielles dans l’apprentissage automatique
  • Les features synthétiques
  • TF-IDF : permet de déterminer l’importance des mots dans différents documents
  • Parmi les techniques utilisées pour la sélection et l’engineering des features :
    • Supprimer les features qui ne sont pas liés à l’apprentissage
    • supprimer les features qui ont les mêmes valeurs, une très faible corrélation, une très faible variance ou beaucoup de valeurs manquantes.
    • Appliquer le Principal Component Analysis (PCA) pour réduire la dimensionnalité, c-à-d la réduction du nombre des features
    • Appliquer des techniques comme One-hot encoding and label encoding pour convertir les strings en des features numériques afin de simplifier l’apprentissage
    • Appliquer la normalisation pour gérer les données avec une large variance
  • Parmi les techniques de traitement des données manquantes :
    • Supprimer les features avec beaucoup de données manquantes
    • Imputation à l’aide de valeurs moyennes/médianes - valable uniquement pour les valeurs numériques et non pour les features catégorielles ; ne tient pas compte de la corrélation entre les caractéristiques
    • Imputation à l’aide de k-NN, Imputation multivariée par équation chaînée (MICE), Deep Learning, factorise la corrélation entre les caractéristiques
  • Parmi les techniques pour gérer les données non équilibrées :
    • Demander plus de données
    • Sur-échantillonnage de la classe minoritaire et sous-échantillonnage de la classe majoritaire
    • Augmentation des données à l’aide de techniques telles que SMOTE
  • Smoothing est une technique qui permet de supprimer le bruit du dataset d’apprentissage
  • Les deux métriques utilisées par SageMaker Data Wrangler pour visualizer les rapports des fuites cibles sont R2 et AOC-ROC
  • Multivariate imputation est une technique d’imputation qui permet d’utiliser d’autres variables de la data pour prévoir les données manquantes
  • Mean imputation est une technique d’imputation qui permet d’utiliser la valeur moyenne de la colonne pour remplir les données manquantes
  • Le nettoyage des données et la préparation des features pourrait se faire en créant un SageMaker Processing job avec SageMaker Python SDK et le package scikit-learn SKLearnProcessor ou Spark PySparkProcessor qui permettent de préparer les données et les diviser en train et test datasets

5.2.3. Analyse et visualisation de données

  • Les différents types de graphe les plus utilisés par les data scientists : Scatter, histogram, box plot
  • Elbow plot pour les modèles de clustering
  • Catplot est utilisé pour visualiser la relation entre une valeur numérique et une ou plusieurs valeurs catégoriques en utilisant des visualisations comme boxenplot
  • Swarm plot et utilisé pour visualiser la distribution des valeurs de chaque feature
  • Pair plot est utilisé pour visualiser la relation entre les pairs de features et la distribution d’une variable par rapport à l’autre
  • La matrice de covariance permet de montrer le degré de corrélation entre deux features

5.3. Modélisation

5.3.1. Cas d’usage du Machine Learning

  • L’approche heuristique est utilisée lorsqu’une approche d’apprentissage automatique n’est pas nécessaire. Un exemple est le taux d’accélération d’une particule dans l’espace. Il existe des formules bien connues pour la vitesse, l’inertie et la friction qui permettent de résoudre un tel problème
  • Apprentissage supervisé Vs Apprentissage non supervisé
  • Il important de bien lire l’énoncé de la question pour orienter le sens de la réflexion : algorithme de classification, de régression, etc.

5.3.2. Sélection du modèle ML pour un problème donnée

  • Voici un overview sur les modèles les plus utilisés pour résoudre un problème en ML: Algorithmes ML:
Cheat Sheet des algorithmes de Machine Learning en AWS
Cheat Sheet des algorithmes de Machine Learning en AWS
  • Expliquer l’intuition derrière chaque modèle : Xgboost, logistic regression, K-means, linear regression, decision trees, random forests, RNN, CNN, Ensemble, Transfer learning
  • La liste des algorithmes pré-entrainés : les algorithmes intégrés d’Amazon SageMaker ou les modèles pré-entraînés
  • Time serie data est un point important: Forecasting financial time series with dynamic deep learning on AWS
  • Le célèbre moteur de recommandation d’Amazon.com est construit à l’aide d’une méthode de filtrage collaboratif neuronal. Cette méthode est optimisée pour trouver des similitudes dans des environnements où l’on dispose de grandes quantités d’actions d’utilisateurs à analyser.
  • Random Cut Forest (RCF) est utilisé pour la détection des anomalies.
  • L’allocation latente de Dirichlet LDA est un algorithme d’apprentissage non supervisé. Le scénario décrit un ensemble d’apprentissage supervisé et noté. En outre, LDA est un modèle de “sac de mots”, ce qui signifie que l’ordre des mots n’a pas d’importance. Ce modèle n’est pas idéal pour l’analyse des sentiments
  • Amazon Forecast CNN-QR est un le seul algorithme qui accepte les données des séries temporelles connexes sans valeurs futures
  • Les modèles types fournies par Amazon Fraud Detector :
    • Online fraud insights
    • Transaction fraud insights
    • Account takeover insights
  • AWS Transcribe http/2 streaming client est utilisé dans le cas où on a des problèmes de connexion ou on passe en offline
  • Long Short-Term Memory (LSTM) est utilisé pour le traitement des séries temporelles ou les données séquentielles
  • Multinominal Naive Bayes est un algorithme qui est très utilisé pour la classification des documents en se basant sur le nombre d’occurrence d’un mot dans le document en question
  • Bernouilli Naive Bayes est un algorithme qui est utilisé pour la classification des documents en se basant sur le fait de chercher l’apparence d’un mot dans le document en question
  • QuickSight intègre un algorithme Random Cut Forest ce qui rend plus efficace de l’utiliser directement comme étant un outil BI pour la détection et l’affichage des outliers. Cet outil est utilisé avec Kinesis Data Firehose et S3 pour la détection des anomalies en temps réel

5.3.3. Apprentissage des modèles ML

  • Etudier les techniques de Cross validation comme train_test_split, K-Fold, Stratified K-Fold, hold-out pour les séries temporelles, etc.
  • K-Fold cross validation permet de diviser le dataset en K parties et lancer l’apprentissage du modèle K fois. A chaque fois, une partie est utilisée comme étant un test dataset et le reste, K-1 parties, est utilisé pour le train. A la fin, tous les résultats sont combinés pour avoir le résultat final
  • Optimizer, gradient descent, loss functions, local minima, convergence, batches, probability, etc.
  • Le choix des ressources (GPU, CPU) dépend de l’algorithme en AWS
  • XGBOOST : SageMaker XGBoost ne prend actuellement en charge qu’une instance CPU ou une instance GPU à une seule instance pour l’apprentissage.
  • Ajoutez Horovod à votre code et utilisez son cadre de formation d’apprentissage profond distribué pour TensorFlow.
  • Parmi les techniques efficaces de la configuration des hyperparamètres du modèles en termes de performances : choisir un petit learning rate, un large nombre d’estimateurs et un early stoping
  • Quand on possède un large datasets, on a généralement tendance à utiliser un réseau de neurones avec un grand nombre de couches cachées
  • Amazon CodeGuru est utilisé pour automatiser la révision de code et détecter les failles de sécurité

5.3.4. Optimisation des hyperparamètres

  • La définition des hyperparamètres de l’algorithme SageMaker XGBoost dépend de l’application et certains hyperparamètres sont obligatoire avant de lancer l’apprentissage comme Num_round et Num_class pour une application de classification multi-class
  • Les hyperparamètres du Amazon SageMaker XGBoost : xgboost_hyperparameters
  • Les techniques de régularisation : L1/L2, Dropout, etc.
  • Initialisation des modèles
  • Architectures des réseaux de neurones
  • Learning rate
  • Les fonctions d’activation
  • Les méthodes de tunning sont :
    • Grid search
    • Random search : utilisé quand on lance les training jobs en parallèle
    • Bayesian search : nécessite moins de jobs d’apprentissage pour générer les hyperparamètres optimaux
  • Généralement, avec les réseaux de neurones qui ont un problème d’overfitting on :
    • Augmente le dropout
    • Augmente la régularisation
    • Diminue les combinations des features
  • Ridge regression et Lasso regression sont utilisées pour réduire la complexité du modèle.
  • Lasso regression élémine quelques features ce qui réduit effectivement la complexité

5.3.5. Evaluation des modèles ML

  • L’overfitting est parmi les points clés les plus évoqués dans les questions. Alors, il faut maitriser les techniques utilisées pour l’empêcher avec les différents modèles
  • L’overfitting se produit lorsque le modèle ne peut pas généraliser et s’adapte trop étroitement à l’ensemble de données d’apprentissage. Overfitting
  • Dropout est une technique couramment utilisée pour pénaliser les poids et empêcher l’overfitting. Mais, il s’agit d’une technique utilisée avec les réseaux neuronaux, et non avec les arbres de décision. Certaines questions propose de d’éviter l’overfitting en utilisant dropout avec des modèles supervisés, ce qui complétement faux
  • Random Forest est utilisée pour éviter l’overfitting avec les arbres de décision
  • Eviter l’underfitting: Underfitting-vs-Overfitting
  • Les métriques d’évaluation sont : AUC-ROC, accuracy, precision, recall pour les modèles de classification, RMSE, MSE pour les modèles de régression et F1 Score pour les datasets non équilibrés
  • La matrice de confusion pour les modèles de classification :
    • Un vrai positif est un résultat où le modèle prédit correctement la classe positive. De même, un vrai négatif est un résultat où le modèle prédit correctement la classe négative
    • Un faux positif est un résultat où le modèle prédit incorrectement la classe positive. Et un faux négatif est un résultat où le modèle prédit de manière incorrecte la classe négative
  • L’aire sous la courbe ROC (Receiver Operating Characteristic) est la mesure la plus couramment utilisée pour comparer les modèles de classification
  • K-means utilise msd (Mean Squared Distances) pour la validation du modèle. Cependant, vous voudrez minimiser cette métrique.
  • K-means utilise ssd (Sum of the Squared Distances) pour la validation du modèle. Cependant, vous voudrez minimiser cette métrique.
  • Dans cette référence, vous trouverez un ensemble de techniques couramment utilisées pour améliorer les performances des modèles de Deep Learning : How To Improve Deep Learning Performance
  • La matrice de confusion qui permet de calculer les métriques comme la précision, le recall et l’accuracy :
La matrice de confusion
La matrice de confusion
  • Précision : TP/(TP+FP)
  • Recall : TP/(TP+FN)
  • Accuracy : (TP+TN)/(TP+FN+TN+FP)
  • F1 Score est une métrique qui combine la précision et le recall : F1-Score=2 (Precision .Recall)/(Precision+Recall)
  • La métrique Mean Absolute Error (MAE) a la capacité de gérer les outliers

5.4. Mise en œuvre et implémentation du Machine Learning

5.4.1. Construire des solutions ML pour la performance, la disponibilité, l’évolutivité, la résilience et la tolérance aux pannes

  • Journalisation et surveillance en utilisant CloudWatch and CloudTrail Journalisation et surveillance
  • Créez un tableau de bord CloudWatch pour afficher une vue des paramètres de latence, d’utilisation de la mémoire et d’utilisation du processeur de la variante du modèle SageMaker
  • Deep Learning AMI: Link
  • Docker est couramment utilisé dans le déploiement des modèles ML: Docker
  • Mise à l’échelle automatique des modèles Amazon SageMaker: Scalabilité automatique des modèles Amazon SageMaker
  • AWS Auto Scaling surveille vos applications et ajuste automatiquement la capacité pour maintenir des performances constantes et prévisibles au coût le plus bas possible
  • En utilisant Auto Scaling, il faut définir une politique de scaling: Policies in EC2
    • Simple Scaling
    • Target tracking Scaling
    • Step Scaling
  • Meilleures pratiques du ML dans les services financiers: Best practices

5.4.2. Services AWS pour le Machine Learning

  • Comprehend : un service pour les applications NLP qui permet de trouver des features et des relations dans le texte
  • Polly : générer la voix à partir d’un texte
  • Lex : fournit des interfaces conversationnelles utilisant la voix et le texte, utiles pour créer des chatbots vocaux et textuels.
  • Transcibe : fournit une capacité de conversion de la parole en texte
  • Translate : fournit une traduction linguistique naturelle et fluide
  • Rekognition : permet d’analyser des images et des vidéos
  • Les limites des services AWS: SageMaker Points de terminaison et quotas Amazon
  • Le format des données d’entrée dépend de l’algorithme pré-entrainé utilisé: algorithmes intégrés d’Amazon SageMaker ou les modèles pré-entraînés
  • Apache Spark pourrait être utilisé avec les services AWS pour la gestion des données volumineuses
  • Apache Spark Streaming supporte le traitement en temps réel des données
  • Apache Spark MLlib est une bibliothèque Machine Learning qui permet d’exécuter des algorithmes conçus pour être mis à l’échelle des clusters pour la classification, la régression, le clustering et le collaborative filtering
  • SageMaker lifecycle est utilisé pour installer les packages ou les notebooks dans ses proposes instances notebook , configurer le réseau et la sécurité des instances notebook et utiliser les script shell pour personnaliser les instances notebook
  • SageMaker Hosting Services permet d’envoyer des requêtes vers un HTTPS endpoint pour tester des inférences
  • SageMaker Batch Transform est utilisé pour tester des inférences sur un dataset en entier sans avoir besoin d’un endpoint persistent
  • Le reste des services est présenté dans cette documentation: Les services ML d’Amazon

5.4.3. Sécurité des solutions ML

  • La sécurité est traitée d’une manière très légère mais vous aurez quelques questions sur les services de sécurité de AWS comme IAM.
  • SageMaker permet de lire des données stockées en S3 et cryptées en utilisant AWS Key Management Service (KMS). Il est important de s’assurer que les politiques de clé KMS incluent le rôle attaché à SageMaker utilisé
  • IAM : garantit que les bonnes personnes et les bons rôles dans votre organisation (identités) peuvent accéder aux outils dont ils ont besoin pour faire leur travail
  • S3 bucket policies: Exemples
  • Security groups: agissent comme un pare-feu virtuel, en contrôlant le trafic qui est autorisé à atteindre et à quitter les ressources auxquelles il est associé. Par exemple, après avoir associé un groupe de sécurité à une instance EC2, il contrôle le trafic entrant et sortant de l’instance: Groupes de sécurité
  • Amazon Virtual Private Cloud (VPC): permet de lancer des ressources AWS dans un réseau virtuel défini. Ce réseau virtuel ressemble beaucoup à un réseau traditionnel exploité dans le data center d’origine, avec les avantages de l’utilisation de l’infrastructure évolutive d’AWS. Il est logiquement isolé des autres réseaux virtuels dans le cloud AWS. Vous pouvez spécifier une plage d’adresses IP pour le VPC, ajouter des sous-réseaux, ajouter des passerelles et associer des groupes de sécurité. Un sous-réseau est une plage d’adresses IP dans votre VPC: Amazon VPC
  • Encryption: AES-256 est la technologie que nous utilisons pour chiffrer les données dans AWS, y compris le chiffrement côté serveur d’Amazon Simple Storage Service (S3): L’imporatance du chiffrement

5.4.4. Déploiement des solutions ML

  • Exposer les endpoints et intéragir avec eux: amazon-api-gateway-and-aws-lambda
  • Versionnement des modèles ML: Versionnement de modèle
  • A/B testing: A/B testing
  • Réapprentissage des modèles: Automating model retraining
  • Quand on applique des changements sur le SageMaker endpoint, on modifie le SageMaker HTTPS endpoint sans mettre en arrêt le modèle déjà déployé. On change le type de l’instance du modèle existant et on ajouter un nouveau model variant. La création de la nouvelle configuration de l’endpoint et son déploiement se fait en utilisant l’action UpdateEndpoint
  • Deep Learning AMI est une image machine Amazon fournie par AWS pour une utilisation sur Amazon EC2. Elle est conçue pour fournir un environnement d’exécution stable, sécurisé et performant pour les applications de Deep Learning exécutées sur Amazon EC2.
  • Deep Learning AMI n’est pas utilisé pour charger un large dataset d’apprentissage à partir de S3

6. Préparation, ressources et planification

La stratégie et le temps de préparation de l’examen dépendent systématiquement du niveau d’expertise du candidat. Initialement, j’ai commencé par le cours d’AWS et ses fournisseurs externes. Après, j’ai implémenté quelques solutions ML en utilisant les services AWS et principalement SageMaker et SageMaker Studio. Par la suite, j’ai consulté les documentations AWS des services déjà présentés dans la section précédente. Finalement, j’ai passé plusieurs test pratiques disponibles gratuitement sur plusieurs sites d’apprentissage.

A la fin, je vous donne quelques ressources très utiles pour préparer l’examen :

7. Derniers conseils

  • Commencer la préparation de l’examen en suivant le cours officiel sur la plateforme AWS training and certification: AWS Skill Builder
  • Pendant la préparation de l’examen, il faut avoir de l’expérience pratique avec le service AWS SageMaker afin de maitriser ce service ainsi que d’autres services comme S3 et IAM. Practice makes perfect 😊
  • Pensez à s’entrainer avec des tests pratiques pour la certification AWS Machine Learning Speciality: Test pratique
  • Il faut maitriser l’anglais ! Certaines questions pourraient être délicates et un seul mot pourrait changer son sens
  • Utiliser l’option « flag the question » pour pouvoir réviser les questions difficiles. Dans ce cas, vous pouvez commencer par les domaines que vous maitrisez en laissant les points compliqués pour la fin.
  • Pendant l’examen, vous serez devant votre écran pendant 180 minutes sans avoir le droit à une pause donc n’oubliez pas de manger un petit snack, d’aller aux toilettes et de charger votre ordinateur avant de commencer la session.

8. Conclusion

L’expérience avec la certification AWS et son parcours d’apprentissage très intense m’a permis de bien comprendre la façon de résoudre les challenges du Machine Learning à l’aide des services AWS. Cependant, ce n’est qu’un « Hello World » pas vers la maitrise de toutes les architectures et tous les paramètres des services développés par AWS. Aujourd’hui, Talan, à travers ses collaborateurs, est prête à aider ses clients et partenaires à relever les challenges autour de l’IA, Data Science et Cloud Computing en mettant à leur disposition ces compétences techniques.

Date

Auteur

Avatar Wael SAIDENI

Wael SAIDENI

Data Scientist & Docteur en IA

Catégories

IA Data MLOps

Tags

#Machine Learning #AWS #Cloud #Data Science #Data Engineering