Professional Machine Learning Engineer

Description du poste

Un Professional Machine Learning Engineer conçoit, compile et met en production des modèles de ML afin de résoudre des défis métier. Pour ce faire, il s'appuie sur les technologies Google Cloud et sur sa connaissance des modèles et techniques de ML éprouvés. Le ML Engineer travaille en étroite collaboration avec d'autres catégories professionnelles pour assurer la réussite à long terme des modèles. Le ML Engineer maîtrise tous les aspects de l'architecture des modèles, de l'interaction avec les pipelines de données et de l'interprétation des statistiques. En outre, il doit bien connaître le développement d'applications, la gestion d'infrastructure, l'ingénierie des données et la sécurité. Grâce à sa compréhension des méthodes d'entraînement, de réentraînement, de déploiement, de planification, de surveillance et d'amélioration des modèles, il conçoit et crée des solutions évolutives aboutissant à des performances optimales.

Guide de l'examen de certification

Section 1 : Identification des problématiques liées au ML

    1.1 Convertir un défi métier en cas d'utilisation de ML. Points à prendre en compte :

    • Définir les problématiques métier
    • Identifier les solutions autres que le ML
    • Définir l'utilisation du résultat
    • Gérer les résultats incorrects
    • Identifier les sources de données

    1.2 Définir une problématique liée au ML. Points à prendre en compte :

    • Définir le type de problème (classification, régression, clustering, etc.)
    • Définir le résultat des prédictions de modèle
    • Définir les caractéristiques en entrée et le format de sortie prévu

    1.3 Définir les critères de réussite métier. Points à prendre en compte :

    • Indicateurs de réussite
    • Résultats clés
    • Conditions sous lesquelles on considérera que le modèle a échoué

    1.4 Identifier les obstacles à la faisabilité et à la mise en œuvre d'une solution de ML. Points à prendre en compte :

    • Évaluer et communiquer l'impact sur l'entreprise
    • Évaluer le niveau de préparation de la solution de ML
    • Évaluer le niveau de préparation des données
    • Respecter les principes et pratiques de Google en matière d'IA (par exemple, différents biais)

Section 2 : Architecture des solutions de ML

    2.1 Concevoir des solutions de ML fiables, évolutives et à disponibilité élevée. Points à prendre en compte :

    • Optimiser l'utilisation et le stockage des données
    • Connexions des données
    • Automatiser la préparation des données, l'entraînement et le déploiement des modèles
    • Bonnes pratiques de SDLC

    2.2 Choisir des composants logiciels Google Cloud adaptés. Points à prendre en compte :

    • Plusieurs types de composants : collecte des données, gestion des données
    • Exploration/Analyse
    • Extraction de caractéristiques
    • Journalisation/Gestion
    • Automatisation
    • Surveillance
    • Inférence

    2.3 Choisir des composants matériels Google Cloud adaptés. Points à prendre en compte :

    • Sélection de quotas et d'accélérateurs/de ressources de calcul avec les bons composants

    2.4 Concevoir une architecture qui répond aux problématiques de réglementation et de sécurité.
    Points à prendre en compte :

    • Créer des systèmes de ML sécurisés
    • Implications de l'utilisation des données en termes de confidentialité
    • Identifier les problèmes réglementaires potentiels

Section 3 : Préparation et traitement des données

    3.1 Ingestion de données. Points à prendre en compte :

    • Ingestion de divers types de fichiers (par exemple, CSV, JSON, img, Parquet ou bases de données, Hadoop/Spark)
    • Migration de bases de données
    • Ingestion de données par flux (par exemple, depuis des appareils IoT)

    3.2 Exploration des données (automatisation de la conception électronique). Points à prendre en compte :

    • Visualisation
    • Principes de base des statistiques à grande échelle
    • Évaluation de la qualité des données et de la faisabilité

    3.3 Concevoir des pipelines de données. Points à prendre en compte :

    • Concevoir des pipelines de données par flux et par lot à grande échelle
    • Confidentialité et conformité des données
    • Surveiller/Modifier des pipelines déployés

    3.4 Compiler des pipelines de données. Points à prendre en compte :

    • Valider les données
    • Gérer les données manquantes
    • Gérer les anomalies
    • Gérer des échantillons importants (TFRecords)
    • Transformer les données (TensorFlow Transform)

    3.5 Extraction de caractéristiques. Points à prendre en compte :

    • Fuites et augmentation des données
    • Encodage des types de données structurées
    • Sélection des caractéristiques
    • Déséquilibre des classes
    • Croisements de caractéristiques

