Wie man MLOps aufsetzt
The Model Strikes Back
Warum künstliche Intelligenzen mit der Zeit an Genauigkeit verlieren und wie MLOps damit umgeht
Das Thema künstliche Intelligenz (KI) und Modellierung ist so langsam in unserem Alltag angekommen. Inzwischen hat jede Finanzinstitution ihren Robo-Advisor und intern gibt es ganze Abteilungen, die sich auf das Thema spezialisieren. Doch so einfach ist das ganze Thema dann doch nicht, denn mit dem klassischen Dreiklang Trainieren, Testen und Bereitstellen hat man gerade einmal den Startschuss für den Betrieb von künstlicher Intelligenz gegeben, wenn man denn überhaupt bis zur Bereitstellung kommt.
Einen der größten Fehler, den Data Scientists und Analytics-Profis im Allgemeinen bei der Entwicklung von künstlichen Intelligenzen machen, ist, dass sie davon ausgehen, dass ihre Modelle nach der Bereitstellung für immer gut funktionieren. Aber was ist mit den Daten, die sich zwangsläufig ständig ändern werden? Ein in der Produktion eingesetztes und nicht regelmäßig überprüftes Modell kann sich nicht selbstständig an Änderungen von Daten anpassen.
Und genau hier setzt der Gedanke des Continuous Training Cycles im Bereich Machine Learning Operations (ML Ops) ein. Mit dem kontinuierlichen Retraining meiner Modelle sorge ich dafür, dass meine Modelle auch morgen noch genauso effektiv und effizient laufen wie zum Zeitpunkt der initialen Erstellung. In diesem Whitepaper beschreiben wir also, warum sich Daten verändern, wie man die Veränderung bemerkt und auch, wie man ein Setup aufbaut, das diesen Änderungen auch automatisch Rechnung trägt
Erstgespräch anfragen
Tristan
Pötzsch
Patrick
Gschwendtner
Wann sollte man ein Modell neu trainieren?
Nachdem die Notwendigkeit von Model Retraining klar geworden ist, stellt sich als Nächstes die Frage, wann man ein solches Retraining anstoßen sollte. Dabei haben wir die verschiedenen Ansätze zum Retraining von Modellen in unserem Model Retraining Trigger Framework zusammengefasst:
- Die einfachste Variante ist das Retraining nach festen Zeitintervallen (zum Beispiel alle sechs Monate). Das bietet sich zum Beispiel für Modelle an, bei denen in regelmäßigen Abständen neue Daten ankommen. Zum Beispiel: Quartalsabschlüsse, die alle drei Monate kommen.
- Alle X Zeiteinheiten
- Spätestens nach X Monaten, wenn vorher kein anderer Trigger angeschlagen hat
- ...
- Eine weitere Möglichkeit ist es, basierend auf Ereignissen neu zu trainieren. Ein Beispiel für ein ereignisbasiertes Retraining wäre, in der Betrugserkennung nach 10.000 nicht erkannten und nachträglich gemeldeten Betrugsfällen das Modell neu zu trainieren.
- Alle 10.000 Transaktionen
- Alle X falsch vorhergesagten Ergebnisse
- Bei kritischen Ereignissen
- ...
- Die wahrscheinlich sensitivste Variante ist ein auf Kennzahlen basiertes Retraining, bei dem bestimmte Werte wie den Population Stability Index (PSI), Confidence Scores oder andere statistische Kennzahlen im Produktivbetrieb beobachtet und ab einem bestimmten Schwellenwert das Modell neu trainiert wird. KPI-basierte Trigger sind aus unserer Erfahrung häufig das sinnvollste Zielbild, um Data Drifts oder Model Degradation frühzeitig zu erkennen.
- Population Stability Index < 25%
- Accuracy > 80%
- Fehlklassifikatioen übersteigen pro Volumen X eine Quote von Y
- ...
Doch selbst nach Auswahl der gewünschten Trigger besteht die Herausforderung, sinnvolle Zeiträume und Schwellenwerte zu wählen. Ziel ist immer eine Optimierung, bei der Modelle weder zu früh noch zu spät neu trainiert werden. Wird das Retraining zu früh angestoßen, stehen meist nicht genügend neue Daten bereit, um „die neue Welt“ akkurat abzubilden. Ein zu lange herausgezögertes Retraining lässt die Ungenauigkeit des produktiven Modells zu groß werden. Darüber hinaus können auch mehrere Trigger angelegt werden. Aus Erfahrung empfehlen wir zum Beispiel, unabhängig der anderen Trigger spätestens nach einem Jahr zu prüfen, ob neue Daten das genutzte Model verbessern könnten.
Grundsätzlich raten wir dazu, die Retraining-Parameter und Prinzipien bereits im Initialen Aufsatz des Machine Learning Modells mitzudenken und zu entwickeln, um einen sinnvollen Modelleinsatz überhaupt erst zu ermöglichen.
Wie implementiert man Continuous Training auf der Google Cloud Platform?
Für ein vollautomatisches Continuous Training Setup sind mehrere Komponenten nötig Im Folgenden beschreiben wir einen solchen Aufbau beispielhaft im Google Cloud Plattform Umfeld:
Disclaimer: Bei der Erstellung des Inhalts ist die größtmögliche Sorgfalt verwendet worden, dennoch bleiben Änderungen, Irrtümer und Auslassungen vorbehalten. Die getroffenen Aussagen basieren auf Beurteilungen, historischen Daten und rechtlichen Einschätzungen zum Zeitpunkt der Erstellung des Inhalts. Alle Angaben erfolgen ohne Gewähr für die inhaltliche Richtigkeit und Vollständigkeit. Die Überlassung des Inhalts erfolgt nur für den internen Gebrauch des Empfängers. Die Aufbereitung stellt keine Rechts- oder Anlageberatung dar. Diese muss individuell unter Berücksichtigung der Umstände des Einzelfalls erfolgen.
Für eine bessere Lesbarkeit wird auf dieser Website das generische Maskulinum verwendet, wobei alle Geschlechter gleichermaßen gemeint sind.