Im Vorhaben ROSALIE wurde untersucht, ob ein historischer Zeitschritt der KI-Agenten-Testumgebung „Grid2Op“, durch Speicherung der Zustandsvariablen der KI-Agenten, wiederhergestellt werden kann.
- Ein großes Problem der KI-Agenten-Testumgebung „Grid2op“ ist, dass Entscheidungen der KI-Agenten in Grid2Op nur teils gespeichert und deshalb nicht nachvollzogen werden können. Zudem sind wiederholte Simulationen in Grid2Op sehr rechen-intensiv, weil jede Wiederherstellung eines Zeitschritts den kompletten Neustart erfordert. Im Vorhaben ROSALIE sollen wichtige Teilaspekte der Fragestellung untersucht werden, ob ein Zeitschritt aus Grid2Op (Fokus auf KI-Agenten) wiederhergestellt werden kann, ohne den Agenten und die Umgebung komplett neu auszuführen.
- Durch die in ROSALIE entwickelten „save_state“ und „load_state“ Methoden (Vorlagen und Beispiele), können Nutzer von Grid2op den Zustand ihrer KI-Agenten speichern und neu laden, ohne die komplette Grid2op-Simulation wiederholen zu müssen.
Das Projekt ist interessant für: Anwender der Grid2Op Simulationsumgebung für KI-basierte Agenten
Dr. Frank Marten
Fraunhofer IEE
+49561-7294 280
Ziele
- Soll: Überlegung wie der Zustand eines KI-Agenten in Grid2Op komplett gespeichert werden kann. Umsetzung in zwei beispielhaften Agenten.
- Kann: Überlegung wie ein Grid2Op-Zustand gespeichert werden könnte, bzw. welche Variablen dazu in jedem Rechenschritt von Grid2Op abgelegt werden müssten.
Methoden
- Grid2Op: Python-basierte Simulationsumgebung für KI-basierte Agenten, die ein Stromnetz steuern sollen.
- TensorFlow: Python-Modul für Maschinelles Lernen (Teil der untersuchten KI-Agenten).
- PyTorch: Python-Modul für Maschinelles Lernen (Teil der untersuchten KI-Agenten).
Detaillierte Beschreibung des Projektes
„Grid2Op“ und „Grid2Viz“ sind etablierte Open Source Python-Pakete, um die Entscheidungen von KI-Agenten in simulierten Stromnetzen technisch und wirtschaftlich zu bewerten. Eine neue „Grid2Op GUI“ ist aktuell in Entwicklung bei RTE und bietet die Möglichkeit, einen Grid2Op-Simulationszeitschritt manuell, unterstützt durch einen KI-Agenten, auszuführen. IEE und e2n waren aktiv in der L2RPN-Challenge, worin Grid2Op als Entscheidungsrahmen-Simulationsframework verwendet wurde: ein großes Problem war, dass Entscheidungen der KI-Agenten in Grid2Op nur teils gespeichert und deshalb nicht nachvollzogen werden konnten. Auch menschliche Entscheidungen konnten nicht in Laufzeit ausprobiert werden. Zudem waren wiederholte Simulationen in Grid2Op sehr rechen-intensiv, weil jede Wiederherstellung eines Zeitschritts den kompletten Neustart der Umgebung und der Agenten erforderte. Im Vorhaben ROSALIE wurden deshalb wichtige Teilaspekte der Fragestellung untersucht, ob ein Zeitschritt aus Grid2Op (Fokus auf KI-Agenten) wiederhergestellt werden kann, ohne die Umgebung und die KI-Agenten komplett neu zu starten.
Beschreibung des Projektablaufs
- In Abstimmung mit RTE wurden zwei KI-Agenten aus Grid2op selektiert, als Basis der Untersuchung.
- Es wurde ermittelt, welche Zustandsvariablen die Agenten beinhalten. Beispiele sind die Parameter der KI-Modelle oder Seed-Parameter der Zufallszahlengeneratoren, die ein Agent verwendet.
- Für jeden Agenten wurde eine „save_state“ und „load_state“ Methode geschrieben, mit der die Zustandsvariablen je Grid2op Zeitschritt gespeichert und geladen werden können.
- RTE stellte einen dritten KI-Agenten bereit, der über eine save/load_state-Methode verfügte.
- Durch 10.000 wiederholte Grid2op-Simulationen (je Agent) wurde ermittelt, ob die Entscheidungen des Agenten reproduziert werden können.
Projektpartner
- Fraunhofer IEE
- RTE hat als assoziierter Partner die Code-Entwicklungen in ROSALIE mit verfolgt und uns hilfreiches Feedback zu Grid2op gegeben.
- Benjamin Donnot, Antoine Marot https://github.com/rte-france/Grid2Op
Veröffentlichungen / Weitere Informationen
- Vorstellung ROSALIE im Webinar „RTE and EPRI Present: Learning to Run a Power Network (L2RPN) 2021 – Towards a Machine Learning Based Control Center Digital Assistant“ am 03.02.2022
- Geplante Open Source Code-Veröffentlichung als Teil folgender Github-Repositories:
Laufzeit des Projektes
1.1.2022 – 30.6.2022