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
- 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
- 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
- Indicateurs de réussite
- Résultats clés
- Conditions sous lesquelles on considérera que le modèle a échoué
- É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)
1.1 Convertir un défi métier en cas d'utilisation de ML. Points à prendre en compte :
1.2 Définir une problématique liée au ML. Points à prendre en compte :
1.3 Définir les critères de réussite métier. Points à prendre en compte :
1.4 Identifier les obstacles à la faisabilité et à la mise en œuvre d'une solution de ML. Points à prendre en compte :
Section 2 : Architecture des solutions de ML
- 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
- Plusieurs types de composants : collecte des données, gestion des données
- Exploration/Analyse
- Extraction de caractéristiques
- Journalisation/Gestion
- Automatisation
- Surveillance
- Inférence
- Sélection de quotas et d'accélérateurs/de ressources de calcul avec les bons composants
- 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
2.1 Concevoir des solutions de ML fiables, évolutives et à disponibilité élevée. Points à prendre en compte :
2.2 Choisir des composants logiciels Google Cloud adaptés. Points à prendre en compte :
2.3 Choisir des composants matériels Google Cloud adaptés. Points à prendre en compte :
2.4 Concevoir une architecture qui répond aux problématiques de réglementation et de sécurité.
Points à prendre en compte :
Section 3 : Préparation et traitement des données
- 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)
- Visualisation
- Principes de base des statistiques à grande échelle
- Évaluation de la qualité des données et de la faisabilité
- 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
- 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)
- 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
3.1 Ingestion de données. Points à prendre en compte :
3.2 Exploration des données (automatisation de la conception électronique). Points à prendre en compte :
3.3 Concevoir des pipelines de données. Points à prendre en compte :
3.4 Compiler des pipelines de données. Points à prendre en compte :
3.5 Extraction de caractéristiques. Points à prendre en compte :
Section 4 : Développement de modèles de ML
- 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
- 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
- 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
- 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)
4.1 Compiler un modèle. Points à prendre en compte :
4.2 Entraîner un modèle. Points à prendre en compte :
4.3 Tester un modèle. Points à prendre en compte :
4.4 Entraîner un modèle et effectuer des inférences à grande échelle. Points à prendre en compte :
Section 5 : Automatisation et orchestration de pipelines de ML
- Identification des composants, des paramètres, des déclencheurs et des besoins en calcul
- Framework d'orchestration
- Stratégies hybrides ou multicloud
- 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
- 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
- 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
- Intégrer des modèles à un système de déploiement CI/CD existant
- Tests A/B et tests en version Canary
5.1 Concevoir un pipeline. Points à prendre en compte :
5.2 Mettre en œuvre un pipeline d'entraînement. Points à prendre en compte :
5.3 Mettre en œuvre un pipeline d'inférence. Points à prendre en compte :
5.4 Suivre les métadonnées et effectuer un audit. Points à prendre en compte :
5.5 Tester et déployer des modèles à l'aide de processus CI/CD. Points à prendre en compte :
Section 6 : Surveillance, optimisation et maintien des solutions de ML
- Performances et qualité commerciale des prédictions de modèles de ML
- Stratégies de journalisation
- Définir des métriques d'évaluation continue
- 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
- 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
6.1 Surveiller des solutions de ML. Points à prendre en compte :
6.2 Procéder au dépannage des solutions de ML. Points à prendre en compte :
6.3 Régler les performances des solutions de ML pour l'entraînement et les inférences en production. Points à prendre en compte :