Amazon MLA-C01: Ingénierie des données et ingénierie des caractéristiques — Guide d'étude

Fait partie du AWS Machine Learning Engineer Associate MLA-C01 — Guide d’étude. Entraînez-vous avec des réponses vérifiées dans le centre d’examens Amazon, ou passez des tests chronométrés sur ExamRoll.io.

Concept de base

L’ingénierie des données pour le ML consiste à produire des entrées reproductibles et auditables pour l’entraînement et l’inférence des modèles, tout en minimisant la fuite de données et la charge opérationnelle. Au cœur de cette discipline se trouvent une sémantique d’ingestion cohérente (temps de l’événement, identifiant d’enregistrement, schéma), un catalogue de métadonnées canonique et des transformations bien définies qui peuvent être exécutées à la fois hors ligne pour l’entraînement du modèle et en ligne pour l’inférence en temps réel. Architecturez vos pipelines de manière à ce que le même code de transformation (ou les mêmes définitions d’enregistrements du Feature Store) alimente les jeux de données d’entraînement et les caractéristiques en ligne retournées au moment de l’inférence ; cela évite le décalage entraînement/service (train/serve skew). Pour les problèmes temporels, conservez le temps de l’événement pour chaque enregistrement et imposez des jointures et des divisions temporelles pour éviter la fuite d’étiquettes (label leakage) ; lors de l’utilisation de SageMaker Feature Store, définissez un RecordIdentifierFeatureName et un EventTimeFeatureName dans CreateFeatureGroup afin que l’entraînement et l’inférence en aval utilisent des clés identiques.

L’ingénierie des caractéristiques (feature engineering) se divise en transformations déterministes et reproductibles et en transformations exploratoires. Les transformations déterministes incluent l’imputation, la mise à l’échelle, l’encodage catégoriel et les agrégations dérivées (comptages glissants, caractéristiques sur fenêtre temporelle). Exécutez-les sous forme de code pouvant s’exécuter dans Glue ETL, SageMaker Processing ou SageMaker Data Wrangler et être sauvegardé (checkpointed) dans un magasin hors ligne. Pour les caractéristiques catégorielles à haute cardinalité, préférez l’encodage par la cible (target encoding) avec des plis de validation croisée ou des représentations basées sur la fréquence/les plongements (embeddings) plutôt qu’un encodage one-hot naïf pour éviter l’explosion combinatoire. Pour les caractéristiques numériques, préférez la standardisation (moyenne/variance) ou les transformations par quantiles, adaptées aux pipelines et stockées comme paramètres dans un artefact de modèle, afin que la normalisation en production corresponde à celle de l’entraînement.

Services et configuration clés

AWS Glue fournit la couche ETL et de métadonnées canonique pour de nombreux pipelines ML. Utilisez les Glue Crawlers pour peupler le Glue Data Catalog à partir de sources S3 et JDBC, puis créez des jobs Glue ETL basés sur Spark ou des jobs visuels Glue Studio pour nettoyer et transformer les données. Configurez les jobs Glue avec GlueVersion (par exemple 3.0), WorkerType (G.1X, G.2X), NumberOfWorkers, JobBookmarks pour le traitement incrémentiel, et des DefaultArguments tels que “–additional-python-modules” pour inclure des bibliothèques comme awswrangler ou pydeequ. Pour l’ingestion depuis une base MySQL sur site (on-prem), établissez une connexion Glue avec une URL JDBC et utilisez soit des jobs Glue, soit AWS DMS pour capturer le CDC vers une zone de transit (landing zone) S3 ; lors de l’utilisation de DMS, sélectionnez le chargement complet (full-load) puis le CDC et ciblez S3 en format Parquet pour des caractéristiques hors ligne efficaces.

SageMaker Feature Store est l’option centrale de gestion des caractéristiques pour une faible charge opérationnelle à grande échelle. CreateFeatureGroup requiert des FeatureDefinitions, un RecordIdentifierFeatureName, un EventTimeFeatureName, une OnlineStoreConfig (avec EnableOnlineStore=True pour activer un magasin à faible latence basé sur DynamoDB), et une OfflineStoreConfig avec un S3Uri et une DataCatalogConfig pour exposer les caractéristiques hors ligne via Athena/Glue. Ingérez avec BatchPutRecord ou PutRecord en fonction du débit ; incluez le FeatureGroupArn et le RoleArn qui accorde au service les permissions PutRecord. Le magasin hors ligne persiste les fichiers Parquet dans S3 et s’intègre automatiquement avec le Glue Data Catalog, permettant des requêtes d’entraînement reproductibles. Pour les caractéristiques en temps réel, utilisez GetRecord sur le magasin en ligne ; pour les jointures d’entraînement en masse, préférez le chemin S3 Parquet hors ligne.

Pour la gouvernance des modèles et les workflows de déploiement, utilisez SageMaker Model Registry et SageMaker Pipelines. Enregistrez les modèles entraînés avec CreateModelPackage ou l’étape RegisterModel de Pipelines et définissez ModelApprovalStatus sur “PendingManualApproval” pour imposer une étape d’approbation manuelle. Intégrez Pipelines avec AWS CodePipeline ou ajoutez une fonction Lambda personnalisée qui fait passer les versions de model_package à l’état “Approved” via UpdateModelPackage lorsqu’elles sont autorisées. Pour la surveillance de la dérive et des biais, combinez SageMaker Clarify pour l’analyse des biais/de la ligne de base et SageMaker Model Monitor pour la détection continue de la dérive des données/étiquettes. Utilisez ClarifyProcessor (sagemaker.processing.ProcessingJob) pour une évaluation des biais à la demande en le pointant vers les artefacts Parquet du magasin hors ligne ou vers les échantillons en streaming collectés par Model Monitor.

Modèles de conception et compromis

Choisissez des architectures hors ligne d’abord (offline-first) lorsque le débit d’entraînement et les jointures complexes sont importants : agrégez et persistez les caractéristiques fenêtrées volumineuses dans S3 Parquet (tâches Glue/EMR/Glue Spark), cataloguez-les dans Glue Data Catalog, et versionnez les jeux de données avec des préfixes S3 et le versionnement d’objets. Cette approche favorise la reproductibilité et un stockage économique, mais augmente la latence pour la mise à disposition de caractéristiques récentes. Lorsque des caractéristiques à faible latence sont requises, répliquez un sous-ensemble vers le Feature Store Online (DynamoDB) ou une couche de mise en cache ; le compromis est la surcharge opérationnelle pour maintenir la cohérence entre les magasins en ligne et hors ligne. Utilisez les pipelines intégrés BatchPutRecord du Feature Store ou l’ingestion en streaming via Kinesis Data Streams + Lambda qui écrit dans le Feature Store pour obtenir des mises à jour quasi en temps réel tout en conservant une vue canonique hors ligne.

Pour l’expérimentation itérative par rapport au débit de production, SageMaker Pipelines avec mise en cache offre un avantage notable : activez CacheConfig dans les étapes du pipeline afin que les transformations gourmandes en calcul et même les étapes d’entraînement soient ignorées lorsque leurs entrées (paramètres, sommes de contrôle des données) n’ont pas changé. Cela réduit la latence de démarrage pour les exécutions consécutives par rapport au provisionnement répété de ressources de calcul identiques. Pour une inférence à très faible latence, vous ferez un compromis entre le coût et la complexité : les points de terminaison multi-modèles ou la simultanéité provisionnée réduisent la variabilité des démarrages à froid (cold-start) mais augmentent les coûts ; l’utilisation du Feature Store en ligne avec un conteneur de modèle léger minimise l’orchestration par requête.

Les choix d’algorithmes et de prétraitement présentent des compromis : l’algorithme XGBoost intégré excelle pour les tâches de détection de fraude sur des données tabulaires et fournit scale_pos_weight pour gérer le déséquilibre des classes sans rééchantillonnage, ce qui est léger sur le plan opérationnel. Cependant, les modèles profonds (deep models) avec des plongements (embeddings) gèrent plus élégamment les variables catégorielles à haute cardinalité, mais nécessitent plus d’infrastructure et de pipelines de caractéristiques. Utilisez des transformations automatisées lorsque c’est possible : SageMaker Data Wrangler et Glue DataBrew fournissent des transformations visuelles et reproductibles (imputation, normalisation, rééchantillonnage) et peuvent exporter les flux vers des scripts ou vers le Feature Store, réduisant ainsi le temps d’ingénierie.

