Articles

Ein Überblick über den End-to-End-Workflow für maschinelles Lernen

Symbol eines Auges

In diesem Abschnitt geben wir einen allgemeinen Überblick über einen typischen Workflow für die auf maschinellem Lernen basierende Softwareentwicklung.Im Allgemeinen besteht das Ziel eines maschinellen Lernprojekts darin, ein statistisches Modell zu erstellen, indem gesammelte Daten verwendet und Algorithmen für maschinelles Lernen darauf angewendet werden.Daher enthält jede ML-basierte Software drei Hauptartefakte: Daten, ML-Modell und Code. Entsprechend diesen Artefakten besteht der typische Workflow für maschinelles Lernen aus drei Hauptphasen:

  • Data Engineering: Datenerfassung & Datenvorbereitung,
  • ML Model Engineering: ML Model Training & Servieren und
  • Code Engineering: Integration des ML-Modells in das Endprodukt.

Die folgende Abbildung zeigt die wichtigsten Schritte eines typischen ML-Workflows.

Machine Learning Engineering

Data Engineering

Der erste Schritt in jedem Data Science-Workflow besteht darin, die zu analysierenden Daten zu erfassen und vorzubereiten.In der Regel werden Daten aus verschiedenen Ressourcen integriert und haben unterschiedliche Formate.Die Datenaufbereitung folgt dem Datenerfassungsschritt, der laut Gartner „ein iterativer und agiler Prozess zum Erkunden, Kombinieren, Bereinigen und Transformieren von Rohdaten in kuratierte Datensätze für Datenintegration, Data Science, Data Discovery und Analytics / Business Intelligence (BI) ist) Anwendungsfälle“.Obwohl die Vorbereitungsphase eine Zwischenphase ist, die darauf abzielt, Daten für die Analyse vorzubereiten, wird berichtet, dass diese Phase in Bezug auf Ressourcen und Zeit am teuersten ist.Die Datenaufbereitung ist eine kritische Aktivität im Data-Science-Workflow, da es wichtig ist, die Ausbreitung von Datenfehlern auf die nächste Phase, die Datenanalyse, zu vermeiden, da dies zur Ableitung falscher Erkenntnisse aus den Daten führen würde.

Die Data Engineering-Pipeline enthält eine Abfolge von Vorgängen mit den verfügbaren Daten, die zur Bereitstellung von Trainings- und Testdatensätzen für die Algorithmen für maschinelles Lernen führen:

  1. Datenaufnahme – Sammeln von Daten mithilfe verschiedener Frameworks und Formate wie Spark, HDFS, CSV usw. Dieser Schritt kann auch die Generierung synthetischer Daten oder die Datenanreicherung umfassen.
  2. Exploration und Validierung – Beinhaltet Datenprofilierung, um Informationen über den Inhalt und die Struktur der Daten zu erhalten. Die Ausgabe dieses Schritts ist ein Satz von Metadaten, z. B. max, min, avg von Werten. Datenvalidierungsoperationen sind benutzerdefinierte Fehlererkennungsfunktionen, die den Datensatz scannen, um einige Fehler zu erkennen.
  3. Data Wrangling (Bereinigung) – Der Prozess der Neuformatierung bestimmter Attribute und der Korrektur von Fehlern in Daten, z. B. der Imputation fehlender Werte.
  4. Data Labeling – Der Betrieb der Data Engineering Pipeline, bei dem jeder Datenpunkt einer bestimmten Kategorie zugeordnet ist.
  5. Datenaufteilung – Aufteilung der Daten in Trainings-, Validierungs- und Testdatensätze, die während der Kernphasen des maschinellen Lernens zur Erstellung des ML-Modells verwendet werden.

Model Engineering

Der Kern des ML-Workflows ist die Phase des Schreibens und Ausführens von Algorithmen für maschinelles Lernen, um ein ML-Modell zu erhalten. Die Model Engineering-Pipeline umfasst eine Reihe von Vorgängen, die zu einem endgültigen Modell führen:

  1. Modelltraining – Der Prozess der Anwendung des maschinellen Lernalgorithmus auf Trainingsdaten, um ein ML-Modell zu trainieren. Es enthält auch Feature-Engineering und die Hyperparameter-Abstimmung für die Modelltrainingsaktivität.
  2. Modellbewertung – Validierung des trainierten Modells, um sicherzustellen, dass es die ursprünglichen kodifizierten Ziele erfüllt, bevor das ML-Modell in der Produktion für den Endbenutzer bereitgestellt wird.
  3. Modelltest – Durchführen des endgültigen „Modellakzeptanztests“ mithilfe des Datasets „Hold Backtest“.
  4. Model Packaging – Der Prozess des Exports des endgültigen ML-Modells in ein bestimmtes Format (z. B. PMML, PFA oder ONNX), das das Modell beschreibt, um von der Geschäftsanwendung verwendet zu werden.

Modellbereitstellung

Sobald wir ein Modell für maschinelles Lernen trainiert haben, müssen wir es als Teil einer Geschäftsanwendung wie einer mobilen oder Desktop-Anwendung bereitstellen.Die ML-Modelle benötigen verschiedene Datenpunkte (Merkmalsvektoren), um Vorhersagen zu treffen.Die letzte Stufe des ML-Workflows ist die Integration des zuvor entwickelten ML-Modells in die vorhandene Software.Diese Phase umfasst die folgenden Vorgänge:

  1. Model Serving – Der Prozess der Adressierung des ML-Modellartefakts in einer Produktionsumgebung.
  2. Modellleistungsüberwachung – Der Prozess der Beobachtung der ML-Modellleistung basierend auf Live- und zuvor nicht gesehenen Daten wie Vorhersagen oder Empfehlungen. Insbesondere sind wir an ML-spezifischen Signalen interessiert, wie z. B. der Abweichung der Vorhersage von der Leistung des vorherigen Modells. Diese Signale können als Auslöser für das Modell-Re-Training verwendet werden.
  3. Modellleistungsprotokollierung – Jede Inferenzanforderung führt zum Protokolldatensatz.