KataGo, Leela Zero — установка программ для анализа партий Го
Когда я только начинал играть в Го (в 2005-м), над железками все смеялись, и 1 кю с разгромом обыгрывал The Many Faces of Go (сильнейшую на то время программу) на 33 камнях форы! Вот эта партия, кто не верит. Теперь же мы учимся у компьютерных программ. И если вы всерьез хотите заниматься Го, то без компьютерного анализа вам не обойтись.
Однако я бы рекомендовал пользоваться ИИ, только по достижении хотя бы 10 кю. Александр Динерштейн 3p — тот вообще настаивает на отметке в 5 кю. Дело в том, что компьютер предлагает очень сильные ходы, но не объясняет в чем их идея, а если просто повторять, не вникая в смысл, то пользы в этом никакой не будет.
KataGo и Leela Zero — какой движок выбрать?
Самые популярные open source движки — это KataGo и Leela Zero.
На данный момент считается, что KataGo играет сильнее Leela Zero, к тому же KataGo умеет оценивать стоимость хода не только в вероятностях победы/поражения, но и в очках территории. Поэтому всё больше игроков в последнее время используют KataGo.
Обзор программ и сервисов для анализа партий
Запустить оба движка можно на любом компьютере, однако если у вас “корыто” 10-летней давности, которое максимум потянет Герои 3, то не парьтесь, специально для вас придуманы онлайн сервисы:
zBaduk
AI Sensei
KataGui
Все они неплохо сделаны, однако в бесплатном режиме есть ограничения, да и работают не всегда стабильно. Из этих трех сайтов мне больше всего понравился zBaduk, и подписка у него совсем недорогая (€4 в месяц). Также пользовали Go Magic могут Получить 30 дней премиум доступа на ZBaduk.
Кроме того, анализ партий теперь встраивают и в некоторые го-серверы. Например, OGS будет анализировать все сыгранные вами партии при ежемесячном “пожертвовании” от $3. Удобно.
Однако если у вас современный компьютер с хорошей видеокартой, то можете обойтись без платных сервисов. Для этого вам понадобится программа с графическим интерфейсом (GUI) для одного из движка. Вот несколько вариантов:
KaTrain — самый простой вариант. Подойдет, если вам не хочется заморачиваться с установкой и настройкой. Есть много интересных функций и настроек для игры с AI, которых нет в других программах. Из минусов — поддерживается только KataGo.
Lizzie — пожалуй самая популярная в своем роде программа. Поддерживает оба движка: Leela Zero и KataGo.
Sabaki — это современный редактор партий, он позволяет подключать любой движок для анализа.
LizGoban — альтернативный интерфейс для Leela Zero и KataGo.
q5Go — еще один редактор с поддержкой компьютерного анализа.
Пока готовил статью, нашел в просторах GitHub репозиторий, где можно скачать и установить сразу же все доступные движки и интерфейсы к ним (только Windows): BadukMegapack. Сам не тестировал, но возможно кому-то будет интересно попробовать.
В этой статье мы подробно рассмотрим установку KaTrain и Lizzie.
Как скачать программу с GitHub
Наверняка вы заметили, что почти все приведенные программы расположены на github. com. Если вы не программист, то скорее всего вам не очень понятно, а как собственно скачать программу? Зачем всё это? Дело в том, что изначально GitHub использовался исключительно среди разработчиков для совместной работы над проектами, но теперь это очень популярная платформа, которая используется в том числе и для распространения программ. Любой программист вместо того, чтобы создавать специальный сайт для своей программы, может просто оформить репозиторий на гитхабе.
Итак, скачать программу можно на странице релизов (Releases):
Если такой ссылки вдруг нет, то внимательно читайте описание (README.md).
Также обратите внимание на вкладку Issues. Здесь вы можете сообщить о найденных проблемах в программе.
Настоятельно рекомендую пользоваться этим разделом. Не надейтесь, что баги сами чудесным образом исчезнут — помогайте разработчикам их находить.
KaTrain
Установка и настройка
С этой программой у вас не должно быть проблем. Итак, скачиваем последнюю версию здесь (assets → KaTrain. exe).
Для виндовса это обычный .exe-файл, который можно перенести куда угодно, хоть на рабочий стол. Два раза щелкаете по файлу и вуаля, уже можно пользоваться. Все настройки и дополнительные файлы программа хранит в системной папке пользователя.
Обязательно загляните в настройки программы (F8):
Здесь можно скачать и установить последнюю версию нейросети (нынче они часто обновляются) — кнопка “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
Установка и запуск
- Перейдите в releases и скачайте последнюю версию для вашей ОС. Для Windows вам нужен архив с меткой GPU (файл Lizzie.???.Windows.x64.GPU.zip).
- Распакуйте архив в удобную для вас папку.
- Этот шаг опциональный. Рекомендую установить исправленную и дополненную сборку Lizzie. Дело в том, что оригинальная программа в последнее время обновляется редко, поэтому разработчик hope366 сделал свою сборку. Скачайте последний релиз (файл Lizzie-improved-v???.zip) и распакуйте архив в папку с оригинальной программой Lizzie.
Затем удалите файл. Затем удалите файл “lizzie.jar”, а файл “lizzie-improved-v???.jar” переименуйте в “lizzie.jar”.
- Запустите файл “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 нейросети вы найдете здесь. Чтобы скачать последнюю валидную сеть, нужно кликнуть на хеш:
Прямая ссылка на сильнейшую нейросеть LeelaZero.
Далее вам нужно заменить файл lznetwork.gz (в папке программы) на только что скачанный. Важно сохранить такое же имя файла — lznetwork.gz.
Обновление. В феврале 2021 разработчик Leela Zero заявил о закрытии проекта, так как по его мнению программа достигла своей максимальной силы и смысла в тренировке новых нейросетей нет. На замену 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 или родную программу для настройки ноутбука.
Что дальше?
В следующих статьях заглянем под капот движка, посмотрим как можно его более тонко настроить, а также поговорим, как вообще нужно анализировать партии с помощью программ.
Debian — Подробная информация о пакете leela-zero в sid
в именах пакетовв описаниях пакетовв именах пакетов исходного кодав содержимом пакетоввсе параметры
[ buster ] [ bullseye ] [ bookworm ] [ sid ]
[ Источник: leela-zero ]
Go engine with no human-provided knowledge, modeled after the AlphaGo Zero paper
A Go program with no human provided knowledge. Using MCTS (but without Monte
Carlo playouts) and a deep residual convolutional neural network stack.
This is a fairly faithful reimplementation of the system described in the Alpha Go Zero paper «Mastering the Game of Go without Human Knowledge». For all intents and purposes, it is an open source AlphaGo Zero.
https://deepmind.com/documents/119/agz_unformatted_nature.pdf
No network weights are in this repository. If you manage to obtain the AlphaGo Zero weights, this program will be about as strong, provided you also obtain a few Tensor Processing Units. Lacking those TPUs, the author recommends a top of the line GPU — it’s not exactly the same, but the result would still be an engine that is far stronger than the top humans.
Recomputing the AlphaGo Zero weights will take about 1700 years on commodity
hardware. Upstream is running a public, distributed effort to repeat this
work. Working together, and especially when starting on a smaller scale, it
will take less than 1700 years to get a good network (which you can feed into
this program, suddenly making it strong). To help with this effort, run the
leelaz-autogtp binary provided in this package. The best-known network weights
file is at http://zero.sjeng.org/best-network
Теги: Инструментарий интерфейса: Qt
Другие пакеты, относящиеся к leela-zero
|
|
|
|
- dep: libboost-filesystem1.74.0 (>= 1.74.0)
- filesystem operations (portable paths, iteration over directories, etc) in C++
- dep: libboost-program-options1.74.0 (>= 1.74.0)
- program options library for C++
- dep: libc6 (>= 2.30)
- библиотека GNU C: динамически подключаемые библиотеки
также виртуальный пакет, предоставляемый libc6-udeb
- dep:
libgcc-s1
(>= 3.
0) [amd64, s390x]
- вспомогательная библиотека GCC
- dep: libgcc-s1 (>= 3.4) [sparc64]
- dep: libgcc-s1 (>= 3.5) [armhf]
- dep: libgcc-s1 (>= 4.2) [i386, ppc64, ppc64el]
- dep: libgcc-s1 (>= 4.5) [arm64, mips64el]
- dep:
libgcc-s1
(>= 3.
- dep: libqt5core5a (>= 5.15.1)
- Qt 5 core module
- dep: libstdc++6 (>= 7) [armhf]
- стандартная библиотека GNU C++ версии 3
- dep: libstdc++6 (>= 9) [не armhf]
- dep: ocl-icd-libopencl1
- Generic OpenCL ICD Loader
- или libopencl1
- виртуальный пакет, предоставляемый nvidia-libopencl1, ocl-icd-libopencl1
- dep:
ocl-icd-libopencl1
(>= 1.
0)
- Generic OpenCL ICD Loader
- или libopencl-1.2-1
- виртуальный пакет, предоставляемый nvidia-libopencl1, ocl-icd-libopencl1
- dep:
ocl-icd-libopencl1
(>= 1.
- dep: zlib1g (>= 1:1.1.4)
- библиотека сжатия
- rec: clinfo
- Query OpenCL system information
также виртуальный пакет, предоставляемый clinfo
- rec: opencl-icd
- виртуальный пакет, предоставляемый beignet-opencl-icd, intel-opencl-icd, mesa-opencl-icd, nvidia-legacy-340xx-opencl-icd, nvidia-legacy-390xx-opencl-icd, nvidia-opencl-icd, nvidia-tesla-418-opencl-icd, nvidia-tesla-450-opencl-icd, nvidia-tesla-470-opencl-icd, nvidia-tesla-opencl-icd, pocl-opencl-icd
Загрузка leela-zero

шахмат, аудио и разное. software
Leela — мощная программа для игры в го, сочетающая в себе достижения в программировании го и дальнейшее оригинальное исследование небольшого, простого в использовании графического интерфейса.
Он находится в свободном доступе и идеально подходит для знакомства с игрой.
Характеристики
- Мощный движок Go, включая поддержку нескольких процессоров и ускорение графического процессора
- Прочность выше 9 дан на 19 x 19, в зависимости от оборудования
- Серебро компьютерной олимпиады 2008 (9×9) и бронзовый (19×19) призер
- С технологией глубокого обучения
- Простой в использовании графический интерфейс
- Регулируемый размер доски (до 25×25!), игровые уровни, фора и коми
- Фиксированная сила и уровни сложности на основе времени
- Китайские правила с позиционным суперко
- Загрузка и сохранение формата SGF
- Рейтинговый игровой режим с автоматической настройкой уровней сложности
- Функции анализа, включая критические варианты для каждого хода и шансы на победу
- Графическое отображение критических ходов, территории, лучших линий, …
Скачать
- Лила 0.
11.0 (графический интерфейс для Windows, вам наверное нужен этот )
- Leela 0.11.0 Китайский (графический интерфейс для Windows, китайский перевод от 轩爸@轩之围棋)
- Leela 0.11.0 для macOS (графический интерфейс для macOS, формат DMG)
- Лила 0.11.0 для Ubuntu (пакет deb)
- Лила 0.11.0 для Arch/Manjaro (упаковка)
- Лила 0.11.0 для Fedora (пакет rpm для dnf)
- Только движок Leela 0.11.0 (движок командной строки/GTP для Windows/Linux/macOS)
Исходный код
- Репозиторий Github для исходного кода движка.
- репозиторий Github для источника графического интерфейса.
Скриншоты
Анализ партии, показ наиболее вероятных ходов.
Часто задаваемые вопросы
Что это за технология глубокого обучения?
Лила содержит технику искусственного интеллекта, смоделированную по образцу человеческой зрительной системы и мозга, глубокий стек искусственных нейронов, обрабатывающих визуальный ввод, причем каждый слой объединяет предыдущие в функции более высокого уровня (так называемая DCNN, глубокая сверточная нейронная сеть).
Эта «нейронная сеть» была обучена более чем 32 миллионам человек. позиций из го-игр высокого уровня и научили предсказывать ходы профессионала. игрок, скорее всего, рассмотрит. В играх 19×19 движок будет запрашивать эту глубину. «нейронная сеть» во время поиска, чтобы сосредоточиться на наиболее критичных вариантах. Результат значительно увеличивает игровую силу (около 6 камней) и делает игру более похожей на человеческую. стиль игры, в то же время позволяя движку вводить собственные инновации.
В чем преимущество ускорения графического процессора?
Графический процессор обычно намного быстрее обычного процессора при выполнении расчеты, необходимые алгоритмам глубокого обучения. Например, AMD R9 390 (средний диапазон видеокарта) может найти стоящие ходы в позиции го примерно в 15 раз быстрее, чем Intel Core i5-6600 (процессор среднего уровня). Лила использует это, чтобы исследовать варианты глубже и подробнее. Вы можете заметить, что в режиме анализа критические отклонения отображаемые движком, намного дольше, когда используется ускорение графического процессора.
Что мне нужно для запуска версии с ускорением GPU?
Вам нужна видеокарта с поддержкой OpenCL 1.1 (или более поздней версии). Это поддерживается на всех последние карты AMD и NVIDIA. Убедитесь, что установлены последние версии драйверов для видеокарты. установлены. Обнаруженную видеокарту можно увидеть в меню Help->
Могу ли я запустить версию «GPU Accelerated» на встроенной графике моего процессора?
Это имеет смысл только в том случае, если встроенный графический процессор быстрее выполняет вычисления глубокого обучения. чем сам процессор. Процессоры Intel, как правило, очень быстрые, со слабым встроенным графическим процессором. так что это не рекомендуется. AMD APU обычно имеют медленный процессор, но быстрый графический процессор, поэтому стоило бы на тех.
Моего дистрибутива Linux нет в списке.
- Загрузка «только для движка» включает бинарные файлы Linux, которые должны работать почти во всех дистрибутивах и которые можно использовать с любым графическим интерфейсом Go, поддерживающим протокол GTP (почти все поддерживают).
Красавчик — Сабаки. Чтобы использовать версию OpenCL, у вас должны быть установлены драйверы OpenCL и загрузчик OpenCL ICD, см. прилагаемый файл README.TXT.
- Установщик Windows и графический интерфейс работают и полностью функциональны под Wine-1.9.23 или более поздней версии, хотя ускорение графического процессора работать не будет.
- Во многих дистрибутивах Linux есть способ принимать пакеты Ubuntu/Debian и преобразовывать их в собственный формат дистрибутивов. Возможно, кто-то уже сделал это за вас. Осмотреться!
Почему Лила сообщает >100% или отрицательный винрейт?
Как анализировать игры?
Что означают столбцы в окне анализа?
- Simulations: количество разыгрываний Монте-Карло, использованных для исследования хода. Больше симуляций означает больше уверенности в винрейте, так как этот ход был изучен глубже.
- Effort%: количество поисковых усилий, затраченных Лилой на ход в процентах. Большие усилия по поиску означают, что ход постоянно выглядел хорошо на протяжении всего поиска. Лила обычно предпочитает такие ходы, если только не появился новый очень многообещающий кандидат.
- Win%: представляет собой наилучшее предположение Лилы о том, насколько вероятно, что игрок сделает ход, чтобы выиграть игру. Если есть ход, который еще не исследован глубоко, но, по-видимому, дает более высокие шансы на победу, чем текущий лучший ход, он выделен жирным шрифтом. Возможно, вы захотите дать Лиле немного больше времени на анализ, если это произойдет.
- MC Win%: вероятность того, что игрок, сделавший ход, выиграет игру, определяемая рандомизированными розыгрышами Монте-Карло с текущей позиции. Это фактор в расчете Win%.
- Net Win%: вероятность того, что игрок, сделавший ход, выиграет игру, определенная путем анализа позиции с помощью нейронной сети. Это фактор в расчете Win%.
- Net Prob%: вероятность того, что профессиональный игрок сделает этот ход, по оценке нейронной сети.
- Eval: отображается в играх, отличных от 19×19, вместо Net Prob%. Безразмерное число, выражающее вероятность того, что ход будет хорошим, на основе базы данных шаблонов и характеристик ходов.
- PV: основная вариация. Последовательность предлагаемых ходов для обоих игроков, которую Лила считает оптимальной.
Мой Mac жалуется, что Лила не может быть открыта, потому что это от неизвестного разработчика.
Лила говорит, что у белых больше шансов на победу, когда черные получают камни с форой.
У вас есть несколько вариантов:
Уверенность в победе в игре с 0,5 очками соответствует 100% винрейту. Более высокие пределы победы представлены >100%.
Включите окно анализа через Analyze→Analysis Window. Запустите анализ с помощью F2 (или панели инструментов) и перемещайтесь по игре с помощью клавиш со стрелками, ища скачки в Win% лучшего хода (тот, что сверху). Они представляют собой ошибки одного из игроков. Посмотрите, какие ходы предлагает Лила. «Показать сетевые вероятности» (F3) и «Показать лучшие ходы» (F4) помогут понять направление ошибок в игре, а «Показать территорию» (F5) помогут понять «размер» и «температуру» игры.
Вы можете «сохранить» позицию, нажав +, затем попробовать вариант на доске. Затем выполните Анализ → Вернуться к сохраненному (Alt-M), чтобы вернуться к сохраненной позиции. Положение также сохраняется всякий раз, когда вы входите в режим анализа.
Включение гистограммы (Ctrl-H) показывает графическое отображение того, кто был впереди в какой момент игры. Он отображает процент побед в зависимости от количества ходов. По словам Лилы, крутой вертикальный берег на линии представляет собой вероятную ошибку. Вы можете перейти к этому шагу, щелкнув внутри окна гистограммы.
Лила всегда упорядочивает ходы в этом окне от лучшего к худшему, т.е. верхний ход является лучшим ходом (на данный момент). Вы можете щелкнуть в этом окне, чтобы показать основной вариант для выбранного хода на доске.
Щелкните правой кнопкой мыши загрузку и выберите Открыть. Вы получите возможность обойти предупреждение. Пояснение от Apple.
Ценностная сеть Лилы создана на основе реальных человеческих игр, а не идеализированных компьютерных противников. В играх с форой чаще выигрывает более сильный (белый) игрок. Вы можете посмотреть на оценку Монте-Карло для оценки с такими же сильными игроками.
Изменения
Лила 0.11.0 (24.10.2017)
- Исправлен неправильный алгоритм поиска, используемый при отключенных нейронных сетях. Из-за этого предыдущая версия очень слабо играла на не-19.доски х19.
- Новая, гораздо более мощная оценка методом Монте-Карло, сочетающая обучение с градиентным усилением политики и балансировку моделирования.
- Сочетание вышеперечисленного означает, что прочность на не-19×19 значительно возросла по сравнению с предыдущим выпуском. В результате рейтинги в рейтинговом режиме игры были сброшены.
- Ранг пользователей теперь корректируется намного быстрее в первых нескольких рейтинговых играх.
- Более точная сеть с большей стоимостью для 19х19.
- Более точная политика сети для 19×19. При включенном OpenCL вместо этого используется еще более мощная и большая сеть.
- Версия для Windows теперь компилируется с помощью Clang/LLVM 5.0 вместо MSVC2017. Это делает оценки Монте-Карло примерно на 15% быстрее.
- Улучшена обработка ошибок OpenCL с более полезными сообщениями об ошибках. В графическом интерфейсе появится диалоговое окно, если инициализация не удалась.
- Изменение размера окна доски до минимума больше не приводит к сбою программы.
- Версия с графическим интерфейсом теперь запускает движок с нормальным приоритетом, а не с пониженным. Это может повысить скорость отклика в некоторых ситуациях и избежать ложных зависаний, если другая программа привязывает ЦП.
- Небольшие визуальные исправления в окне настроек.
- Внутренние очистки и изменения в обработке потоков, направленные на устранение ошибок в драйверах AMD OpenCL.
- Теперь при возврате хода в рейтинговом режиме игра не засчитывается.
- Исправлена ошибка, из-за которой быстрое перемещение назад/вперед по игре могло привести к активации режима анализа.
- Винрейты для гистограммы очков теперь запоминаются, даже если окно в данный момент не активно.
- Лила теперь включает тег текущей даты при записи файлов SGF.
- Обходной путь для ошибки в GNOME и Unity, связанной с обработкой значков.
- : Теперь Leela помечает себя как способную обрабатывать файлы SGF в Linux.
- В Linux ярлыки программы теперь автоматически применяют оболочку PulseAudio. Это заставляет звук работать по умолчанию в современных дистрибутивах Linux.
- «Гистограмма очков» переименована в «Гистограмму выигрышей».
- Во время подсчета очков слово «Играть включено» было заменено на «Счет спора».
- Кэш позиций теперь очищается при изменении коми.
- Теперь в пользовательском интерфейсе можно играть с отрицательными или большими коми, но обратите внимание, что сеть значений не будет работать так же точно, как стандартные коми 0, 6,5 или 7,5.
- Кнопка «Спор» в диалоге подсчета очков теперь работает правильно и позволяет возобновить игру с подсчетом очков «все камни живы».
- Лила теперь восстанавливает размер и положение наиболее важных окон.
- Теперь Лила запоминает, какие инструменты визуализации были включены при перезапуске программы.
- Лила больше не автоматически изменяет размер окна анализа, если окно восстанавливается после запуска.
- Более крупная и современная библиотека фузеки.
- Опция —nobook позволяет отключить библиотеку fuseki (версия GTP).
- Информация о ходах теперь будет отображаться для всех интересных ходов, а не для первых 6 (версия GTP).
- Команда loadgf с неверными параметрами больше не приводит к сбою движка (версия GTP).
- Уточнено описание некоторых параметров командной строки (версия GTP).
- Прерывание при некоторых комбинациях параметров командной строки, которые несовместимы (версия GTP). Примечательно, что при ограничении воспроизведения необходимо отключить .
- Теперь движок будет дополнительно обрабатывать команды kgs-genmove_cleanup (версия GTP).
- Версия с графическим интерфейсом теперь принимает имя SGF и номер перемещения в качестве аргументов запуска. Версия
- для macOS теперь предупреждает о драйверах Apple OpenCL при первом запуске.
- Параметры, недоступные на текущей платформе, теперь отображаются серым цветом.
- Оценка текущей позиции теперь отображается в заголовке окна анализа.
- loadgf теперь останавливается в позиции перед указанным номером хода (совместимость с протоколом GTP).
- Загрузка SGF в графическом интерфейсе теперь также правильно загружает последний ход.
- Выдавать осмысленное сообщение, если устройство OpenCL сообщает, что оно не является ЦП или ГП (версия GTP).
- При загрузке SGF и попытке продолжить игру теперь используются настройки из «Новой игры», а не из последних активных (которые часто были рейтинговыми играми).
- Теперь можно проанализировать еще несколько недопустимых файлов SGF с играми с гандикапом.
- Исправление проблем с загрузкой файлов SGF с международными символами в имени.
- Исправьте неверную информацию о версии в файлах .
desktop Linux.
- Исправлены некоторые сочетания клавиш, которые были сопоставлены с несколькими функциями.
- Исправлена ошибка, из-за которой в отображении вариантов использовались неправильные цвета камней.
- Исправлена ошибка, из-за которой могли возникать ошибочные совпадения в начальной книге или кэше позиций.
- Исправить потенциальный сбой при включении гистограммы результатов.
- Исправлен сбой, когда мы не можем определить количество потоков/ЦП.
- Много внутренних чисток.
Лила 0.10.0 (18 мая 2017 г.)
- Переработанная, более быстрая сеть политик, включающая игры от более слабых игроки. Это улучшает многие слепые зоны в двигателе.
- Более крупная сеть, обученная на большем количестве данных (С благодарностью Хироши Ямашита).
- Расчет сети значений теперь выполняется на графическом процессоре (версия OpenCL).
- Улучшена система «легкого перемещения» и «моментального перемещения», когда решения о перемещении выглядят очевидный. Лила менее склонна ошибаться в таких ситуациях.
- Улучшено чтение лестниц и обнаружение ложных лестниц.
- Улучшена оценка винрейта с уверенностью в Монте-Карло и Ценностная сеть с учетом.
- Настроен и улучшен поиск, в том числе для 9х9 и 13х13. Последнее до камень прочнее (но гораздо слабее 19х19).
- Различные небольшие исправления в диагностическом дисплее двигателя в крайних случаях.
- Оптимизация для большого количества ядер/потоков: >=6 и >=14. 16 резьбовые машины прочнее на полстоуна. Уменьшено количество блокировок.
- Некоторые операции настройки теперь выполняются параллельно. Это повышает прочность в очень быстрое управление временем или на системах с большим количеством ядер.
- Добавлен собственный графический интерфейс Linux.
- Добавлен собственный графический интерфейс macOS.
- Движок macOS больше не требует boost/homebrew (версия GTP).
- Более четкое отображение статистики поиска, особенно эффективной скорости поиска (версия GTP).
- Небольшие обновления библиотеки фьюзки.
- clear_board больше не сбрасывает значение коми (совместимость с протоколом GTP).
- Опция «—komiadjust», позволяющая избежать потери 0,5 очка при игре под правила подсчета очков территории (версия GTP).
- Скорректируйте некоторые крайние случаи для time_left, например, time_left w/b 0 0 (GTP совместимость протоколов).
- Переработано диалоговое окно оценки. Это укажет, если Лила не уверена в подсчет очков или статус группы.
- При выборе варианта в окне анализа теперь отображается вариант камнями и нумерацией на доске.
- Переработано отображение тепловой карты с более четкими цветами.
- Добавить отображение тепловой карты, отображающее текущие лучшие ходы из поиск. Добавить столбец в окно анализа с процентом поиска затраченное усилие.
- Добавить интерактивную гистограмму очков с указанием текущего хода.
- Не изменять автоматически размер окна анализа, если пользователь изменил его размер вручную.
- Добавлены явные команды «Сохранить позицию» и «Забыть позицию» в Пользовательский интерфейс. Позиции хранятся в стеке. Текущее положение автоматически сохраняется при загрузке игры или входе в режим анализа.
- Добавлены команды «winrate», «vn_winrate» и «mc_winrate» (версия GTP).
- Добавить команду «heapmap» (версия GTP).
- Добавлена поддержка указания используемого графического процессора (версия GTP).
- Добавлена поддержка kgs-game_over (версия GTP). Бинарные файлы
- для Linux и macOS теперь поддерживают старые системы и процессоры AMD Ryzen.
- Территория и номер хода теперь корректно обновляются после прохождения через игра или загрузка SGF. Номер хода отображается в строке заголовка.
- Параметры копирования/вставки SGF в буфер обмена добавлены в графический интерфейс.
- Лила не будет терять сознание в играх, где победитель не очень уверен.
- Время теперь правильно вычитается из часов при игре в игры в графический интерфейс. Это заставляет Лилу снова соблюдать установленный контроль времени.
- Вход в режим анализа из рейтинговой игры отключит движок пределы прочности.
- Данные анализа теперь можно копировать, щелкнув правой кнопкой мыши окно анализа.
- Исправлен алгоритм «Влияние» (GTP) и «Показать территорию» (GUI).
Лила 0.9.0 (18.02.2017)
- Сильно улучшен поиск: движок теперь может расширять дерево поиска в несколько шагов, самые быстрые из которых выполняются на процессоре. Немного меньше зависит от быстрого графического процессора, меньшее замедление из-за связи с графическим процессором, менее чувствителен к дырам в нейронной сети.
- Улучшенная оценка методом Монте-Карло, в частности, некоторые чтения о жизни и смерти. требующие точной последовательности движений и накаде.
- Сеть создания стоимости теперь используется в качестве второго мнения в Монте-Карло.
оценка. Это значительно выигрывает от современного процессора (Haswell или новее). Сообщаемый процент выигрышей учитывает оба метода.
- Перенастроены различные параметры поиска.
- В общей сложности эти улучшения стоят от 1 до 2 камней.
- Перенастроены пороги выхода в отставку для новой оценки.
- Ограничьте настройку гандикапа в графическом интерфейсе до разумного/поддерживаемого уровня.
- Не перезаписывать первые ходы в графическом отображении основной линии, когда происходит повторный захват.
- Немного изменить номинальную сложность игрового режима.
- Исправлено несколько проблем с разбором SGF: проблемы с пробелами, комментарии и синтаксический анализ escape-последовательности, по умолчанию 19×19, если размер не указан.
- В диалог новой игры добавлен размер доски 7×7.
- Координаты теперь в верхнем регистре (требуется спецификацией GTP).
- Добавлен параметр —quiet, который подавляет вывод диагностики на стандартный вывод и может
решить проблемы совместимости графического интерфейса (движок GTP).
- Добавлен параметр —logfile (движок GTP).
- Команда time_settings теперь подразумевает сброс часов (версия GTP).
- Исправления в канадском стиле byo yomi time. (версия GTP)
Leela 0.8.0 (17.11.2016)
- Более быстрое вычисление DCNN на ЦП: ускорение до 130% на современных ЦП Intel.
- Более быстрое вычисление DCNN на графическом процессоре: примерно на 10-20 % быстрее на AMD GCN, до 150 % быстрее на NVIDIA Pascal/Maxwell/Kepler.
- Более сильные разыгрывания: Лучшее управление движениями атари, семеай, некоторое минимальное понимание сэки и накаде.
- Более сильный поиск: Меньше жесткого сокращения маловероятных ходов, но больше внимания уделяется сильным вариантам.
- Больше сопротивления входу в лестницы, исправления в чтении ветвящихся лестниц. Версия
- OpenCL теперь запускает самопроверку при запуске и сообщает о неисправных драйверах.
- Исправлены ошибки в тайминге байоми, предотвращающие некоторые панические движения.
- Лила теперь быстрее уходит в отставку при проигрыше.
- Лила больше не пропускает игру, если она еще не выиграна на счету.
- Исправлена ошибка с маркировкой мертвых камней в вырубленных играх.
- Вышеупомянутое увеличивает прочность примерно на 1-2 камня, в зависимости от фурнитуры.
- Исправления в написании SGF, правильная обработка отставок.
- Поддержка записи SGF с помощью команды «printsgf» (версия GTP).
- Исправления для отображения вероятностей при загрузке игр SGF.
- Настраиваемый буфер для задержки интерфейса/сети (версия GTP).
- Настраиваемое количество воспроизведений (версия GTP).
- Ходы с более высоким винрейтом, чем текущий лучший ход (но с недостаточной достоверностью) выделены жирным шрифтом в окне анализа.
- Тепловая карта правильно отображается для ходов по краю доски.
- Более быстрое изменение размера доски при включенных тепловых картах.
- Установщик предлагает выбор установки для текущего пользователя или для всех пользователей.
- Программа удаления корректно очистит настройки реестра.
- Показать вероятности ходов и использовать сети неактивны в не-19х19 игры.
- Отображение «Рейтинг» изменено на «Ваш рейтинг», чтобы избежать путаницы.
- Отображение «Рейтинг» исчезнет, когда пользователь использует любую подсказку. или функция анализа (и игра не будет засчитана).
- Режим анализа позволяет свободно делать ходы на доске. Есть пункт меню и кнопка на панели инструментов «Вернуться к основной линии», которая вернет в положение, в котором изначально был включен режим анализа.
- Просматривать игру вперед/назад на 10 ходов намного быстрее.
Лила 0.7.0 (30.09.2016)
- Увеличенная DCNN и, следовательно, лучшая обрезка перемещений. Включена библиотека
- Fuseki, созданная из профессиональных игр. Ускоряет игру открытия.
- (версия для графического процессора) Более быстрая отправка на графический процессор, ускорение поиска по дереву.
- Улучшен выбор критических вариантов при поиске по дереву.
- В целом примерно на полстоуна сильнее 0.6.2.
- Удалена поддержка плат размером более 25 x 25. Это сделало многие из следующих улучшений намного проще.
- Клавиши со стрелками можно использовать для перемещения по игре в режиме анализа.
- Движок остается в режиме анализа при прохождении игры.
- Show Territory переработан, чтобы использовать расчет из движка вместо упрощенного из GUI. Дисплей стал красивее и может отображать вероятность графически.
- Опция для отображения вероятностей из DCNN в виде тепловой карты.
- Окно анализа, обеспечивающее подробное отображение оценок ходов. Линии можно щелкнуть, чтобы графически отобразить принципиальную вариацию.
- Масштабирование Windows DPI можно включить или отключить в меню настроек.
- Теперь диалоговые окна должны лучше подходить при использовании нестандартных размеров экрана или шрифта.
- Движок работает с более низким приоритетом, поэтому Windows остается более отзывчивой.
- Windows XP SP2 теперь поддерживается как минимальная версия Windows.
- Поддержка OpenCL теперь доступна для движков Linux GTP.
Лила 0.6.2 (2016-06-04)
- Глубокое обучение DCNN для сокращения ходов во время поиска (+6 камней силы).
- Добавлена версия OpenCL, запускающая DCNN на графическом процессоре.
- Переработан алгоритм поиска для режима глубокого обучения.
Лила 0.4.6 (07.04.2016)
- Удвоен размер базы данных паттернов и перенастроено предсказание движений.
- Исправлена ошибка, появившаяся в 0.4.x, которая сильно ухудшала оценку жизни и смерти.
- Другие исправления воспроизведения, улучшающие чтение жизни и смерти.
- Общая игровая сила увеличилась примерно на полстоуна.
- Теперь диалоги будут корректно отображаться на дисплеях с высоким разрешением.
- Установщик больше не запрашивает права администратора (нет запроса UAC).
- Удалена облегченная версия.
Полная версия теперь бесплатна.
KataGo, Лила Зеро — Установка программного обеспечения для ИИ Обзор игры в го
Когда я начал играть в го в 2005 году, все смеялись над компьютерами, играющими в эту игру. Был игрок с 1 кю, который разгромил The Many Faces of Go (самую сильную программу для игры в го в то время) с 33 гандикапных камня ! Если не верите, вот эта игра. В наши дни мы учимся у машин. Если у вас есть планы изучить Го более серьезно, без компьютерного анализа вам просто не обойтись.
Однако я бы рекомендовал начинать использовать ИИ только по достижении 10 кю. Александр Динерштейн 3p даже настаивает на том, чтобы увеличить эту разницу до 5 кю. Причина в том, что ИИ предлагает очень сильные ходы, не объясняя их смысла. Если вы будете слепо следовать этим советам, не пытаясь понять, что за ними скрывается, это не принесет вам никакой пользы.
KataGo и Лила Зеро — какой двигатель выбрать?
Самыми популярными движками с открытым исходным кодом сейчас являются KataGo и Leela Zero .
На данный момент КатаГо считается сильнее Лилы Зеро. Кроме того, KataGo может оценивать стоимость хода не только в вероятности выигрыша/проигрыша, но и в очках территории. Вот почему в последнее время все больше и больше игроков используют KataGo.
Проверка программного обеспечения и услуг для анализа игр
Вы можете использовать оба движка на любом компьютере, но если у вас есть «тостер» десятилетней давности, на котором едва ли можно запускать классические игры Heroes of Might and Magic, сейчас еще не время волноваться. Есть несколько онлайн-сервисов, которые вы можете использовать:
zBaduk
AI Sensei
KataGui
Все они сделаны хорошо с некоторыми ограничениями использования в бесплатном режиме и им немного не хватает стабильности. Из этих трех я лично предпочитаю использовать zBaduk, к тому же подписка на него действительно не дорогая (4 евро в месяц). Также участники Go Magic могут получить 30-дневный премиум-доступ к ZBaduk.
Функция анализа игр также встроена в некоторые серверы Go. Например, OGS проанализирует все ваши игры с ежемесячным «пожертвованием» не менее 3 долларов. Это удобно.
Впрочем, если у вас современный компьютер с хорошей видеокартой, то можно обойтись и без платных услуг. Для анализа ваших игр вам понадобится программное обеспечение с графическим интерфейсом пользователя (GUI) для одного из движков. Вот некоторые из вариантов:
KaTrain — самый простой вариант, если вы не хотите углубляться в детали установки и настройки. Он поддерживает множество интересных функций и возможностей, уникальных для KaTrain. С другой стороны, он поддерживает только движок KataGo.
Lizzie — пожалуй, самый популярный графический интерфейс в своем роде. Он поддерживает как Leela Zero, так и KataGo.
Sabaki — современный игровой редактор и графический интерфейс, позволяющий подключить к нему любой ИИ.
LizGoban — альтернативный графический интерфейс для Leela Zero и KataGo.
q5Go — еще один игровой редактор, поддерживающий анализ ИИ.
Пока я писал эту статью, я нашел этот BadukMegapack в недрах GitHub, который позволяет вам загрузить и установить все доступные движки и графические интерфейсы (только для Windows). Сам не проверял, но может кто захочет попробовать.
В этой статье мы подробно расскажем об установке KaTrain и Lizzie.
Загрузка программного обеспечения с GitHub
Возьмем в качестве примера Lizzie.
Вы наверняка заметили, что все приведенные выше ссылки взяты с github.com. Если вы не программист, то вам наверняка интересно, как оттуда можно что-то скачать. Почему так сложно? Первоначально GitHub использовался только разработчиками для совместной работы над проектами, но в наши дни он стал популярной платформой, которая также используется для распространения программного обеспечения. Вместо того, чтобы создавать веб-сайт для своего программного обеспечения, программист может просто создать репозиторий на GitHub.
Для того, чтобы скачать что-то здесь, нам нужно перейти к выпускам:
Если вы не видите эту ссылку по какой-то причине, то внимательно читайте описание (README.md).
Также обратите внимание на вкладку «Проблемы». Здесь вы можете сообщить о любых проблемах или ошибках, которые вы найдете.
Я настоятельно рекомендую вам использовать этот раздел. Не ждите, что проблемы и баги чудесным образом исчезнут — помогите разработчикам найти их.
KaTrain
Установка и настройка
У вас не должно возникнуть проблем с этим программным обеспечением. Прежде всего, давайте загрузим последнюю версию здесь (активы → KaTrain.exe).
Для пользователей Windows это обычный файл .exe, который вы можете перенести куда угодно, даже на рабочий стол, если хотите. Дважды кликаем по файлу и та-да — можно начинать им пользоваться. KaTrain хранит все настройки и дополнительные файлы в системной папке.
Обязательно загляните в настройки (F8):
Здесь можно скачать и установить последнюю версию нейросети (в последнее время они часто обновляются) — кнопка «Скачать модели». Для более глубокого анализа игры также рекомендую увеличить значения следующих параметров:
- Максимальное количество посещений
- Максимальное время анализа
- Широкий корневой шум
Последний параметр отвечает за количество вариантов, предлагаемых KaTrain, думаю, это самая интересная часть.
Обратите внимание, что KaTrain (в отличие от Lizzie) не анализирует позицию бесконечно, а делает это итерациями в соответствии с ограничениями в настройках (Максимальное количество посещений, Максимальное время). Для того, чтобы он проанализировал позицию глубже, нужно нажать на «Глубокий анализ» или «А» на клавиатуре.
Разработчики KataGo недавно сделали обучение нейронной сети открытым, чтобы каждый мог внести свой вклад в него. Эта функция также доступна в KaTrain. Вы можете прочитать подробности на katagotraining.org
Вообще говоря, KaTrain очень прост в использовании, там все должно быть понятно. Однако лично я больше привык к интерфейсу Лиззи. Несмотря на то, что он немного менее удобен для пользователя и сложнее в настройке, он может вам понравиться.
Лиззи
Установка и запуск
- Перейдите к выпускам и загрузите последнюю версию программы для вашей ОС. Если вы используете Windows, вам понадобится архив с пометкой GPU (Lizzie.???.Windows.x64.GPU.zip).
- Распаковать архив в любую папку.
- Этот шаг не является обязательным. Рекомендую установить улучшенную и дополненную сборку Lizzie. Дело в том, что оригинальный софт редко обновляется, поэтому разработчик под ником Hope366 сделал свою сборку. Скачайте последний релиз (Lizzie-improved-v???.zip) и распакуйте архив в папку с оригинальной программой для лиззи. Затем удалите файл «lizzie.jar» и переименуйте «lizzie-improved-v???.jar» в «lizzie.jar».
- Запустите файл «lizzie.jar».
Первый запуск обычно занимает много времени, потому что ваша графическая карта должна быть настроена.
Если программа не запускается, возможно, у вас не установлена Java. Как и KGS (CGoban), Lizzie работает на Java. В требованиях разработчика написано, что нужна как минимум Java 8.
Как сбросить Lizzie на английский
В Lizzie 0.7.4 почему-то нет возможности сменить язык. Если язык вашей операционной системы отличается от английского, то Lizzie, скорее всего, автоматически запустится на этом языке. Это может показаться идеальным, но в других версиях могут быть ошибки перевода и глюки. Поэтому я предпочитаю английскую версию.
Загрузите файл lizzie-en.bat и поместите его в папку с программой. Просто запустите этот файл, и Лиззи снова заговорит по-английски.
Здесь описано решение этой проблемы.
Как обновить нейронную сеть
Сам движок (Leela Zero или KataGo) обновляется очень редко, но сети регулярно обучаются и обновляются. Кроме того, существуют различные виды нейронных сетей. В Lizzie предустановлены сети из 20 блоков, но есть сети из 40 блоков, которые намного мощнее. Вы также можете установить сеть из ELF OpenGo (Facebook) или SAI. Вы можете пробовать всевозможные эксперименты с нейросетями, переключаться на разные движки и конфигурации на лету, чтобы всесторонне просмотреть игровую позицию.
Примечание: сети иногда называют весами.
Нейронная сеть подключена к движку отдельным файлом. В папке с Лиззи вы найдете два файла:
- katanetwork.gz — сеть KataGo
- lznetwork.gz — сеть LeelaZero
Это файлы, которые следует заменить.
Здесь вы найдете сети для Лилы Зеро . Чтобы загрузить последнюю действующую сеть, нажмите на решетку:
Прямая ссылка на сильнейшую сеть LeelaZero.
После этого нужно заменить файл «lznetwork.gz» (в папке с программой) на тот, который вы только что скачали. Важно сохранить то же имя файла — «lznetwork.gz».
Обновление. В феврале 2021 года разработчик LeelaZero объявил о закрытии проекта, так как считал, что программа достигла максимальной мощности. На смену LeelaZero пришел новый проект — SAI.
Сети для KataGo можно найти здесь. Процесс тот же — скачайте самую сильную сеть и замените ею файл «katanetwork.gz».
Как обновить движок
Движок LeelaZero не обновлялся с 2019 года, но для KataGo регулярно выходят обновления. На момент написания этой статьи последняя версия Lizzie 0.7.4 поставлялась с KataGo 1.6.1, а версия 1.8.1 уже была доступна.
Сам движок вы найдете в релизах. Вам понадобится архив с «gpu-opencl». Скачайте архив, затем удалите все из папки lizzie/katago и скопируйте туда все из архива. Вот и все, вы можете начать использовать его прямо сейчас.
Не позволяйте компьютеру лениться
При использовании ИИ я столкнулся с проблемой, с которой могут столкнуться и некоторые из вас. Ноутбук, который я использую, имеет две видеокарты — дискретную карту NVIDIA и одну, встроенную в процессор. В целях энергосбережения ноутбук использует дискретную карту только в случае необходимости (например, при игре в видеоигры) — это называется гибридным графическим режимом.