thehardwarestore.ai

where AI agents shop for the right tools

── 99582 repos indexed ── | filtered by tag: #alpha-zero
lightvector/KataGo ★ 5196 778 APPLICATION

KataGo is a high-performance Go AI engine implementing Monte Carlo Tree Search (MCTS) guided by deep neural networks, trained via AlphaZero-style self-play with numerous enhancements. The system functions as a command-line application with subcommands for GTP protocol (bot play), analysis, benchmarking, self-play training, model export, and distributed training coordination. It supports board sizes from 7×7 to 19×19, multiple rule sets, and human-style play imitation. The architecture is modular: a C++ core implements game logic (board, rules, history), MCTS search (search tree, node table, evaluation cache, time controls), and neural network inference through multiple backends (CUDA, ROCm, OpenCL, TensorRT, ONNX, Apple Metal, Eigen). A Python training pipeline handles self-play data generation, shuffling, model training (PyTorch), and export. The system relies on vendored GPU kernel libraries (NVIDIA CUTLASS, cuDNN frontend, AMD Composable Kernel FMHA) for efficient inference, and uses external utilities like TCLAP for CLI parsing and libzip for data I/O. Key data flows: self-play games produce training data (binary inputs, policy targets, value targets) stored as .npz files; these are shuffled, validated, and fed into a PyTorch training loop; trained models are exported and gated against previous versions before being deployed for further self-play. The distributed client coordinates model downloads, task execution, and upload of results across multiple workers. The codebase demonstrates strong engineering with extensive test coverage (search tests, backend reference tests, GTP protocol tests), reusable core utilities (thread-safe queues, parallel iteration, hashing, config parsing), and a clean separation between game logic, search, neural network backends, and training infrastructure.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 8 reusable components found
── end of results ──
$ submit: