Was tun, wenn die KI mit der Zeit an Performance verliert? – Das Problem von Data Drift und wie man damit umgeht.

 

 

Die Ausgangslage

Wenn ein KI-System implementiert und live in Verwendung ist, erstellt es Vorhersagen, welche zum Beispiel einen Workflow in einer Firma optimieren, unterstützten, verbessern oder verschlanken. Das kann ein Kamerasystem sein, welches defekte Bauteile in einer Produktionslinie erkennt oder ein Modell, das Absatzprognosen für kommende Monate abgibt. Zu einem laufenden KI-System gibt es in der Regel auch ein Dashboard, welches Kennzahlen zu Eingangsparametern und Prognosen darstellt, aber auch Performances zur KI, wie Fehlerraten oder Berechnungszeiten angibt.

Um also eine Verschlechterung der Performance der KI zu vermeiden, muss man die Änderungen in den Daten überwachen. Eine solche Änderung liegt vor, wenn sich die Beziehung zwischen Input- und Output-Daten ändert. Wenn beispielsweise die Regierung einen Lockdown verhängt, ändert sich abrupt das Kaufverhalten von Konsumenten, sodass die Absatzprognosen des Modells nicht mehr stimmen können. Ändert sich der Standort einer Maschine in der Fabrik,  würde das Kameramodell nicht mehr ganz so gut funktionieren, weil sich die Lichtverhältnisse geändert haben. Wir reden hier von abrupten Drifts, die nicht vorhersehbar und damit nicht modellierbar sind. Graduelle Drifts im Gegensatz dazu liegen vor, wenn sich die Verteilung der Daten über einen längeren Zeitraum hinweg verändert. Das kann zum Beispiel sein, wenn die Linse an der Kamera mit der Zeit verstaubt oder sich das Konsumverhalten der Konsumenten zu mehr Nachhaltigkeit umstellt. Diese graduellen Drifts bewirken einen graduellen Performanceverlust, der durch das Dashboard sichtbar gemacht wird.

Lösung

Beim Aufsetzen einer KI in der Produktionsumgebung ist es also wichtig, das Problem von Concept Drift von Anfang an mitzudenken und das Nachtrainieren der KI mit einem Re-Training in einem Continous Integration (CI) System zu ermöglichen. Bei CI handelt es sich um eine DevOps-Softwareentwicklungspraxis, bei der die Entwickler ihre Codeänderungen regelmäßig in einer Cloud ablegen, von wo aus nach Ablaufen von Tests die Software automatisch geupdatet wird.

In diesem Blogartikel haben wir kurz umrissen, was Concept Drift ist, welche Probleme daraus entstehen, welche Driftarten es gibt und wie man ihnen begegnen kann.