BluffJAX accelerates complex poker games with GPU simulations

BluffJAX: Adversarial Imperfect Information Games in JAX

Artificial Intelligence

Summary

Playing strategy games where you can't see all information, like poker, is hard for computers to learn. This work introduces BluffJAX, a tool that runs many poker and other card games very fast using computer graphics processors. It includes games both common and less studied, helping researchers test and improve techniques for teaching computers how to play better. The authors show that BluffJAX can handle huge numbers of simulated games at once, making it faster than similar tools.

What this means in practice

  • For game ai developers: Run large-scale training and testing of AI agents for complex card games using efficient GPU-based simulations provided by BluffJAX.
  • For reinforcement learning engineers: Benchmark and improve reinforcement learning methods in adversarial games with fast and scalable game environments implemented in JAX.

Authors

Aryaman Reddi, Jan Peters, Carlo D'Eramo

Abstract

We introduce BluffJAX: an open-source suite of adversarial imperfect information games in JAX. We provide canonical implementations of games designed for high simulation throughputs and parallelization on GPU accelerators. Our suite consists of well-studied benchmarks such as Texas Hold'Em Poker and Kuhn Poker, as well as games that have not been previously studied in reinforcement learning research, such as Bluff, Stud Poker, and Kemps. We hope that implementing a variety of game mechanics and difficulties will introduce new challenges and foster novel research directions in game-theoretic methods for RL. We benchmark the throughput performance and memory usage of our environments in single and multi-GPU settings, demonstrating scaling of up to hundreds of millions of samples per second, and motivating the usage of BluffJAX over related GPU and CPU-based libraries. We benchmark reinforcement learning, tree search, and game-solving algorithms in JAX in order to provide users with baseline results and facilitate future comparisons.