Lizzie и KaTrain — установка и настройка программ для анализа партий Го

Lizzie and KaTrain — Installing and Configuring Software for Go Game Analysis with AI

Когда я только начинал играть в Го (в 2005-м), над железками все смеялись, и 1 кю с разгромом обыгрывал The Many Faces of Go (сильнейшую на то время программу) на 33 камнях форы! Вот эта партия, кто не верит. Теперь же мы учимся у компьютерных программ. И если вы всерьез хотите заниматься Го, то без компьютерного анализа вам не обойтись.

Однако я бы рекомендовал пользоваться ИИ, только по достижении хотя бы 10 кю. Александр Динерштейн 3p — тот вообще настаивает на отметке в 5 кю. Дело в том, что компьютер предлагает очень сильные ходы, но не объясняет в чем их идея, а если просто повторять, не вникая в смысл, то пользы в этом никакой не будет.

Lizzie и KaTrain — установка и настройка программ для анализа партий Го

Обзор программ и сервисов для анализа партий

Самые популярные open source движки — это KataGo и LeelaZero.

На данный момент считается, что KataGo играет сильнее LeelaZero, к тому же KataGo умеет оценивать стоимость хода не только в вероятностях победы/поражения, но и в очках территории. Поэтому всё больше игроков в последнее время используют KataGo.

Запустить оба движка можно на любом компьютере, однако если у вас “корыто” 10-летней давности, которое максимум потянет Герои 3, то не парьтесь, специально для вас придуманы онлайн сервисы:

zBaduk  
AI Sensei 
KataGui

Все они неплохо сделаны, однако в бесплатном режиме есть ограничения, да и работают не всегда стабильно. Из этих трех сайтов мне больше всего понравился zBaduk, и подписка у него совсем недорогая (€3 в месяц).

Кроме того, анализ партий теперь встраивают и в некоторые го-серверы. Например, OGS будет анализировать все сыгранные вами партии при ежемесячном “пожертвовании” от $3. Удобно.

Однако если у вас современный компьютер с хорошей видеокартой, то можете обойтись без платных сервисов. Для этого вам понадобится программа с графическим интерфейсом (GUI) для одного из движка. Вот несколько вариантов:

KaTrain — самый простой вариант. Подойдет, если вам не хочется заморачиваться с установкой и настройкой. Есть много интересных функций и настроек для игры с AI, которых нет в других программах. Из минусов — поддерживается только KataGo.  
Lizzie — пожалуй самая популярная в своем роде программа. Поддерживает оба движка: LeelaZero и KataGo.
Sabaki — это современный редактор партий, он позволяет подключать любой движок для анализа. 
LizGoban — альтернативный интерфейс для LeelaZero и KataGo.
q5Go — еще один редактор с поддержкой компьютерного анализа.

Пока готовил статью, нашел в просторах GitHub репозиторий, где можно скачать и установить сразу же все доступные движки и интерфейсы к ним (только Windows): BadukMegapack. Сам не тестировал, но возможно кому-то будет интересно попробовать.

В этой статье мы подробно рассмотрим установку KaTrain и Lizzie.

Как скачать программу с GitHub

Наверняка вы заметили, что почти все приведенные программы расположены на github.com. Если вы не программист, то скорее всего вам не очень понятно, а как собственно скачать программу? Зачем всё это? Дело в том, что изначально GitHub использовался исключительно среди разработчиков для совместной работы над проектами, но теперь это очень популярная платформа, которая используется в том числе и для распространения программ. Любой программист вместо того, чтобы создавать специальный сайт для своей программы, может просто оформить репозиторий на гитхабе.

Итак, скачать программу можно на странице релизов (Releases):

Lizzie и KaTrain — установка и настройка программ для анализа партий Го

Если такой ссылки вдруг нет, то внимательно читайте описание (README.md).

Также обратите внимание на вкладку Issues. Здесь вы можете сообщить о найденных проблемах в программе.

Lizzie и KaTrain — установка и настройка программ для анализа партий Го

Настоятельно рекомендую пользоваться этим разделом. Не надейтесь, что баги сами чудесным образом исчезнут — помогайте разработчикам их находить.

KaTrain

Установка и настройка

С этой программой у вас не должно быть проблем. Итак, скачиваем последнюю версию здесь (assets KaTrain.exe).

Для виндовса это обычный .exe-файл, который можно перенести куда угодно, хоть на рабочий стол. Два раза щелкаете по файлу и вуаля, уже можно пользоваться. Все настройки и дополнительные файлы программа хранит в системной папке пользователя.

Обязательно загляните в настройки программы (F8):

Lizzie и KaTrain — установка и настройка программ для анализа партий Го

Здесь можно скачать и установить последнюю версию нейросети (нынче они часто обновляются) — кнопка “Download Models”. Также для более глубокого анализа рекомендую поднять значения следующим параметрам:

  • Maximum number of visits
  • Maximum time for analysis
  • Wide root noise

Последний отвечает за количество вариантов, предлагаемых программой — на мой взгляд это самое интересное.

Обратите внимание, KaTrain (в отличии от Lizzie) не будет бесконечно долго анализировать позицию, а делает он это итерациями в соответствии с ограничениями в настройках (Maximum visits, Maximum time). Чтобы заставить программу еще глубже проанализировать позицию, нужно нажать “Deeper analysis” или кнопку “A” на клавиатуре.

