Blue/Green-Deployment von ML-Modellen an der Linie: SPS-sichere Umschaltung, Schattenmodus und Latenzbudget

Das konkrete Problem
Sie haben eine visuelle Qualitätskontrolle im Takt der Linie. Ein neues Modell verspricht weniger Pseudofehler. Aber: Wie schalten Sie ohne Stillstand, ohne Ausschuss und ohne “Hoffentlich passt’s”? Wie stellen Sie sicher, dass Latenz, Reproduzierbarkeit und Rückrollbarkeit messbar sind – in einer On-Prem-Umgebung ohne Cloud-Anbindung und unter den Zwängen von SPS/PLC-Logik?

Was folgt, ist eine Architektur aus der Praxis, mit der wir Modelle produktionssicher ausrollen: Blue/Green mit Schattenmodus, deterministische Umschaltung an der SPS-Grenze, strengem Latenzbudget und auditierbaren Artefakten – vollständig on-prem, DSGVO-konform und ohne US-Cloud-Abhängigkeit.

1) Anforderungen aus der Linie – nicht aus dem Notebook

  • Takt und Latenz: Entscheidungen müssen innerhalb eines festen Budgets vorliegen (z. B. 40–120 ms je nach Mechanik), sonst greift eine definierte Default-Strategie.
  • Determinismus: Keine “Best-effort”-Netzwerkaufrufe, kein unvorhersagbares Scheduling. Vorhersehbare Antwortzeiten sind wichtiger als maximale mittlere Performance.
  • Sicherheitsgrenzen: Die SPS bleibt Herr des Prozesses. ML liefert Empfehlungen/Prüfentscheidungen, aber keine sicherheitsgerichteten Funktionen. Fällt ML aus, muss der Prozess in einen sicheren, bekannten Zustand wechseln.
  • Souveränität: Daten, Modelle, Telemetrie, Logs – alles on-prem. Air-gapped oder kontrolliert angebunden. Artefakte signiert, versioniert und rückführbar.
  • Rückrollbarkeit: Rollback auf das “alte” Modell in Sekunden. Umschaltung muss über SPS/HMI kontrollierbar und nachvollziehbar sein.
  • Nachweisbarkeit: Jede Entscheidung muss mit Modellversion, Datenstempel, Bild-ID, Schwellenwerten dokumentiert sein – für interne QS und Audit.

2) Referenzarchitektur am Edge
Physische Komponenten

  • Edge-Node: x86_64-Industrie-PC mit RTX-/A-Series-GPU (alternativ: iGPU/OpenVINO), NVMe, redundante NICs. Optional zweiter Node als Hot-Standby.
  • Kameras/Sensorik: GigE Vision/USB3 Vision mit deterministischer Triggerung. Beleuchtung synchronisiert.
  • SPS/PLC: z. B. Siemens S7/TIA, Beckhoff TwinCAT, B&R; Schnittstellen: digitale IO, Profinet/ADS, OPC UA je nach Kritikalität.

Software-Stack (on-prem)

  • OS: Linux (mit stabiler LTS; optional PREEMPT_RT, wenn Systemjitter kritisch ist).
  • Orchestrierung: K3s für leichtgewichtige Container-Orchestrierung oder Docker Compose, wenn Einfachheit Priorität hat.
  • Artefakte: On-Prem-Registry (z. B. Harbor), signierte Container-Images, lokales Model-Registry (Dateibasiert + Checksums).
  • Inferenzdienste: Zwei identische Services (Blue = aktuell produktiv, Green = Kandidat) mit getrennten Runtime-Instanzen und dedizierten Ressourcen.
  • Frame-Bus: Zero-Copy-Pipeline via GStreamer/V4L2, Shared Memory Ringbuffer (Single Producer, Multi Consumer) für parallele Inferenz.
  • Decision-Gate: Ein separater Dienst, der Ergebnisse (Score, Klassen, Bounding Boxes, Latenz) beider Modelle entgegennimmt, mit Regeln bewertet und den “offiziellen” Entscheid an die SPS ausgibt.
  • Telemetrie: On-Prem-TSDB/Log (z. B. InfluxDB/Loki/Timescale-Äquivalent) + Export von Metriken, Model/Build-Infos. Audit-Store mit unveränderbaren Logs (WORM-Prinzip).
  • Governance: Gleiche Prinzipien wie in LLM-Agenten-Governance (Audit Trails, Policy Gates, Freigabestufen); falls LLM-Agenten im Betrieb (z. B. Assistenz für Störungsdiagnose) eingesetzt werden, werden diese über Alpi-M observiert und gesteuert. Für CV-Modelle analoger Governance-Prozess.

