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

    1.1 Geschäftliche Herausforderung in einen ML-Anwendungsfall übersetzen. Folgendes sollte dabei berücksichtigt werden:

    • Geschäftliche Herausforderungen definieren
    • Nicht-ML-Lösungen identifizieren
    • Verwendung der Ausgabe definieren
    • Falsche Ergebnisse verwalten
    • Datenquellen identifizieren

    1.2 ML-Problem definieren. Folgendes sollte dabei berücksichtigt werden:

    • Art des Problems definieren (Klassifizierung, Regression, Clustering usw.)
    • Ergebnis der Modellvorhersagen definieren
    • Eingabe (Features) und Format der vorhergesagten Ausgabe definieren

    1.3 Kriterien für den geschäftlichen Erfolg festlegen. Folgendes sollte dabei berücksichtigt werden:

    • Erfolgsmesswerte
    • Wichtigste Ergebnisse
    • Kriterien, an denen sich erkennen lässt, wann ein Modell nicht erfolgreich ist

    1.4 Risiken für die Umsetzbarkeit und Implementierung der ML-Lösung identifizieren. Folgendes sollte dabei berücksichtigt werden:

    • 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)

Abschnitt 2: Architektur der ML-Lösung

    2.1 Zuverlässige, skalierbare, hochverfügbare ML-Lösungen entwickeln. Folgendes sollte dabei berücksichtigt werden:

    • Datennutzung und -speicherung optimieren
    • Datenverbindungen
    • Datenvorbereitung und Modelltraining/-bereitstellung automatisieren
    • SDLC-Best Practices

    2.2 Geeignete Google Cloud-Softwarekomponenten auswählen. Folgendes sollte dabei berücksichtigt werden:

    • Verschiedene Komponententypen (Datenerfassung; Datenverwaltung)
    • Explorative Datenanalyse
    • Feature Engineering
    • Logging/Verwaltung
    • Automatisierung
    • Monitoring
    • Bereitstellung

    2.3 Geeignete Google Cloud-Hardwarekomponenten auswählen. Folgendes sollte dabei berücksichtigt werden:

    • Auswahl von Kontingenten und Computing-Ressourcen/Beschleunigern

    2.4 Architektur unter Beachtung von rechtlichen Vorgaben und Sicherheitsaspekten entwickeln.
    Folgendes sollte dabei berücksichtigt werden:

    • Sichere ML-Systeme aufbauen
    • Auswirkungen der Datennutzung auf den Datenschutz
    • Mögliche regulatorische Probleme erkennen

Abschnitt 3: Datenaufbereitung und -verarbeitung

    3.1 Datenaufnahme. Folgendes sollte dabei berücksichtigt werden:

    • Aufnahme verschiedener Dateitypen (z. B. CSV, JSON, IMG, Parquet oder Datenbanken, Hadoop/Spark)
    • Datenbankmigration
    • Streaming von Daten (z. B. von IoT-Geräten)

    3.2 Explorative Datenanalyse (EDA). Folgendes sollte dabei berücksichtigt werden:

    • Visualisierung
    • Statistische Grundlagen im großen Maßstab
    • Evaluierung der Datenqualität und der Umsetzbarkeit

    3.3 Datenpipelines entwickeln. Folgendes sollte dabei berücksichtigt werden:

    • Datenpipeline-Batching und -Streaming im großen Maßstab
    • Datenschutz und Compliance
    • Monitoring/Ändern bereitgestellter Pipelines

    3.4 Datenpipelines erstellen. Folgendes sollte dabei berücksichtigt werden:

    • Datenvalidierung
    • Umgang mit fehlenden Daten
    • Umgang mit Ausreißern
    • Verwaltung großer Stichproben (TFRecords)
    • Transformationen (TensorFlow Transform)

    3.5 Feature Engineering. Folgendes sollte dabei berücksichtigt werden:

    • Datenlecks und Erweiterung
    • Codierung strukturierter Datentypen
    • Auswahl von Merkmalen
    • Klassenungleichgewicht
    • Featureverknüpfungen

