Algorithmen-agnostisches Modellerstellen mit Mlflow

Algorithmen-agnostisches Modellerstellen mit Mlflow

mlflow.pyfunc ist ein leistungsstarkes Tool, das es ermöglicht, ML-Pipelines zu erstellen, zu loggen und zu laden. Zuerst wird ein einfaches Beispiel vorgestellt, wie man die mlflow.pyfunc Klasse erstellt. Anhand eines Toy-Modells wird veranschaulicht, wie ein benutzerdefiniertes Python-Modell implementiert werden kann, das keine Standard-Machine-Learning-Algorithmen sein muss. Nachdem das Modell erstellt wurde, wird es geloggt und anschließend geladen, um Vorhersagen zu machen.

Ein weiterer Schritt besteht darin, eine ML-Pipeline zu erstellen, die einen Schätzer mit zusätzlicher benutzerdefinierter Logik integriert. Die XGB_PIPELINE Klasse ist ein Beispiel für eine solche Wrapper-Klasse, die den Schätzer mit Vorverarbeitungsschritten integriert. Mit mlflow.pyfunc wird eine einheitliche Modellrepräsentation erreicht, die schätzerunabhängig ist. Methoden wie fit(), predict() und DMatrix() werden implementiert, um die Interaktion mit dem Modell zu erleichtern.

Das trainierte Modell kann dann geloggt und geladen werden, um Vorhersagen zu machen. Nachdem das Modell erfolgreich geloggt wurde, kann es zur Inferenz verwendet werden. Eine wichtige Funktion von mlflow.pyfunc ist die ModelInfo-Klasse, die Metadaten und Informationen über das geloggte Modell enthält. Durch das Entpacken des Modells können benutzerdefinierte Methoden und Attribute der ML-Pipeline leicht abgerufen werden, um das Modell für spezifische Anforderungen anzupassen.

Die Rolle des Kontext-Parameters bei der Vorhersage mit mlflow.pyfunc wird ebenfalls erklärt. Der Kontext ist ein PythonModelContext-Objekt, das von mlflow automatisch erstellt wird und Artefakte enthält, die das pyfunc-Modell zur Inferenz verwenden kann. Die Artefakte werden automatisch im mlruns Unterordner des Projekts erstellt und enthalten Informationen wie Anforderungen und Konfigurationen zum Laden und Servieren des Modells. Durch die Verwendung des Kontexts kann das Modell auf diese Artefakte zugreifen, um reibungslose Vorhersagen zu ermöglichen.