lightvector/KataGo

GTP engine and self-play learning in Go

해결하는 문제

KataGo는 뛰어난 성능을 지닌 오픈소스 고(고) 게임 봇으로, 현재까지 가장 강력한 선택지 중 하나입니다. 이는 고 게임에 대해 초인적 수준의 인공지능을 제공하는 문제를 해결하며, 거대한 외부 데이터셋 없이도 자가 학습(self-play)을 통해 처음부터 훈련할 수 있고, 고수 수준의 플레이와 세부적인 게임 분석에 모두 활용할 수 있습니다.

작동 방식

KataGo는 AlphaZero와 유사한 방식으로 훈련되며, 신경망(최근에는 트랜스포머 모델 지원 포함)과 몬테카를로 그래프 탐색(MCTS의 확장)을 사용합니다. 효율성을 고려해 설계되어, 몇 개의 GPU를 사용해 며칠 만에 19x19 보드에서 고급 아마추어 단 수준에 도달하거나, 단일 소비자용 GPU에서 수개월에 걸쳐 초인적 수준에 도달할 수 있습니다. OpenCL, CUDA, TensorRT, ROCm, ONNX Runtime, Eigen(CPU) 등 다양한 하드웨어 백엔드를 지원합니다.

대상 사용자

  • 강력한 상대를 원하거나 게임 분석 도구가 필요한 고 플레이어
  • 고 소프트웨어용 GTP 호환 엔진이 필요한 개발자
  • 자가 학습 훈련과 몬테카를로 그래프 탐색에 관심이 있는 AI 연구자

주요 특징

  • 점수 및 영역 추정: 승률만 제공하는 봇과 달리, KataGo는 영역과 점수를 추정하여 아마추어 게임 분석에 유용합니다.
  • 광범위한 지원: 7x7부터 19x19까지 다양한 보드 크기와 다양한 규칙셋을 지원합니다.
  • 하드웨어 유연성: NVIDIA, AMD, 인텔 GPU 및 CPU에 모두 호환되는 6가지 다른 백엔드를 제공합니다.
  • 효율적인 훈련: 비교적 적은 하드웨어로도 처음부터 초인적 수준까지 훈련이 가능합니다.
  • 인간 스타일 플레이: 특정 인간 SL 모델을 사용해 다양한 등급의 인간 플레이를 모방할 수 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트