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.
Die systematische Dokumentation von ML-Experimenten – Hyperparameter, Metriken, Code-Versionen und Artefakte, um Ergebnisse reproduzierbar und vergleichbar zu machen.
Experiment Tracking ist die systematische Dokumentation aller ML-Experimente. Statt “ich glaube, letzte Woche hat Learning Rate 0.001 besser funktioniert” hast du harte Daten.
Was wird getrackt?
Experiment: fraud-detection-v3
├── Hyperparameter: lr=0.001, batch_size=32, epochs=50
├── Metriken: accuracy=0.94, f1=0.87, loss=0.23
├── Daten: dataset-v2.3 (sha256: abc123...)
├── Code: commit 7f3a2b1
├── Artefakte: model.pkl, confusion_matrix.png
└── Meta: GPU=A100, runtime=2h34m, user=alice
Warum ist das wichtig?
import mlflow
mlflow.set_experiment("fraud-detection")
with mlflow.start_run():
# Hyperparameter loggen
mlflow.log_param("learning_rate", 0.001)
mlflow.log_param("batch_size", 32)
# Training...
model = train_model(...)
# Metriken loggen
mlflow.log_metric("accuracy", 0.94)
mlflow.log_metric("f1_score", 0.87)
# Artefakte speichern
mlflow.log_artifact("confusion_matrix.png")
mlflow.sklearn.log_model(model, "model")
import wandb
wandb.init(project="fraud-detection")
wandb.config = {"learning_rate": 0.001, "batch_size": 32}
for epoch in range(epochs):
# Training...
wandb.log({"loss": loss, "accuracy": acc})
wandb.finish()
| Practice | Beschreibung |
|---|---|
| Alles tracken | Auch fehlgeschlagene Experimente |
| Automatisierung | Tracking in Training-Pipeline integrieren |
| Naming Convention | Konsistente Namen für Experimente |
| Tags nutzen | Kategorisierung für spätere Suche |
| Artefakte speichern | Modelle, Plots, Configs |
Experiment Tracking ist wie ein Laborjournal: Jedes Experiment wird dokumentiert – was wurde versucht, welche Parameter, welche Ergebnisse. So kannst du später nachvollziehen, was funktioniert hat und warum.
Dokumentation aller Hyperparameter, Metriken und Artefakte
Vergleich verschiedener Experimente und Modellversionen
Reproduzierbarkeit: Jedes Experiment kann wiederholt werden
Hyperparameter-Tuning
Verschiedene Konfigurationen vergleichen und beste finden
Team-Kollaboration
Experimente im Team teilen und aufeinander aufbauen
Reproduzierbarkeit
Ergebnisse später exakt reproduzieren können
Mindestens: Hyperparameter, Metriken (Loss, Accuracy, etc.), Daten-Version, Code-Version. Idealerweise auch: Modell-Artefakte, Visualisierungen, Hardware-Info, Laufzeit.
Git ist gut für Code, aber schlecht für große Modelle, Metriken-Zeitreihen und Vergleiche. Für ernsthafte ML-Arbeit lohnt sich ein dediziertes Tool.
Alle. Auch fehlgeschlagene Experimente sind wertvoll – sie zeigen, was nicht funktioniert. Storage ist billig, verlorenes Wissen ist teuer.