Maschinelles Lernen: Mit Werkzeugen und Praktiken von MLOps in die Produktion

Maschinelles Lernen: Mit Werkzeugen und Praktiken von MLOps in die Produktion

13. März 2020 0 Von Horst Buchwald

Maschinelles Lernen: Mit Werkzeugen und Praktiken von MLOps in die Produktion

New York, 13.3.2020

Wer mit DevOps den höchsten Level auf Produktionsebene erreichen will, steht vor einer einzigartigen Herausforderung. Wie gut, dass nun unter dem Namen MLOps ein neuer Raum von Werkzeugen und Praktiken entsteht, der zwar analog zu DevOps steht, doch auf die Praktiken und Arbeitsabläufe des maschinellen Lernens zugeschnitten ist.
Modelle für maschinelles Lernen machen Vorhersagen für neue Daten auf der Grundlage der Daten, mit denen sie trainiert wurden. Die bisherige Art der Verwaltung dieser Daten ist einer der Hauptgründe, warum 80 Prozent der datenwissenschaftlichen Projekte nie in die Produktion gelangen – eine Schätzung von Gartner.
Es ist von entscheidender Bedeutung, dass die Daten sauber, korrekt und sicher zu verwenden sind, ohne dass es zu Problemen mit der Privatsphäre oder zu Ungenauigkeiten und Fehlern kommt. Auch reale Daten können sich ständig ändern, so dass die Eingaben und Vorhersagen auf eventuelle für das Modell problematische Verschiebungen überwacht werden müssen. Dies sind komplexe Herausforderungen.
Hintergrund: Die Praktiken von DevOps konzentrieren sich auf den „Build and Release“-Prozess und die kontinuierliche Integration. Traditionelle Entwicklungs-Builds sind Pakete mit ausführbaren Artefakten, die aus dem Quellcode kompiliert werden. Nicht den Code unterstützende Daten in diesen Builds sind in der Regel auf relativ kleine statische Konfigurationsdateien beschränkt. Im Wesentlichen ist das traditionelle DevOps darauf ausgerichtet, Programme zu erstellen, die aus Sätzen explizit definierter Regeln bestehen, die als Reaktion auf bestimmte Eingaben spezifische Ergebnisse liefern.
Im Gegensatz dazu machen maschinell lernende Modelle Vorhersagen, indem sie indirekt Muster aus Daten erfassen, und nicht indem sie alle Regeln formulieren. Ein charakteristisches maschinelles Lernproblem besteht darin, neue Vorhersagen auf der Grundlage bekannter Daten zu treffen, wie z.B. die Vorhersage des Preises eines Hauses unter Verwendung bekannter Hauspreise und Details wie die Anzahl der Schlafzimmer, die Quadratmeterzahl und die Lage. Bei maschinellen Lernprogrammen läuft eine Pipeline, die Muster aus Daten extrahiert und ein gewichtetes maschinelles Lernmodell-Artefakt erstellt. Dadurch werden diese Bauwerke weitaus komplexer und der gesamte datenwissenschaftliche Arbeitsablauf wird experimenteller. Daher besteht ein wesentlicher Teil der MLOps-Herausforderung darin, mehrstufige maschinelle Lernmodell-Builds zu unterstützen, die große Datenmengen und variierende Parameter beinhalten.
Um Projekte sicher in Live-Umgebungen durchzuführen, müssen wir in der Lage sein, Problemsituationen zu überwachen und zu sehen, wie wir Dinge beheben können, wenn sie schief gehen. Es gibt ziemlich standardmäßige DevOps-Praktiken für die Aufzeichnung von Code-Builds, um zu alten Versionen zurückzukehren. Aber bei MLOps gibt es noch keine Standardisierung darüber, wie man die Daten aufzeichnet und zu den Daten zurückkehrt, die zum Trainieren einer Version eines Modells verwendet wurden.
Es gibt auch besondere Herausforderungen, denen sich MLOps in der Live-Umgebung stellen muss. Es gibt weitgehend übereinstimmende DevOps-Ansätze für die Überwachung auf Fehlercodes oder eine Erhöhung der Latenzzeit. Aber es ist eine andere Herausforderung, schlechte Vorhersagen zu überwachen. Es kann sein, dass Sie keine direkte Möglichkeit haben, zu wissen, ob eine Vorhersage gut ist, und dass Sie stattdessen indirekte Signale wie das Kundenverhalten (Konversionen, die Rate der Kunden, die die Website verlassen, jegliches Feedback) überwachen müssen. Es kann auch schwierig sein, im Voraus zu wissen, wie gut Ihre Trainingsdaten Ihre Live-Daten repräsentieren. Sie könnten beispielsweise auf allgemeiner Ebene gut übereinstimmen, aber es könnte spezifische Arten von Ausnahmen geben. Dieses Risiko kann durch sorgfältige Überwachung und vorsichtiges Management der Einführung neuer Versionen gemildert werden.
Die MLOps-Tool-Szene
Der Aufwand für die Lösung von MLOps-Herausforderungen kann durch die Nutzung einer Plattform und deren Anwendung auf den jeweiligen Fall reduziert werden. Viele Organisationen stehen vor der Wahl, ob sie eine serienmäßige maschinelle Lernplattform verwenden oder versuchen, selbst eine interne Plattform zusammenzustellen, indem sie Open-Source-Komponenten zusammenstellen.
Einige maschinelle Lernplattformen sind Teil des Angebots eines Cloud-Anbieters, wie z.B. AWS SageMaker oder AzureML. Je nach der Cloud-Strategie der Organisation kann dies attraktiv sein oder auch nicht. Andere Plattformen sind nicht cloud-genau und bieten stattdessen eine Selbstinstallation oder eine individuell gehostete Lösung an (z.B. Databricks MLflow).