MLEM: Modelle fĂĽrs Machine Learning via GitOps bereitstellen
Das Open-Source-Tool MLEM unterstĂĽtzt ML-Fachleute bei der produktiven Inbetriebnahme ihrer Modelle mit Git-kompatiblen, standardisierten Metainformationen.
(Bild: Miriam Doerr, Martin Frommherz/Shutterstock.com)
Die unter anderem fĂĽr das Open-Source-Werkzeug DVC (Data Version Control) zur Versionierung in Machine-Learning-Projekten bekannte Plattform Iterative.ai hat ein weiteres OSS-Tool fĂĽr die einfachere Arbeit mit ML-Modellen vorgestellt: MLEM. In Zusammenarbeit mit DVC und auch GTO (Git Tag Ops) soll MLEM die Basis fĂĽr eine Git-basierte ML-Model-Registry schaffen, die ML-Expertinnen und -Experten das Bereitstellen ihrer Modelle fĂĽr den produktiven Einsatz in Apps und Services erleichtert.
Mit der ML-Model-Registry auf dem Weg zu GitOps
Laut der Ankündigung von Iterative.ai extrahiert MLEM automatisch die wichtigsten Metainformationen wie Umgebung und Frameworks aus den ML-Modellen und überführt sie in ein lesbares YAML-Format, das ML-Teams via Git direkt für ihre Deployment-Pipelines nutzen können. Durch die Integration mit Git soll MLEM die Möglichkeit eröffnen, eine ML-Model-Registry aufzubauen, die das Application Lifecycle Management nach den von CI/CD (Continuous Integration/Continuous Delivery) bekannten Prinzipien sowie deren Vorteile auf ML-Modelle überträgt. Alexander Guschin, ML Engineer bei Iterative.ai, ist überzeugt, das ML-Teams mit MLEM einen entscheidenden Schritt in Richtung GitOps vollziehen können – insbesondere an der Schwelle vom Modelltraining zum produktiven Einsatz.
Videos by heise
MLEM ist im Hinblick auf die im Machine Learning weit verbreitete Programmiersprache Python ein spezifisch auf Python zugeschnittenes Tool, das eine CLI zur Verfügung stellt, um die extrahierten Metainformationen der ML-Modelle zu ML-Frameworks, Dependencies, Methoden und Input/Output-Datenschema in einer YAML-Datei zusammenzufassen und dann via Code weiterverarbeiten zu können.
# mlem-model.mlem
artifacts:
data:
hash: b7f7e869f2b9270c516b546f09f49cf7
size: 166864
uri: mlem-model
description: Random Forest Classifier
labels:
- random-forest
- classifier
model_type:
methods:
predict_proba:
args:
- name: data
type_:
columns:
- sepal length (cm)
- sepal width (cm)
- petal length (cm)
- petal width (cm)
dtypes:
- float64
- float64
- float64
- float64
index_cols: []
type: dataframe
name: predict_proba
returns:
dtype: float64
shape:
- null
- 3
type: ndarray
type: sklearn
object_type: model
requirements:
- module: sklearn
version: 1.0.2
- module: pandas
version: 1.4.1
- module: numpy
version: 1.22.3
Damit lassen sich bestehende ML-Modelle etwa in eine Python-Laufzeitumgebung importieren und direkt ausführen. Auch der Export über ein Docker-Image in ein anderes Format wie ONNX ist möglich – offizieller Support für .onnx soll allerdings erst in einem der nächsten Releases folgen. Darüber hinaus können ML-Teams MLEM nutzen, um ihre Modelle zur Bereitstellung an Provider wie Heroku zu übertragen.
Einen vollständigen Überblick zum Funktionsumfang von MLEM liefert der Blogbeitrag zur Ankündigung des Tools. MLEM steht unter Apache-2.0-Lizenz auf GitHub zur Verfügung.
(map)