Tracking
Kurzzusammenfassung
- Tracking sichert die technische und fachliche Reproduzierbarkeit jedes Trainings- und Evaluationslaufs.
- Business-Nutzen: schnellere Ursachenanalyse und belastbare Freigabeentscheidungen.
- BPMN-Leitpfad: Task
Log run context/results→ GatewayReproducible?→ OutcomeRun approved/blocked. - Qualitätsregel: fehlende Pflichtmetadaten blockieren Registry-Transition und Promotion.
Ziel
Alle produktionsrelevanten Runs besitzen vollständige Metadaten (Daten, Code, Umgebung, Ergebnis) und einen klaren Owner.
Verbindliches Run-Schema (Pflicht)
Jeder Run mit Kandidaten-, Registry- oder Promotionsbezug muss das folgende Schema vollständig erfüllen. Fehlende Pflichtfelder führen zu blocked.
| Feldgruppe | Pflichtfelder | Standard/Format | Prüfmethode |
|---|---|---|---|
| Experiment | experiment_name, experiment_id, run_name, run_id, owner | eindeutige IDs, Owner als Team-Handle (team:<name>) | CI-Policy + MLflow API-Check |
| Run Tags | purpose, model_family, risk_tier, approval_scope, code_sha | Tags als key/value, risk_tier ∈ {low, medium, high} | Schema-Validator vor Transition |
| Params | seed, train_window, feature_set_version, objective, hyperparams.* | numerische/enum-Parameter typisiert; Seed verpflichtend | Pipeline-Unit-Check + Run-Lint |
| Metrics | primary_kpi, secondary_kpi.*, stability_metric, bias_metric | Primary KPI mit Richtung (higher_is_better/lower_is_better) | Threshold-Check im Gate |
| Artifacts | Modellartefakt, Eval-Report, Fehleranalyse, Konfigurationssnapshot | Artefakte versioniert und unveränderlich abgelegt | Artifact-Existenzcheck |
| Environment Fingerprint | image_digest, python_version, dependency_lock_hash, hardware_profile | Digest/Hash im Run protokolliert | Repro-Job vergleicht Fingerprint |
| Data Snapshot Reference | dataset_id, dataset_snapshot_id, feature_view_id, snapshot_timestamp | referenzielle Eindeutigkeit und Zeitstempel | Data-Lineage-Check |
Blockierende Regeln:
- Ohne
code_sha,image_digestoderdataset_snapshot_idkeine Registry-Übergabe. - Ohne
seedundfeature_set_versionkein Reproduzierbarkeitsstatuspassed. - Runs mit
risk_tier=highbenötigen zusätzlich Tagrisk_review_id.
Ablauf
| BPMN-Schritt | Mechanik (Task/Gateway/Outcome) | Artefakte & Verantwortlich |
|---|---|---|
| Task: Log run context | Parameter, Seed, Datenversion, Feature-View, Code-SHA loggen | Artefakt: Run Context; Responsible: ML Engineer |
| Task: Log results/artifacts | Metriken, Modellartefakt, Eval-Report, Konfusions-/Fehleranalysen speichern | Artefakt: Result Package; Responsible: Training Pipeline |
| Gateway: Reproducible? | Referenz-Re-Run in definierter Umgebung validieren | Nein: Run blockiert; Accountable: MLOps Lead |
| Outcome: Approve for registry input | Freigabe-Tag für Registry-Übergabe setzen | Artefakt: Approval Tag |
Kontrollen
Governance- und Risiko-Aspekte
- Pflichtmetadaten werden vor jeder Promotion automatisiert geprüft.
- Abweichungen zwischen Train- und Runtime-Image sind zu dokumentieren.
- Jeder freigegebene Run ist einem Model Owner zugeordnet.
Messbare Akzeptanzkriterien
| Kriterium | Grenzwert | Verantwortlich | Eskalation |
|---|---|---|---|
Pflichtfelder (params,metrics,data_version,code_sha,image) | 100 % | ML Engineer | Promotion-Stop |
| Erfolgsquote Reproduktion Gold-Runs | ≥ 95 % pro Sprint | MLOps | < 95 %: P2 Incident |
| Klärung fehlender Metadaten | ≤ 4 h | Model Owner | > 4 h: ML Lead |
Entscheidung
- Run ist vollständig dokumentiert und plausibilisiert.
- Reproduzierbarkeit ist bestanden oder als Blocker dokumentiert.
- Registry-Übergabe ist eindeutig freigegeben.
Einheitliches Decision-Log-Feldset
Für jede Freigabe-/Block-Entscheidung in Tracking ist ein Decision-Log mit folgendem Mindestfeldsatz zu erfassen (siehe Standard in Decision Logging).
| Feld | Pflicht | Beschreibung |
|---|---|---|
decision_id | Ja | Eindeutige ID der Entscheidung |
decision_timestamp | Ja | UTC-Zeitpunkt der Entscheidung |
decision_outcome | Ja | accept, reject oder override |
decision_rationale | Ja | Begründung (frei + codiert) |
model_version_ref | Ja | Referenz auf Modell-/Feature-Version |
run_id_ref | Ja | Referenz auf MLflow-Run-ID |
approver_role | Ja | Rolle des Freigebenden (z. B. ML Lead, Risk) |
approval_context | Ja | Prozess-/Gate-Kontext (z. B. tracking_repro_check) |
artifact_links | Ja | Verlinkung auf relevante Evidenz |
exception_expiry | Bedingt | Pflicht bei override; Datum + Auflage |
Pflichtartefakte
- Parameter
- Metriken
- Modelle/Artefakte
- Trainingsumgebung (Code-Version, Dependencies)