Section 4 : Développement de modèles de ML

    4.1 Compiler un modèle. Points à prendre en compte :

    • Choix du framework et du modèle
    • Techniques de modélisation selon les critères d'interprétabilité
    • Apprentissage par transfert
    • Généralisation des modèles
    • Surapprentissage

    4.2 Entraîner un modèle. Points à prendre en compte :

    • Mettre un modèle en production
    • Entraîner un modèle en tant que tâche dans différents environnements
    • Suivre les métriques pendant l'entraînement
    • Évaluer les besoins de réentraînement/redéploiement

    4.3 Tester un modèle. Points à prendre en compte :

    • Tests unitaires pour l'entraînement et les inférences du modèle
    • Performance du modèle au fil du temps par rapport à des références et à des modèles plus simples
    • Explicabilité du modèle sur Cloud AI Platform

    4.4 Entraîner un modèle et effectuer des inférences à grande échelle. Points à prendre en compte :

    • Entraînement distribué
    • Accélérateurs matériels
    • Analyse de modèles évolutive (par exemple, fichiers de sortie Cloud Storage, Dataflow, BigQuery, Google Data Studio)

Section 5 : Automatisation et orchestration de pipelines de ML

    5.1 Concevoir un pipeline. Points à prendre en compte :

    • Identification des composants, des paramètres, des déclencheurs et des besoins en calcul
    • Framework d'orchestration
    • Stratégies hybrides ou multicloud

    5.2 Mettre en œuvre un pipeline d'entraînement. Points à prendre en compte :

    • Dissocier les composants avec Cloud Build
    • Élaborer et tester les paramètres de définition du pipeline dans le SDK
    • Régler les performances de calcul
    • Valider les données
    • Stocker les données et les artefacts générés

    5.3 Mettre en œuvre un pipeline d'inférence. Points à prendre en compte :

    • Options du binaire du modèle
    • Options d'inférence de Google Cloud
    • Tester les performances cibles
    • Configurer le déclencheur et la programmation du pipeline

    5.4 Suivre les métadonnées et effectuer un audit. Points à prendre en compte :

    • Organiser et suivre les tests et les exécutions de pipelines
    • Gérer les versions pour les modèles et les ensembles de données
    • Traçabilité des modèles/ensembles de données

    5.5 Tester et déployer des modèles à l'aide de processus CI/CD. Points à prendre en compte :

    • Intégrer des modèles à un système de déploiement CI/CD existant
    • Tests A/B et tests en version Canary

Section 6 : Surveillance, optimisation et maintien des solutions de ML

    6.1 Surveiller des solutions de ML. Points à prendre en compte :

    • Performances et qualité commerciale des prédictions de modèles de ML
    • Stratégies de journalisation
    • Définir des métriques d'évaluation continue

    6.2 Procéder au dépannage des solutions de ML. Points à prendre en compte :

    • Problèmes d'autorisation (IAM)
    • Erreurs courantes d'entraînement et d'inférence (TensorFlow)
    • Défaillances du système et biais liés au ML

    6.3 Régler les performances des solutions de ML pour l'entraînement et les inférences en production. Points à prendre en compte :

    • Optimisation et simplification du pipeline d'entrée pour l'entraînement
    • Techniques de simplification
    • Identification d'une stratégie de réentraînement adaptée