Testen oder Einbetten von maschinellen Lernmodellen

In diesem Szenario werden trainierte maschinelle Lernmodelle (ML-Modelle) in simulierten Umgebungen eingesetzt. Das heißt, ein ML-Modell wird zunächst außerhalb des AnyLogic-Umgebung trainiert. Anschließend kann es als Teil des Simulationsmodells genutzt werden, um seine Prognosefähigkeiten zu bewerten bzw. zu nutzen.
Das Testen oder Einbetten von maschinellen Lernmodellen erfordert eine Verbindung zwischen einem trainierten ML-Modell und dem Simulationsmodell zur Laufzeit. AnyLogic bietet unterschiedliche Verbindungsmöglichkeiten, unabhängig von der Programmiersprache, in der es trainiert wurde, sowohl für lokale als auch für Remote-Verbindungen.

Anwendungsfälle Workflows und Werkzeuge

Fall 1: ML-Modelle als Ersatz für Eingabeparameter, die abstrahierte Verhalten in einem Modell abbilden

Eine Verwendung von Eingabeparametern in einem Simulationsmodell besteht darin, ein approximiertes Verhalten zu definieren, das auf den Kausalregeln eines realen Systems basiert (z. B. Verzögerungszeit, Ankunftsrate usw.). Diese werden oft als univariate Zufallsvariablen oder in einigen Szenarien als Zufallsvektor mit multivariaten Wahrscheinlichkeitsverteilungen modelliert. Als Ersatz für diese Art von Eingabeparametern können ML-Modelle verwendet werden.


Fall 2: Verwendung von maschinellen Lernmodellen zur Approximation des Komponentenverhaltens im simulierten System

Wenn bestimmte Komponenten innerhalb eines Simulationsmodells äußerst komplex sind, weil sie ein hohes Maß an Detailgenauigkeit erfordern, könnte ein trainiertes ML-Modell als Ersatz verwendet werden, um das Verhalten zu approximieren. Dies ähnelt dem vorherigen Fall, betrifft aber eine spezielle Modellkomponente, die nicht unbedingt mit einem einzigen Wert (oder einer Verteilung) abstrahiert werden kann. Ein naheliegendes Anwendungsbeispiel sind physikalische Geräte, die sich nicht ohne Weiteres mit allgemeinen Simulationsmethoden modellieren lassen, sondern vielmehr auf realen Daten basieren, die sich mit ML-Methoden jedoch leicht approximieren lassen.


Fall 3: Einbindung vorhandener, implementierter maschineller Lernmodelle in die simulierte Umgebung zur Erhöhung der Genauigkeit

Ein Simulationsmodell soll die Regeln eines realen Systems nachbilden – eine Tatsache, die auch für alle bestehenden Embedded-KI-Lösungen in einem gegebenen System gilt. Regeln und Verhaltensweisen, die ein direktes Ergebnis der von einem System eingesetzten KI-Lösungen sind, sollten ebenfalls in der Simulation berücksichtigt werden. Der naheliegendste Weg hierfür ist die direkte Einbettung der KI-Lösungen in die Simulation.


Fall 4: Prüfung der Auswirkungen einer KI-Lösung auf die Gesamtsystemleistung vor ihrer Implementierung

Ziel der Einbindung von KI-Komponenten in ein System ist es, die Systemgesamtleistung zu verbessern, also nicht nur die der Einzelkomponenten, die die KI ersetzen soll. Es ist zu erwarten, dass der Einsatz einer gut trainierten KI-Lösung eine deutliche Verbesserung der Gesamtleistung des Zielsystems zur Folge hat. Jede Störung innerhalb eines Systems hat jedoch das Potenzial, eventuelle Bottlenecks zu verschieben oder anderweitige Rückwirkungen zu verursachen. Durch isoliertes Testen eines trainierten Modells (z. B. anhand einer Stichprobe von Testdaten) lässt sich nicht nachweisen, ob die Leistung des modifizierten Gesamtsystems ausreichend verbessert wird. Simulationsmodelle können jedoch als virtuelle, risikofreie Umgebung genutzt werden, um die Auswirkungen der KI-Integration in bestehende Systeme zu evaluieren.


Fall 5: Mathematik veranschaulichen!

Data Scientists kennen das Problem: Sie sollen die Wirkung ihrer ML-Lösungen Akteuren präsentieren, die mit den Nuancen oder Auswirkungen nicht vertraut sind (z. B. Kunden, Managern oder Entscheidungsträgern). Ein Ziel der Modellierungssoftware ist es daher, das dynamische Verhalten eines Simulationsmodells so darzustellen, dass es visuell ansprechend und leicht verständlich ist. So kann die Performance einer simulierten Umgebung sowohl mit als auch ohne maschinelles Lernen veranschaulicht werden.


Fall 6: Testen von RL-Strategie in der ursprünglichen simulierten Umgebung

Das ultimative Ziel von Reinforcement Learning ist es, eine nützliche Strategie zu finden, mit der ein System optimal gesteuert werden kann. Da der Lernprozess (Training) in einer simulierten Umgebung stattfindet, lässt sich dasselbe Simulationsmodell auch zum Testen der erlernten Strategie verwenden! Dabei wäre es sinnvoll, die Leistungsfähigkeit der erlernten Strategie vor dem Einsatz im realen System zu bewerten, ein Prozess, der allgemein als „Sim-to-Real-Transfer“ bezeichnet wird.

Workflows und Werkzeuge

Das Testen oder Einbetten von maschinellen Lernmodellen erfordert eine Verbindung zwischen einem trainierten ML-Modell und einem Simulationsmodell zur Laufzeit. AnyLogic bietet drei generelle Verbindungsmöglichkeiten, unabhängig von der Sprache, in der es trainiert wurde – sowohl für lokale als auch für Remote-Verbindungen.

Kommunikation über API-Aufrufe

Kommunikation über API-Aufrufe

Fernkommunikation mit ML-Modellen (über API-Aufrufe), die von ML/AutoML-Plattformen gehostet werden.

Jedes trainierte ML-Modell kann so eingesetzt werden, dass es per API abgefragt werden kann. Fast alle gängigen ML/AutoML-Plattformen bieten dafür einfache, gebrauchsfertige Mechanismen. Im Rahmen der Simulation kann ein einfacher Code eingefügt werden, um zum gegebenen Zeitpunkt eine Abfrage zu erstellen und die zurückgelieferte Vorhersage zu berücksichtigen. Dieser Ablauf ist unabhängig von der Programmiersprache des trainierten ML-Modells.

In eine Simulationsumgebung eingebettetes maschinelles Lernmodell

In eine Simulationsumgebung eingebettetes maschinelles Lernmodell

Native Einbettung eines trainierten ML-Modells in die Simulationsumgebung.

Die lokale Abfrage eines trainierten ML-Modells ist möglich, wenn das Training in Java (der systemeigenen Sprache von AnyLogic) durchgeführt wurde oder die Trainingsplattform den Export des ML-Modells in einem in Java verwendbaren Format erlaubt. Mit H2O.ai Driverless AI beispielsweise können trainierte Modelle als MOJOs (Model Objects, Optimized) heruntergeladen werden – eine Scoring Engine, die mithilfe ihrer Java-Bibliotheken in jeder Java-Umgebung eingesetzt werden kann.

Zugang zum maschinellen Lernmodell mit der Pypeline-Bibliothek

Zugang zum maschinellen Lernmodell mit der Pypeline-Bibliothek

Verwendung der Pypeline-Bibliothek für den lokalen Zugriff auf ein trainiertes ML-Modell in Python.

Wenn ein implementiertes trainiertes ML-Modell über eine Python-Bibliothek zugänglich ist, kann Pypeline – eine benutzerdefinierte AnyLogic-Bibliothek – zur Abfrage verwendet werden. Mit Pypeline können Sie entweder Python-Skripte mit entsprechenden Argumenten ausführen oder Python-Code interaktiv aus Ihren AnyLogic-Modellen heraus starten, indem Sie eine lokale Python-Installation verwenden.