Model Versioning

Die systematische Verwaltung verschiedener Versionen von ML-Modellen – inklusive Gewichte, Hyperparameter, Trainingsdaten und Metriken für Reproduzierbarkeit.

Fortgeschritten2 Min Lesezeit

Erklärung starten

Auf einen Blick

3 Punkte

  1. Versioniert Modell-Gewichte, Code, Daten und Konfiguration
  2. Ermöglicht Reproduzierbarkeit und Rollback
  3. Zentral für MLOps und Compliance

Sofortantwort

Model Versioning einfach erklärt

Systematische Verwaltung von ML-Modell-Versionen für Reproduzierbarkeit.

Kurz gesagt
Versioniert Modell-Gewichte, Code, Daten und Konfiguration
Typischer Einsatz
Reproduzierbarkeit, Rollback, Sicherheit
Wichtig zu wissen
Zentral für MLOps und Compliance

Model Versioning im Überblick

Model Versioning speichert jede Version deines ML-Modells mit allen Informationen, die nötig sind, um es zu reproduzieren. So kannst du jederzeit zurückgehen oder Versionen vergleichen.

Was wird versioniert?

model_v1.0/
├── model.pkl              # Modell-Gewichte
├── config.yaml            # Hyperparameter
├── requirements.txt       # Dependencies
├── training_data_hash.txt # Daten-Referenz
├── metrics.json           # Performance-Metriken
└── metadata.json          # Wer, wann, warum

Lifecycle einer Modellversion:

Development → Staging → Production → Archived
     │           │           │           │
   v0.1       v0.9        v1.0        v0.8
   (Experiment) (Testing)  (Live)     (Retired)

Technisch betrachtet

MLflow Model Registry

import mlflow

# Training und Logging
with mlflow.start_run():
    model = train_model(X, y)
    
    # Metriken loggen
    mlflow.log_metric("accuracy", 0.95)
    mlflow.log_metric("f1_score", 0.93)
    
    # Modell registrieren
    mlflow.sklearn.log_model(
        model, 
        "model",
        registered_model_name="fraud_detector"
    )

# Version zu Production promoten
client = mlflow.tracking.MlflowClient()
client.transition_model_version_stage(
    name="fraud_detector",
    version=3,
    stage="Production"
)

DVC für große Dateien

# Modell tracken (nicht in Git, sondern in DVC)
dvc add models/model.pkl

# Erzeugt models/model.pkl.dvc (klein, geht in Git)
git add models/model.pkl.dvc
git commit -m "Add model v1.0"

# Modell in Remote Storage pushen
dvc push

# Alte Version auschecken
git checkout v0.9
dvc checkout

Hugging Face Hub

from huggingface_hub import HfApi

api = HfApi()

# Modell hochladen mit Version
api.upload_folder(
    folder_path="./my_model",
    repo_id="username/my-model",
    commit_message="v1.0: Improved accuracy"
)

# Bestimmte Version laden
from transformers import AutoModel
model = AutoModel.from_pretrained(
    "username/my-model",
    revision="v1.0"  # Oder commit hash
)

Metadata Schema

{
  "version": "1.0.0",
  "created_at": "2026-03-11T14:30:00Z",
  "created_by": "ml-pipeline",
  "training": {
    "dataset": "s3://data/train_v3.parquet",
    "dataset_hash": "abc123...",
    "epochs": 10,
    "learning_rate": 0.001
  },
  "metrics": {
    "accuracy": 0.95,
    "f1_score": 0.93,
    "latency_p99_ms": 45
  },
  "dependencies": {
    "python": "3.11",
    "torch": "2.2.0",
    "transformers": "4.38.0"
  },
  "stage": "production",
  "parent_version": "0.9.0"
}

Best Practices

AspektEmpfehlung
NamingSemantic Versioning + Stage
StorageS3, GCS, Azure Blob für Modelle
MetadataImmer mit Modell speichern
AutomationCI/CD für Promotion
RetentionPolicy für alte Versionen

01Einsatzbereiche

Wann ist Model Versioning sinnvoll?

Geeignet für

  • ReproduzierbarkeitExakt dasselbe Modell später wieder erstellen
  • RollbackBei Problemen zur vorherigen Version zurückkehren
  • SicherheitAudit-Trail für regulierte Branchen
  • A/B TestingVerschiedene Modellversionen vergleichen

↑ Inhalt

02Werkzeuge

Womit Model Versioning umgesetzt wird

↑ Inhalt

Merksatz

Model Versioning ist wie Git für ML-Modelle

Du kannst jederzeit zu einer früheren Version zurückkehren, Änderungen nachvollziehen und verschiedene Experimente parallel verwalten.

  1. Versioniert Modell-Gewichte, Code, Daten und Konfiguration
  2. Ermöglicht Reproduzierbarkeit und Rollback
  3. Zentral für MLOps und Compliance

04Anwenden

Model Versioning praktisch anwenden

↑ Inhalt

05Redaktion

Herkunft und Stand

Redaktion und Aktualität

Ebenex RedaktionRedaktion

Veröffentlicht
Aktualisiert

Dieses Feld entwickelt sich schnell. Oben stehen Veröffentlichung und letzte Änderung; ein Prüfdatum kommt dazu, sobald die Erklärung nach ihrer letzten Änderung geprüft wurde.

↑ Inhalt

06FAQ

Häufige Fragen zu Model Versioning

Was sollte ich alles versionieren?

Modell-Gewichte, Training-Code, Hyperparameter, Trainingsdaten (oder Hash), Dependencies, Metriken. Alles was nötig ist, um das Modell zu reproduzieren.

Reicht Git für Model Versioning?

Für Code ja, für Modelle nein. Modell-Dateien sind zu groß für Git. Nutze Git LFS, DVC oder spezialisierte Tools wie MLflow.

Wie benenne ich Modellversionen?

Semantic Versioning (1.0.0) oder Timestamps (2026-03-11). Plus: Stage-Labels wie 'staging', 'production', 'archived'.

↑ Inhalt

07Weiterlernen

Was möchtest du als Nächstes verstehen?

  • Grundlage nachholen

    MLOps

    Effiziente Bereitstellung und Betrieb von Machine-Learning-Modellen.

  • Technisch vertiefen

    Model Registry

    Zentrales Repository für ML-Modell-Versionierung und -Verwaltung.

  • In der Praxis anwenden

    MLOps verstehen: Vom Notebook zum Modell in Produktion

    Der Weg vom Jupyter-Notebook in den produktiven Betrieb – Lebenszyklus, Deployment und Monitoring von ML-Modellen.

↑ Inhalt