Saltar al contenido principal

Guia de inicio practico de KataGo

Este capitulo te guiara desde la instalacion hasta el uso practico de KataGo, cubriendo todo el conocimiento operativo practico. Ya sea que quieras integrar KataGo en tu propia aplicacion o investigar profundamente su codigo fuente, aqui es tu punto de partida.

Por que elegir KataGo?

Entre muchas IAs de Go, KataGo es actualmente la mejor opcion, por las siguientes razones:

VentajaDescripcion
Fuerza mas altaMantiene el nivel mas alto en pruebas publicas
Funciones mas completasPrediccion de puntos, analisis de territorio, soporte multiples reglas
Completamente de codigo abiertoLicencia MIT, libre de usar y modificar
Actualizaciones continuasDesarrollo activo y soporte de comunidad
Documentacion completaDocumentacion oficial detallada, recursos comunitarios ricos
Soporte multiplataformaFunciona en Linux, macOS, Windows

Contenido de este capitulo

Instalacion y configuracion

Construir el entorno de KataGo desde cero:

  • Requisitos del sistema y sugerencias de hardware
  • Pasos de instalacion para cada plataforma (macOS / Linux / Windows)
  • Guia de descarga y seleccion de modelos
  • Explicacion detallada del archivo de configuracion

Comandos comunes

Dominar la forma de usar KataGo:

  • Introduccion al protocolo GTP (Go Text Protocol)
  • Comandos GTP comunes y ejemplos
  • Metodo de uso del Analysis Engine
  • Explicacion completa de la API JSON

Arquitectura del codigo fuente

Entender profundamente los detalles de implementacion de KataGo:

  • Vista general de la estructura de directorios del proyecto
  • Analisis de la arquitectura de red neuronal
  • Detalles de implementacion del motor de busqueda
  • Vista general del proceso de entrenamiento

Inicio rapido

Si solo quieres probar KataGo rapidamente, esta es la forma mas simple:

macOS (usando Homebrew)

# Instalacion
brew install katago

# Descargar modelo (elegir modelo pequeno para prueba)
curl -L -o kata-b18c384.bin.gz \
https://media.katagotraining.org/uploaded/networks/models/kata1/kata1-b18c384nbt-s9996604416-d4316597426.bin.gz

# Ejecutar modo GTP
katago gtp -model kata-b18c384.bin.gz -config gtp_example.cfg

Linux (version precompilada)

# Descargar version precompilada
wget https://github.com/lightvector/KataGo/releases/download/v1.15.3/katago-v1.15.3-opencl-linux-x64.zip

# Descomprimir
unzip katago-v1.15.3-opencl-linux-x64.zip

# Descargar modelo
wget https://media.katagotraining.org/uploaded/networks/models/kata1/kata1-b18c384nbt-s9996604416-d4316597426.bin.gz

# Ejecutar
./katago gtp -model kata-b18c384nbt-*.bin.gz -config default_gtp.cfg

Verificar instalacion

Despues de iniciar exitosamente, veras el prompt GTP. Intenta ingresar los siguientes comandos:

name
= KataGo

version
= 1.15.3

boardsize 19
=

genmove black
= Q16

Guia de escenarios de uso

Segun tu necesidad, este es el orden de lectura y enfoque sugerido:

Escenario 1: Integracion en app de Go

Quieres usar KataGo como motor de IA en tu propia aplicacion de Go.

Lectura enfocada:

  1. Instalacion y configuracion - Entender requisitos de despliegue
  2. Comandos comunes - Especialmente la seccion de Analysis Engine

Conocimiento clave:

  • Usar modo Analysis Engine en lugar de modo GTP
  • Comunicarse con KataGo a traves de API JSON
  • Ajustar parametros de busqueda segun hardware

Escenario 2: Construir servidor de juego

Quieres configurar un servidor que permita a los usuarios jugar contra la IA.

Lectura enfocada:

  1. Instalacion y configuracion - Seccion de configuracion de GPU
  2. Comandos comunes - Seccion de protocolo GTP

Conocimiento clave:

  • Usar modo GTP para jugar
  • Estrategia de despliegue de multiples instancias
  • Metodo de ajuste de fuerza

Escenario 3: Investigacion de algoritmos de IA

Quieres investigar profundamente la implementacion de KataGo, posiblemente modificar o experimentar.

Lectura enfocada:

  1. Arquitectura del codigo fuente - Leer todo cuidadosamente
  2. Todos los analisis de papers en el capitulo de conocimientos previos

Conocimiento clave:

  • Estructura del codigo C++
  • Detalles de arquitectura de red neuronal
  • Forma de implementacion de MCTS

Escenario 4: Entrenar tu propio modelo

Quieres entrenar desde cero o afinar modelos de KataGo.

Lectura enfocada:

  1. Arquitectura del codigo fuente - Seccion de proceso de entrenamiento
  2. Analisis del paper de KataGo

Conocimiento clave:

  • Formato de datos de entrenamiento
  • Uso de scripts de entrenamiento
  • Configuracion de hiperparametros

Sugerencias de hardware

KataGo puede ejecutarse en varios hardware, pero la diferencia de rendimiento es grande:

Configuracion de hardwareRendimiento esperadoEscenario adecuado
GPU de gama alta (RTX 4090)~2000 playouts/segAnalisis de primer nivel, busqueda rapida
GPU de gama media (RTX 3060)~500 playouts/segAnalisis general, juego
GPU de entrada (GTX 1650)~100 playouts/segUso basico
Apple Silicon (M1/M2)~200-400 playouts/segDesarrollo en macOS
Solo CPU~10-30 playouts/segAprendizaje, pruebas
tip

Incluso con hardware mas lento, KataGo puede proporcionar analisis valioso. Menos busqueda reducira la precision, pero generalmente es suficiente para ensenanza y aprendizaje.

Preguntas frecuentes

Cual es la diferencia entre KataGo y Leela Zero?

AspectoKataGoLeela Zero
FuerzaMas fuerteMas debil
FuncionesRicas (puntos, territorio)Basicas
Multiples reglasSoportaNo soporta
Estado de desarrolloActivoModo de mantenimiento
Eficiencia de entrenamientoAltaMas baja

Se necesita GPU?

No es obligatorio, pero se recomienda fuertemente:

  • Con GPU: Puede hacer analisis rapido, obtener resultados de alta calidad
  • Sin GPU: Puede usar backend Eigen, pero mas lento

Diferencia en archivos de modelo?

Tamano de modeloTamano de archivoFuerzaVelocidad
b10c128~20 MBMediaMas rapida
b18c384~140 MBFuerteRapida
b40c256~250 MBMuy fuerteMedia
b60c320~500 MBMas fuerteLenta

Generalmente se recomienda usar b18c384 o b40c256, logra un equilibrio entre fuerza y velocidad.

Recursos relacionados

Estas listo? Comencemos con Instalacion y configuracion.