Sofortantwort
MLflow einfach erklärt
Open-Source MLOps-Plattform für Experiment-Tracking und Modell-Management.
- Kurz gesagt
- Tracking: Protokolliert Parameter, Metriken und Artefakte jedes Experiments
- Typischer Einsatz
- Experiment-Tracking, Team-Kollaboration, Reproduzierbarkeit
- Wichtig zu wissen
- Deployment: Modelle als REST-API, Docker-Container oder Cloud-Service deployen
MLflow im Überblick
MLflow löst ein fundamentales Problem in ML-Projekten: die Reproduzierbarkeit. Ohne ein Tool wie MLflow verliert man schnell den Überblick – welches Experiment hatte die beste Accuracy? Mit welchen Hyperparametern? Auf welchem Datensatz? MLflow protokolliert all das automatisch und macht Experimente vergleichbar.
Die Plattform besteht aus vier Kernkomponenten, die unabhängig voneinander oder zusammen genutzt werden können. Das macht MLflow flexibel: Man kann mit dem Tracking starten und später die Model Registry hinzufügen, wenn das Team wächst.
import mlflow
import mlflow.sklearn
from sklearn.ensemble import RandomForestClassifier
with mlflow.start_run():
# Parameter loggen
mlflow.log_param("n_estimators", 100)
mlflow.log_param("max_depth", 5)
# Modell trainieren
model = RandomForestClassifier(n_estimators=100, max_depth=5)
model.fit(X_train, y_train)
# Metriken loggen
accuracy = model.score(X_test, y_test)
mlflow.log_metric("accuracy", accuracy)
# Modell speichern
mlflow.sklearn.log_model(model, "model")
Technisch betrachtet
Die vier Komponenten
MLflow Tracking: Protokolliert Parameter, Metriken, Tags und Artefakte (Modelle, Plots, Dateien) für jedes Experiment. Alle Runs werden in einer zentralen Datenbank gespeichert und sind über die UI vergleichbar.
MLflow Projects: Standardisiertes Format für reproduzierbare ML-Code-Pakete. Definiert Abhängigkeiten und Entry Points, sodass jeder das Experiment exakt reproduzieren kann.
MLflow Models: Einheitliches Format zum Speichern von Modellen verschiedener Frameworks. Ein MLflow-Modell kann als Python-Funktion, REST-API, Docker-Container oder direkt in Cloud-Plattformen deployed werden.
MLflow Model Registry: Zentrale Modell-Verwaltung mit Versionierung und Lifecycle-Management.
Deployment-Workflow
| Stage | Bedeutung | Wer kann promoten |
|---|---|---|
| None | Experimentell, nicht reviewed | Data Scientist |
| Staging | Kandidat für Produktion, wird getestet | ML Engineer |
| Production | Aktiv in Produktion | MLOps/Manager |
| Archived | Veraltet, nicht mehr aktiv | Automatisch |
MLflow vs. Alternativen
Vergleich der MLOps-Tools:
- MLflow: Open-Source, self-hosted, breite Framework-Unterstützung
- Weights & Biases: Beste UI, SaaS, starke Visualisierungen
- Neptune.ai: Fokus auf Collaboration, SaaS
- DVC: Git-basiertes Data Versioning, kein Tracking
- Kubeflow: Kubernetes-native, komplex, für große Teams