Abschnitt 4: Entwicklung des ML-Modells

    4.1 Modell erstellen. Folgendes sollte dabei berücksichtigt werden:

    • Auswahl von Framework und Modell
    • Modellierungstechniken abhängig von den Anforderungen an die Interpretierbarkeit
    • Lerntransfer
    • Modellgeneralisierung
    • Überanpassung

    4.2 Modell trainieren. Folgendes sollte dabei berücksichtigt werden:

    • Zur Produktionsreife bringen
    • Modell als Job in verschiedenen Umgebungen trainieren
    • Messwerte während des Trainings verfolgen
    • Erneutes Trainieren/Bereitstellen evaluieren

    4.3 Modell testen. Folgendes sollte dabei berücksichtigt werden:

    • 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

    4.4 Trainieren und Bereitstellen des Modells skalieren. Folgendes sollte dabei berücksichtigt werden:

    • Verteiltes Training
    • Hardwarebeschleuniger
    • Skalierbare Modellanalyse (z. B. Cloud Storage-Ausgabedateien, Dataflow, BigQuery, Google Data Studio)

Abschnitt 5: Automatisierung und Orchestrierung der ML-Pipeline

    5.1 Pipeline entwickeln. Folgendes sollte dabei berücksichtigt werden:

    • Identifizieren von Komponenten, Parametern, Triggern und Computing-Anforderungen
    • Framework für die Orchestrierung
    • Hybrid- oder Multi-Cloud-Strategien

    5.2 Trainingspipeline implementieren. Folgendes sollte dabei berücksichtigt werden:

    • Komponenten mit Cloud Build entkoppeln
    • Parametrisierte Pipelinedefinition im SDK erstellen und testen
    • Rechenleistung abstimmen
    • Daten validieren
    • Daten und generierte Artefakte speichern

    5.3 Bereitstellungspipeline implementieren. Folgendes sollte dabei berücksichtigt werden:

    • Modellbinäroptionen
    • Google Cloud-Bereitstellungsoptionen
    • Tests der Leistung der Zielsysteme
    • Aufstellen des Trigger- und Pipelinezeitplans

    5.4 Metadaten verfolgen und prüfen. Folgendes sollte dabei berücksichtigt werden:

    • Tests und Pipelineausführungen organisieren und verfolgen
    • Mit Modell- und Dataset-Versionsverwaltung verknüpfen
    • Modell-/Dataset-Herkunft

    5.5 CI/CD zum Testen und Bereitstellen von Modellen verwenden. Folgendes sollte dabei berücksichtigt werden:

    • Verknüpfung der Modelle mit vorhandenem CI-/CD-Bereitstellungssystem
    • A/B- und Canary-Tests

Abschnitt 6: Monitoring, Optimierung und Pflege der ML-Lösung

    6.1 ML-Lösungen überwachen. Folgendes sollte dabei berücksichtigt werden:

    • Leistung und Qualität der ML-Modellvorhersagen für das Unternehmen
    • Logging-Strategien
    • Festlegen von Messwerten für die kontinuierliche Evaluierung

    6.2 Probleme/Fehler in ML-Lösungen beheben. Folgendes sollte dabei berücksichtigt werden:

    • Berechtigungsprobleme (IAM)
    • Häufige Trainings- und Bereitstellungsfehler (TensorFlow)
    • Ausfälle und Verzerrungen des ML-Systems

    6.3 Leistung der ML-Lösungen für Training und Bereitstellung in der Produktion anpassen. Folgendes sollte dabei berücksichtigt werden:

    • Eingabepipeline für das Training optimieren und vereinfachen
    • Vereinfachungsmethoden
    • Geeignete Richtlinie für erneutes Trainieren erarbeiten