News KI basiertes Gaming mit AMD Schola

User-News

Von E555user

Hinweis: Diese "User-News" wurde nicht von der Planet 3DNow! Redaktion veröffentlicht, sondern vom oben genannten Leser, der persönlich für den hier veröffentlichten Inhalt haftet.
featured-schola.CZrpuhE2_Zy5TvC.jpg
Alex Cann (leitender Entwickler) und Mehdi Saeedi (KI-Leitung für ML basierte NPCs) von AMD stellen unter der Bezeichnung AMD Schola neue Entwicklungsbibliotheken bzw. Frameworks für die Unreal Engine vor.

Das Schola-Projekt bietet ein Toolkit bzw. Plugin für die Steuerung von Objekten in Unreal mittels Reinforcement Learning (RL). Die Werkzeuge sollen dabei helfen Umgebungen zu erstellen und Agenten zu definieren die sich mit Python-basierten RL-Frameworks (z.B. Gym, RLLib oder Stable Baselines 3) nutzen lassen um NPCs mit RL während des Spiels zu steuern.

schola_diagram.CI7NxSC1_Z130PH3.png

Schola soll dabei helfen RL-Algorithmen direkt in Spieleprojekte integrieren zu können indem es einen Brückenschlag zwischen Forschung und Spielentwicklung bietet, den Gamedevelopern einen einfachen standardisierten Zugang ermöglicht. Durch die Verbindung von Open-Source-RL-Bibliotheken (idR. Python) mit der Unreal Engine ermöglicht es Schola KI-Forschern und Spieleentwicklern das Gameplay einfach zu erweitern.

Der Vorteil durch AMD Schola liegt in der Unterstützung zweier populärer Open-Source-RL-Bibliotheken (RLlib und Stable-Baselines3) sowie der Gymnasium-API*. Entwicklern, die mit diesen Tools vertraut sind, bietet es dadurch die Möglichkeit zur Integration mehrerer RL-Bibliotheken bei unmittelbarer Kompatibilität mit der Unreal Engine. Alle Trainings, Tests und Fehlerbehebungen können direkt im Unreal-Engine-Ökosystem durchgeführt werden.

Schola bietet für die Unreal Engine:
  • Tools für die Verbindung und Steuerung von Agenten mit ONNX-Modellen, Inferencing mit/ohne Python
  • einfache Schnittstellen zur Entwicklung von RL-Umgebungen
  • Unterstützung beim Aufbau wiederverwendbarer Sensoren und Aktoren
  • Multi-Agenten-Umgebungen mit mehrere Agenten die konkurrierrend ausgeführt werden
  • Mehrfache Kopien einer Umgebung innerhalb desselben UE-Prozesse um das Training zu beschleunigen
  • Training ohne Rendering um den Trainingsdurchsatz deutlich zu erhöhen

Erste Codebeispiele bieten Lösungsansätze für NPCs in Labyrinten, bei Verfolgungsjagdten, oder beim Zielen-und-Schiessen.

maze_solver.gif
schola_blog_preview-768x408.jpg
BallShooter.gif


Empfohlen werden Unreal Engine ab 5.4.4 sowie Python ab 3.9.19.

Mit der Veröffentlichung kommt man noch Microsofts DirectX Team bei Neural Rendering zuvor und bietet ebenso der Amethyst Initiative eine Vorlage.

*Fussnote: OpenAI Gym als Vorläufer durch Gymnasium der Farama Foundation abgelöst.
 
Zuletzt bearbeitet:

Release-Info auf Github

Features​

Schola v1.0​

  • Inference: Schola provides tools for connecting and controlling agents with ONNX models inside Unreal Engine. Allowing for inference with or without Python.
  • Simple Interfaces in Unreal: Schola exposes simple interfaces in Unreal Engine for the user to implement. Allowing you to quickly build and develop reinforcement learning environments.
  • Headless Training: Run training without rendering to significantly improve training throughput.
  • Multi-Agent Training: Train multiple agents to compete against each other at the same time using RLlib and multi-agent environments built with Schola.
  • Vectorized Training: Run multiple copies of your environment within the same Unreal Engine process to accelerate training.
  • Reusable Actions and Sensors: Schola supports building reusable sensors and actuators, to quickly design new agents from existing components.

Schola v1.1​

  • Launch Script Extensions: You can now inject callbacks into launch.py using Python entrypoint plugins.
  • Camera Sensors: Schola now includes a camera sensor, which can integrate with an existing SceneCaptureComponent2D to provide vision or depth input to an agent.
  • (Beta) Behavioral Tree + RL: Use the new AgentStep BTTask to embed RL models into your behavioral trees.
  • Support for Adding and Removing Agents: Agents can now be dynamically added or removed during training episodes. Inference Agents can now be dynamically added or removed from a level at any time.
  • Observer/Actuator Wrappers: Observers/Actuators can now be wrapped to easily build reusable utilities. This update also includes some premade wrappers such as frame stacking, clipping, and normalization.

Schola v1.2​

  • Gymnasium API: Support for Non-Vectorized Gym Environments
  • RLlib environments: Transpose Wrapper for using Image Observations with RLlib
  • Gymnasium API: Pop Action Wrapper for using Non-Vectorized gym environments with Stable-Baselines3

Schola v1.3​

  • Imitation Library: Support for behavior cloning
  • Python scripts: Helpers for building standalone executables
 
Zuletzt bearbeitet:
Zurück
Oben Unten