DevOps
Die Praxis, Machine-Learning-Modelle zuverlässig und effizient in Produktion zu bringen und zu betreiben – die Verbindung von ML, DevOps und Data Engineering.
Eine Open-Source-Plattform für den gesamten ML-Lifecycle: Experiment-Tracking, Modell-Registry, Deployment und Reproduzierbarkeit von ML-Projekten.
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")
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.
| 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 |
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
MLflow ist wie ein Laborbuch für Data Scientists: Es protokolliert jeden Versuch, speichert die Ergebnisse und macht es möglich, erfolgreiche Experimente exakt zu reproduzieren – und das beste Modell in Produktion zu bringen.
Tracking: Protokolliert Parameter, Metriken und Artefakte jedes Experiments
Model Registry: Zentrale Verwaltung von Modellversionen mit Staging/Production-Workflow
Deployment: Modelle als REST-API, Docker-Container oder Cloud-Service deployen
Experiment-Tracking
Vergleich von Hyperparameter-Kombinationen und Modellarchitekturen
Team-Kollaboration
Gemeinsame Modell-Registry für Data-Science-Teams
Reproduzierbarkeit
Exakte Reproduktion von Experimenten durch vollständige Protokollierung
CI/CD für ML
Automatisierte Modell-Validierung und Deployment-Pipelines
MLflow ist Open-Source und self-hosted, ideal für Unternehmen mit Datenschutzanforderungen. W&B ist SaaS mit besserer UI und Kollaborationsfunktionen. Für kleine Teams: W&B. Für Enterprise mit eigener Infrastruktur: MLflow.
Ja. MLflow hat native Integrationen für PyTorch, TensorFlow, scikit-learn, XGBoost, Hugging Face und viele mehr. Über die generische API funktioniert es mit jedem Framework.
Tracking protokolliert Experimente während der Entwicklung. Die Model Registry verwaltet fertige Modelle mit Versionierung, Staging-Workflow (Staging → Production → Archived) und Zugriffskontrollen.