A wide range of environments for Artificial Intelligence
Artificial General Intelligence (AGI) aims to develop intelligent agents capable of achieving goals in various environments. To advance AGI research, it is essential to continuously create new environments that challenge and assess the cognitive abilities of these agents.
Historically, board games like chess, backgammon, and Go have posed challenges for AI research. In recent years, video games such as Space Invaders, Quake III Arena, Dota 2, and StarCraft II have become popular for AI research. Games provide a clear measure of success, allowing researchers to benchmark their progress against human performance.
As AGI research progresses, the focus shifts towards more complex games. However, transforming individual video games into research environments becomes challenging to manage. Consequently, general-purpose game engines offer a scalable solution for creating a wide range of interactive environments.
General-purpose game engines
Several game engines, including Microsoft’s Project Malmo, ViZDoom, and DeepMind Lab, have already been used in AGI research. These engines can be scripted to quickly create new environments and run efficiently on modern hardware.
However, these game engines lack certain essential features. DeepMind Lab, for example, is excellent for learning navigation but falls short in teaching common sense notions like object movement and interaction.
Unity: A versatile game engine for AGI research
DeepMind utilizes Unity, a flexible and feature-rich game engine. Unity offers realistic physics simulation, providing a more grounded experience in virtual environments. Its modern rendering pipeline enhances visual cues such as lighting and shadows. Unity scripts are written in C#, which is easy to read and provides access to all game-engine features. Moreover, Unity’s multiplatform support enables researchers to run environments on various devices.
Unity also includes the ML-Agents toolkit, which simplifies the process of making existing games available as learning environments. However, DeepMind primarily uses dm_env_rpc due to its ability to construct diverse environments to run at scale.
Differences in AI-focused games
Unlike traditional video games that render in real-time, AI researchers perceive games as streams of data. Games can be processed much faster than in real-time, allowing AI agents to play thousands of games simultaneously and learn from them all at once. Consequently, AI researchers prioritize throughput over latency, optimizing for quick game updates.
Containerization and dm_env_rpc: Facilitating AI research
Games produce visual and audio outputs while accepting input commands. AI researchers require flexibility in managing this data. DeepMind developed an open-source library called dm_env_rpc to serve as the interface between environments and agents.
With dm_env_rpc, DeepMind can containerize their environments and release them publicly. Containerization involves packaging precompiled environment binaries using technologies like Docker. This approach provides independent verification of research and ensures reproducibility. Containerization is a more reliable and convenient method than open sourcing, which can be affected by compiler or operating system differences.
For more information on DeepMind’s containerization work, refer to their project dm_memorytasks on GitHub.