Pièges courants et critères de décision

Une erreur fréquente est de ne pas aligner les transformations d’entraînement et d’inférence. Stockez les paramètres de transformation (scalers, encodeurs) avec le modèle ou dans le Feature Store afin que le prétraitement en ligne soit identique à celui de l’entraînement. Un autre écueil est l’encodage one-hot de catégories à haute cardinalité, qui provoque une dimensionnalité excessive des caractéristiques ; préférez les embeddings, le hachage ou les encodages basés sur la fréquence de la cible et validez-les via des procédures de validation croisée sans fuite de données (leakage). Les erreurs de sécurité sont également courantes : lors de l’entraînement sur des données S3 sensibles, imposez SSE-KMS (KmsKeyId), restreignez l’accès avec des politiques de bucket S3 et des rôles IAM (principal sagemaker.amazonaws.com) et placez les tâches d’entraînement dans un VPC avec des points de terminaison de passerelle VPC S3 afin que les données ne transitent pas par l’internet public.

Pour choisir entre un ETL piloté par des tâches Glue et SageMaker Processing/Data Wrangler, évaluez la fréquence et la complexité : Glue est optimisé pour l’ETL Spark planifié et scalable sur de nombreuses sources et s’intègre avec le Glue Data Catalog ; Data Wrangler et SageMaker Processing sont adaptés à l’expérimentation rapide et à l’exportation directe vers le Feature Store ou les tâches d’entraînement. Pour la détection d’anomalies, utilisez Amazon Lookout for Metrics pour une détection statistique automatique d’anomalies sur des séries temporelles sans opérations ML lourdes, mais sélectionnez Deequ s’exécutant dans Glue pour des contrôles de qualité des données personnalisables et conscients de la lignée (lineage) qui peuvent alimenter des tableaux de bord avec des métriques.

Problème pratique : Scénario d’utilisation

Nom de l’entreprise : FinEdge

