dotaclient icon indicating copy to clipboard operation
dotaclient copied to clipboard

distributed RL spaghetti al arabiata

DotaClient on K8s


DotaClient is a reinforcement learning system to train RL agents to play Dota 2 through self-play.

This is built upon the DotaService project, that exposes the game of Dota2 as a (grpc) service for synchronous play.

dotaclient schema
  • Distributed Agents self-playing Dota 2.
  • Experience/Model Broker (rmq).
  • Distributed Optimizer (PyTorch)

Prerequisites

Launch distributed dota training

cd ks-app
ks show default  # Shows the full manifest
ks param list  # Lists all parameters
ks apply default  # Launches everything you need

Note: A typical job has 40 agents per optimizer. One optimizer does around 1000 steps/s.