3) Datenfluss vom Trigger zur SPS – mit Budget
Beispielhafter Pfad und Budgetierung

  • T0: SPS setzt Trigger (digitale Flanke) → Kamera belichtet (Exposure 1–5 ms).
  • T0+Δ1: Frame in Edge-Node via GigE/USB3 (Transfer 2–10 ms), Zero-Copy in Ringbuffer.
  • T0+Δ2: Preprocessing (Debayer, Normalize, Resize) auf GPU/CPU (3–10 ms).
  • T0+Δ3: Inferenz (TensorRT/OpenVINO/ONNXRuntime mit passenden EPs) (5–30 ms je nach Modell).
  • T0+Δ4: Postprocessing (NMS, Geometrie, Kalibrierung) (1–5 ms).
  • T0+Δ5: Decision-Gate evaluiert Scores/Schwellen, Konsistenz mit Regeln (1–2 ms).
  • T0+Δ6: Ausgabe an SPS (digitale IO <1 ms, Feldbus/OPC UA je nach Stack 1–10 ms).

Das harte Budget wird aus der Mechanik abgeleitet. Kritisch: Worst-Case messen, nicht nur Mittelwert.

4) Blue/Green mit Schattenmodus – sicher umschalten

  • Doppelter Inferenzpfad: Blue (produktiv) bedient die SPS. Green arbeitet parallel im Schattenmodus auf demselben Frame-Stream.
  • Metrik-Sammlung: Für jede Teile-ID speichern wir beide Ergebnisse (Score, Klassifizierung, Laufzeit, Model-ID, Input-Hash, ggf. Crops). Keine Beeinflussung des Live-Entscheids.
  • Gatekeeper-Regeln zur Freigabe: Green wird erst produktiv, wenn:
  • Auf “Golden Batch” (historische repräsentative Daten) definierte KPIs erfüllt/überboten werden (z. B. weniger Pseudofehler bei gleicher Ausfallraten-Obergrenze).
  • Schattenmodus in Live-Produktion über X Teile Stabilität und Latenzgrenzen einhält.
  • Keine Drift-Indikatoren (z. B. Beleuchtungsvariationen) unbeherrscht sind.
  • Umschaltung: Entweder
  • manuell über HMI (freigegeben durch QS-Stufe), oder
  • automatisch durch Gatekeeper, der der SPS ein “Switch Window” anbietet (z. B. zwischen zwei Losen).

Umschalten bedeutet: Decision-Gate routet die SPS-Entscheidungen auf Green; Blue bleibt für sofortiges Rollback geladen.

  • Rollback: Ein SPS- oder HMI-Bit setzt Decision-Gate zurück auf Blue. Max. Umschaltzeit = 1–2 Zyklen, weil beide Modelle bereits warm sind.

Konsequenz: Keine Downtime, kein Blindflug. Die Linie bleibt deterministisch, weil die SPS nie direkt von zwei Modellen konkurrierende Signale erhält.

5) SPS-Integration: Drei stabile Muster

  • Muster A – Asynchron mit Timeout (empfohlen für Non-Critical):
  • SPS triggert Capture, wartet maximal T ms auf “OK/NOK/UNKNOWN”.
  • Kommt nichts oder UNKNOWN, greift Default (z. B. Ausschleusen/Einziehen, je nach Prozess).
  • Umsetzung: Digitale IO für Zeitkritik; OPC UA für Diagnose/Telemetrie.
  • Muster B – Zweistufige Entscheidung:
  • Modell liefert Vorentscheidung + Confidence.
  • SPS verknüpft mit Prozesskriterien (z. B. Sensor X, Messstation Y) und setzt erst dann den Aktor.
  • Vorteil: ML-Unsicherheit wird durch Prozesswissen abgefedert.
  • Muster C – Pufferzelle (für hohe Taktung):
  • Entscheidung erfolgt erst in der nächsten Station; Teile werden zwischengepuffert; mehr Budget für Inferenz, dafür Mechanik-Aufwand.

Was wir in der Praxis nicht empfehlen: Hard-Realtime-Entscheid per OPC UA allein, wenn digitale IO verfügbar ist. OPC UA ist top für Zustände, Konfigurationen, Telemetrie – nicht für 5-ms-Grenzfälle.