FinEdge développe un service de détection de fraude qui doit entraîner des modèles à partir de journaux de transactions par lots quotidiens dans Amazon S3, ainsi que de profils clients stockés dans une base de données MySQL sur site (on-prem). Les données doivent rester chiffrées et isolées ; les versions du modèle nécessitent une approbation manuelle avant le déploiement en production ; les modèles doivent permettre une évaluation à la demande du biais et de la dérive ; l’inférence nécessite une recherche de caractéristiques à faible latence.

  1. Ingérer et centraliser : Utilisez AWS DMS pour effectuer un chargement complet initial et une réplication CDC (Change Data Capture) depuis la base MySQL sur site vers une zone de destination (landing zone) S3 sous forme de fichiers Parquet. Configurez DMS avec les paramètres de cible S3 et garantissez SSL pour la source JDBC. Utilisez un Glue Crawler pour enregistrer à la fois les journaux de transactions S3 et les profils clients DMS-parquet dans le Glue Data Catalog. Définissez les paramètres de la tâche Glue : GlueVersion 3.0, WorkerType G.2X, NumberOfWorkers adapté au volume quotidien, et activez JobBookmarks pour les exécutions incrémentielles.

  2. Ingénierie des caractéristiques et stockage : Créez des transformations Spark dans Glue ou utilisez SageMaker Data Wrangler pour des itérations interactives sur les caractéristiques et leur exportation. Persistez les caractéristiques agrégées déterministes sur S3 au format Parquet et créez un FeatureGroup SageMaker Feature Store avec CreateFeatureGroup en spécifiant les FeatureDefinitions, RecordIdentifierFeatureName=“transaction_id”, EventTimeFeatureName=“event_time”, OnlineStoreConfig avec EnableOnlineStore=True, et OfflineStoreConfig S3Uri pointant vers le lac de données canonique et DataCatalogConfig pour lier la table Glue. Ingérez via BatchPutRecord pour les chargements en masse et PutRecord pour les mises à jour transactionnelles.

  3. Entraînement et registre de modèles : Utilisez SageMaker Pipelines pour le prétraitement, l’entraînement et l’enregistrement. Incluez une étape RegisterModel qui enregistre le modèle dans un ModelPackageGroupName et définit ModelApprovalStatus=“PendingManualApproval”. Associez une action d’approbation manuelle AWS CodePipeline ou utilisez l’API SageMaker UpdateModelPackage pour faire passer les paquets approuvés à l’état “Approved”. Pour le déséquilibre des classes, définissez l’hyperparamètre XGBoost “scale_pos_weight” en fonction du ratio des classes calculé dans les statistiques de base pour éviter la complexité du rééchantillonnage.

  4. Gouvernance, surveillance et vérifications à la demande : Créez des lignes de base (baselines) avec SageMaker Clarify en utilisant un ClarifyProcessor pour calculer les métriques de biais et sauvegarder les baselines sur S3/FeatureStore hors ligne. Déployez Model Monitor avec CreateMonitoringSchedule pour la dérive des données/caractéristiques ; pour une évaluation à la demande du biais ou de la dérive, exécutez un ClarifyProcessor ou StartMonitoringSchedule par programmation pour analyser le trafic récemment capturé ou l’instantané (snapshot) du magasin en ligne. Stockez les résultats de la surveillance sur S3 et faites remonter les anomalies via des tableaux de bord QuickSight. Sécurisez S3 en utilisant SSE-KMS, restreignez l’accès par des rôles IAM avec le moindre privilège, et placez l’entraînement et l’inférence dans un VPC avec un point de terminaison VPC S3.

Justification AWS : Cette approche utilise Glue et DMS pour une ingestion et des métadonnées scalables et auditables via le Glue Data Catalog ; SageMaker Feature Store pour des caractéristiques cohérentes en ligne/hors ligne et des recherches à faible latence ; SageMaker Pipelines et Model Registry pour contrôler le cycle de vie du modèle avec une surcharge opérationnelle minimale et un support intégré pour l’approbation manuelle ; Clarify et Model Monitor pour fournir une analyse du biais/de la dérive à la demande et en continu. Cette combinaison préserve l’isolement par chiffrement (SSE-KMS, points de terminaison VPC), réduit le travail d’ingénierie en utilisant des services gérés pour l’ingestion et la gestion des caractéristiques, et impose des artefacts ML reproductibles et auditables.


Tous les domaines · Entraînement de modèles et optimisation des hyperparamètres

Entraînez-vous sur ces questions → · Tests chronométrés sur ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Réussissez votre examen →

Parcourir Amazon →

Related guides

Accès tout-en-un

Un seul abonnement. Chaque examen.

Chaque plan débloque la recherche de réponses illimitée, les tests pratiques, les explications IA et la bibliothèque complète de ressources — en plus de 20 langues.

Mensuel
24.87
Just €0.83/day
Tout inclus :
  • Recherche de réponses illimitée
  • Tests pratiques illimités
  • Explications basées sur l'IA
  • Bibliothèque complète de ressources
  • Plus de 20 langues
  • Mises à jour de contenu hebdomadaires
  • Récompenses et parrainages
  • Support prioritaire
Commencer l'essai gratuit

Aucune carte de crédit requise*

Meilleur rapport qualité/prix
12 mois
179.87
Just €0.49/daySave 40%
Tout inclus :
  • Recherche de réponses illimitée
  • Tests pratiques illimités
  • Explications basées sur l'IA
  • Bibliothèque complète de ressources
  • Plus de 20 langues
  • Mises à jour de contenu hebdomadaires
  • Récompenses et parrainages
  • Support prioritaire
Commencer l'essai gratuit

Aucune carte de crédit requise*

✓ Plan gratuit inclus · ✓ Annulez à tout moment · ✓ Tous les plans débloquent le produit complet