Volver a proyectos

DeepPlay

Una IA que aprenda a jugar al póker, con recursos modestos

Proyecto a largo plazo. La referencia es Pluribus, que se entrenó en un servidor modesto: la prueba de que esto se puede alcanzar sin un datacenter detrás.

  • Python
  • PyTorch
  • OpenSpiel
  • NumPy
  • Redis Streams
  • FastAPI
  • pytest
  • Docker

Largo plazouna IA de póker entrenada con los recursos de una casa

Qué es

DeepPlay es un proyecto a largo plazo: una IA que aprenda a jugar al póker por sí sola, jugando millones de manos contra sí misma, en lugar de aplicar una tabla que ha escrito otro.

El norte está claro y es lo que hace que esto no sea un sueño. Pluribus, el bot que en 2019 ganó a jugadores profesionales en mesas de seis, no se entrenó en un datacenter: se entrenó en un servidor corriente, en unos días y por un coste de cómputo de dos cifras en dólares. Si aquello cupo ahí, esto cabe en lo que tengo en casa. Esa es la apuesta del proyecto y el motivo de que las decisiones se tomen mirando lo que cuesta cada hora de máquina.

Y seré claro con dónde está: poco avanzado. Hay un entrenador funcionando, una plataforma alrededor para importar manos y revisarlas calle a calle, y un banco de pruebas para decidir si una versión es mejor que la anterior. No hay ningún hito del que presumir todavía, así que no presumo de ninguno; cuando lo haya, se contará aquí con su medida al lado.

Stack técnico

El agente es un Deep CFR en PyTorch sobre el motor de juego de OpenSpiel, jugando contra sí mismo con el trabajo repartido en varios procesos, colas de Redis Streams entre ellos y un broker que hace de registro de modelos. Alrededor está lo que lo hace utilizable por una persona: un backend FastAPI con parser propio de historiales de manos, motor de equity e ICM y análisis de textura de board, y delante un frontend Next.js que reproduce cada mano calle a calle.

Todo va en contenedores sobre mi propio servidor, que además es el que pone las horas de cómputo: sin GPU alquilada y sin factura de nube. No es una carencia del montaje, es la restricción del proyecto — es exactamente lo que hay que demostrar que basta.