Professional Machine Learning Engineer
Tätigkeitsbeschreibung
Ein Professional Machine Learning Engineer entwickelt und erstellt Modelle für maschinelles Lernen (ML) und bringt sie zur Produktionsreife, um geschäftliche Herausforderungen mithilfe von Google Cloud-Technologien und seinen Kenntnissen über bewährte ML-Modelle und -Verfahren zu lösen. Er arbeitet eng mit anderen Jobrollen zusammen, um den langfristigen Erfolg der Modelle sicherzustellen. Der Machine Learning Engineer sollte mit allen Aspekten der Modellarchitektur, der Datenpipeline-Interaktion und der Interpretation von Messwerten vertraut sein. Außerdem sollte er Erfahrung in der Anwendungsentwicklung, Infrastrukturverwaltung, Sicherheit und im Data Engineering haben. Durch fachkundiges Trainieren, erneutes Trainieren, Bereitstellen, Planen, Monitoring und Verbessern der Modelle entwickelt und erstellt er skalierbare Lösungen mit optimaler Leistung.
Prüfungsleitfaden
Abschnitt 1: Grundzüge des ML-Problems
- Geschäftliche Herausforderungen definieren
- Nicht-ML-Lösungen identifizieren
- Verwendung der Ausgabe definieren
- Falsche Ergebnisse verwalten
- Datenquellen identifizieren
- Art des Problems definieren (Klassifizierung, Regression, Clustering usw.)
- Ergebnis der Modellvorhersagen definieren
- Eingabe (Features) und Format der vorhergesagten Ausgabe definieren
- Erfolgsmesswerte
- Wichtigste Ergebnisse
- Kriterien, an denen sich erkennen lässt, wann ein Modell nicht erfolgreich ist
- Auswirkungen auf das Unternehmen bewerten und kommunizieren
- Bereitschaft der ML-Lösung bewerten
- Datenbereitschaft bewerten
- KI-Prinzipien und -Praktiken von Google beachten (z. B. verschiedene Verzerrungen)
1.1 Geschäftliche Herausforderung in einen ML-Anwendungsfall übersetzen. Folgendes sollte dabei berücksichtigt werden:
1.2 ML-Problem definieren. Folgendes sollte dabei berücksichtigt werden:
1.3 Kriterien für den geschäftlichen Erfolg festlegen. Folgendes sollte dabei berücksichtigt werden:
1.4 Risiken für die Umsetzbarkeit und Implementierung der ML-Lösung identifizieren. Folgendes sollte dabei berücksichtigt werden:
Abschnitt 2: Architektur der ML-Lösung
- Datennutzung und -speicherung optimieren
- Datenverbindungen
- Datenvorbereitung und Modelltraining/-bereitstellung automatisieren
- SDLC-Best Practices
- Verschiedene Komponententypen (Datenerfassung; Datenverwaltung)
- Explorative Datenanalyse
- Feature Engineering
- Logging/Verwaltung
- Automatisierung
- Monitoring
- Bereitstellung
- Auswahl von Kontingenten und Computing-Ressourcen/Beschleunigern
- Sichere ML-Systeme aufbauen
- Auswirkungen der Datennutzung auf den Datenschutz
- Mögliche regulatorische Probleme erkennen
2.1 Zuverlässige, skalierbare, hochverfügbare ML-Lösungen entwickeln. Folgendes sollte dabei berücksichtigt werden:
2.2 Geeignete Google Cloud-Softwarekomponenten auswählen. Folgendes sollte dabei berücksichtigt werden:
2.3 Geeignete Google Cloud-Hardwarekomponenten auswählen. Folgendes sollte dabei berücksichtigt werden:
2.4 Architektur unter Beachtung von rechtlichen Vorgaben und Sicherheitsaspekten entwickeln.
Folgendes sollte dabei berücksichtigt werden:
Abschnitt 3: Datenaufbereitung und -verarbeitung
- Aufnahme verschiedener Dateitypen (z. B. CSV, JSON, IMG, Parquet oder Datenbanken, Hadoop/Spark)
- Datenbankmigration
- Streaming von Daten (z. B. von IoT-Geräten)
- Visualisierung
- Statistische Grundlagen im großen Maßstab
- Evaluierung der Datenqualität und der Umsetzbarkeit
- Datenpipeline-Batching und -Streaming im großen Maßstab
- Datenschutz und Compliance
- Monitoring/Ändern bereitgestellter Pipelines
- Datenvalidierung
- Umgang mit fehlenden Daten
- Umgang mit Ausreißern
- Verwaltung großer Stichproben (TFRecords)
- Transformationen (TensorFlow Transform)
- Datenlecks und Erweiterung
- Codierung strukturierter Datentypen
- Auswahl von Merkmalen
- Klassenungleichgewicht
- Featureverknüpfungen
3.1 Datenaufnahme. Folgendes sollte dabei berücksichtigt werden:
3.2 Explorative Datenanalyse (EDA). Folgendes sollte dabei berücksichtigt werden:
3.3 Datenpipelines entwickeln. Folgendes sollte dabei berücksichtigt werden:
3.4 Datenpipelines erstellen. Folgendes sollte dabei berücksichtigt werden:
3.5 Feature Engineering. Folgendes sollte dabei berücksichtigt werden:
Abschnitt 4: Entwicklung des ML-Modells
- Auswahl von Framework und Modell
- Modellierungstechniken abhängig von den Anforderungen an die Interpretierbarkeit
- Lerntransfer
- Modellgeneralisierung
- Überanpassung
- Zur Produktionsreife bringen
- Modell als Job in verschiedenen Umgebungen trainieren
- Messwerte während des Trainings verfolgen
- Erneutes Trainieren/Bereitstellen evaluieren
- Unittests für das Trainieren und Bereitstellen des Modells
- Leistung des Modells im Vergleich zu Referenzmodellen, einfacheren Modellen und im Zeitverlauf
- Erklärbarkeit des Modells in der Cloud AI Platform
- Verteiltes Training
- Hardwarebeschleuniger
- Skalierbare Modellanalyse (z. B. Cloud Storage-Ausgabedateien, Dataflow, BigQuery, Google Data Studio)
4.1 Modell erstellen. Folgendes sollte dabei berücksichtigt werden:
4.2 Modell trainieren. Folgendes sollte dabei berücksichtigt werden:
4.3 Modell testen. Folgendes sollte dabei berücksichtigt werden:
4.4 Trainieren und Bereitstellen des Modells skalieren. Folgendes sollte dabei berücksichtigt werden:
Abschnitt 5: Automatisierung und Orchestrierung der ML-Pipeline
- Identifizieren von Komponenten, Parametern, Triggern und Computing-Anforderungen
- Framework für die Orchestrierung
- Hybrid- oder Multi-Cloud-Strategien
- Komponenten mit Cloud Build entkoppeln
- Parametrisierte Pipelinedefinition im SDK erstellen und testen
- Rechenleistung abstimmen
- Daten validieren
- Daten und generierte Artefakte speichern
- Modellbinäroptionen
- Google Cloud-Bereitstellungsoptionen
- Tests der Leistung der Zielsysteme
- Aufstellen des Trigger- und Pipelinezeitplans
- Tests und Pipelineausführungen organisieren und verfolgen
- Mit Modell- und Dataset-Versionsverwaltung verknüpfen
- Modell-/Dataset-Herkunft
- Verknüpfung der Modelle mit vorhandenem CI-/CD-Bereitstellungssystem
- A/B- und Canary-Tests
5.1 Pipeline entwickeln. Folgendes sollte dabei berücksichtigt werden:
5.2 Trainingspipeline implementieren. Folgendes sollte dabei berücksichtigt werden:
5.3 Bereitstellungspipeline implementieren. Folgendes sollte dabei berücksichtigt werden:
5.4 Metadaten verfolgen und prüfen. Folgendes sollte dabei berücksichtigt werden:
5.5 CI/CD zum Testen und Bereitstellen von Modellen verwenden. Folgendes sollte dabei berücksichtigt werden:
Abschnitt 6: Monitoring, Optimierung und Pflege der ML-Lösung
- Leistung und Qualität der ML-Modellvorhersagen für das Unternehmen
- Logging-Strategien
- Festlegen von Messwerten für die kontinuierliche Evaluierung
- Berechtigungsprobleme (IAM)
- Häufige Trainings- und Bereitstellungsfehler (TensorFlow)
- Ausfälle und Verzerrungen des ML-Systems
- Eingabepipeline für das Training optimieren und vereinfachen
- Vereinfachungsmethoden
- Geeignete Richtlinie für erneutes Trainieren erarbeiten
6.1 ML-Lösungen überwachen. Folgendes sollte dabei berücksichtigt werden:
6.2 Probleme/Fehler in ML-Lösungen beheben. Folgendes sollte dabei berücksichtigt werden:
6.3 Leistung der ML-Lösungen für Training und Bereitstellung in der Produktion anpassen. Folgendes sollte dabei berücksichtigt werden: