TimZaman / dotaclient

distributed RL spaghetti al arabiata

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

distributed RL spaghetti al arabiata


Languages

Language:Python 81.7%Language:Jsonnet 17.6%Language:Dockerfile 0.7%