Недавно разработчики KataGo сделали тренировку нейросетей открытой и теперь каждый может в этом помогать (contributing). Эту функцию для удобства так же добавили в KaTrain. Подробности на сайте katagotraining.org

В целом, KaTrain очень простая программа и тут всё должно быть понятно. Однако лично я привык к интерфейсу Lizzie, и несмотря на то, что программа эта не такая дружелюбная и настраивается чуточку сложнее, возможно вам она тоже понравится больше.

Lizzie

Установка и запуск

  1. Перейдите в releases и скачайте последнюю версию для вашей ОС. Для Windows вам нужен архив с меткой GPU (файл Lizzie.???.Windows.x64.GPU.zip).
  2. Распакуйте архив в удобную для вас папку.
  3. Этот шаг опциональный. Рекомендую установить исправленную и дополненную сборку Lizzie. Дело в том, что оригинальная программа в последнее время обновляется редко, поэтому разработчик hope366 сделал свою сборку. Скачайте последний релиз (файл Lizzie-improved-v???.zip) и распакуйте архив в папку с оригинальной программой Lizzie. Затем удалите файл. Затем удалите файл “lizzie.jar”, а файл “lizzie-improved-v???.jar” переименуйте в “lizzie.jar”.
  4. Запустите файл “lizzie.jar”.

Первый запуск обычно занимает много времени, так как в этот момент происходит настройка видеокарты.

Если программа не запускается, то скорее всего у вас не установлена Java. Также как и клиент KGS (CGoban), Lizzie работает на Java. Разработчиком заявлено, что нужна Java как минимум 8 версии.

Как вернуть Lizzie английский язык

В версии 0.7.4 нельзя поменять язык интерфейса. Если у вас ОС на русском языке, то программа автоматически запустится на русском. Казалось бы, ну и отлично! Однако на русском (и скорее всего на других языках тоже) программа работает с заметными глюками, не говоря о качестве перевода. Поэтому я предпочитаю английскую версию.

Cкачайте файл lizzie-en.bat и положите его в папку с программой. Теперь достаточно запустить этот файл, чтобы Lizzie снова заговорила на английском.

Решение этой проблемы описывается здесь.

Как обновить нейросеть

Сам движок (LeelaZero или KataGo) обновляется редко, но вот нейросети постоянно тренируются и совершенствуются. Кроме того существуют разные варианты нейросетей. В комплекте с Lizzie идут 20-блочные нейросети, хотя существуют 40-блочные, которые значительно сильнее. Также на лилу можно поставить нейросеть от ELF OpenGo (Facebook) или SAI. В общем с нейросетями можно экспериментировать, на ходу переключать движки и конфигурации, чтобы досконально разобрать позицию со всех сторон.

Примечание: нейросети (networks) иногда называют весами (weights).

Нейросеть подключается к движку отдельным файлом. В папке с Lizzie вы найдете два файла:

  • katanetwork.gz — нейросеть для KataGo
  • lznetwork.gz — нейросеть для LeelaZero

Эти файлы можно заменять на альтернативные.

Для LeelaZero нейросети вы найдете здесь. Чтобы скачать последнюю валидную сеть, нужно кликнуть на хеш:

Lizzie и KaTrain — установка и настройка программ для анализа партий Го

Прямая ссылка на сильнейшую нейросеть LeelaZero.

Далее вам нужно заменить файл lznetwork.gz (в папке программы) на только что скачанный. Важно сохранить такое же имя файла — lznetwork.gz.

Обновление. В феврале 2021 разработчик LeelaZero заявил о закрытии проекта, так как по его мнению программа достигла своей максимальной силы и смысла в тренировке новых нейросетей нет. На замену LZ пришел новый проект — SAI.

Для KataGo нейросети лежат здесь. Процесс такой же — скачайте самую сильную сеть и замените файл katanetwork.gz.

Как обновить движок

Движок LeelaZero не обновлялся с 2019 года, а вот для KataGo частенько выходят обновления. На момент написания статьи последняя версия Lizzie 0.7.4 поставлялась с KataGo 1.6.1, хотя уже была доступна версия 1.8.1.

Сам движок вы найдете в релизах. Вам понадобится архив с отметкой “gpu-opencl”. Скачиваете, затем удаляете всё из папки lizzie/katago и копируете туда содержимое архива. Всё, можно пользоваться.

Не позволяйте компьютеру лениться

У меня возникла проблема, которая для кого-то тоже может быть актуальной. В ноутбуке, за которым я работаю, две видеокарты — дискретная NVIDIA и встроенная в CPU. Для экономии электроэнергии, ноутбук предпочитает включать дискретную видеокарту только при необходимости (видеоигры например) — это называется гибридным режимом. И анализ партии с помощью KaTrain для него не тот случай, когда нужно подключать дискретную видеокарту… 🙂

Проверить работает ли у вас видеокарта достаточно легко — зайдите в диспетчер задач (Ctrl+Shift+Esc), вкладка “производительность”. Во время работы программы ваша основная (дискретная) видеокарта должна быть загружена на 100%. Если это не так, партии будут очень медленно анализироваться. Я решил эту проблему отключением гибридного режима — это можно сделать через BIOS или родную программу для настройки ноутбука.

Что дальше?

В следующих статьях заглянем под капот движка, посмотрим как можно его более тонко настроить, а также поговорим, как вообще нужно анализировать партии с помощью программ.

Связанные статьи

Оставить комментарий