Leela Chess Zero (lc0): как установить и настроить

Discussion in 'Машинное отделение' started by WinPooh, 25 Sep 2018.

  1. svoitsl
    Оффлайн

    svoitsl Учаcтник

    Репутация:
    7
    Вещь тут весьма вероятностная, при разнице цены в 100 раз вполне возможно, что и рекомендации будут иногда отличаться
     
  2. SKY
    Оффлайн

    SKY Учаcтник

    Репутация:
    1
    Из этих графиков нахождения нового хода в зависимости от глубины можно сделать какие-то выводы:
    Кривая нахождения нового хода в зависимости от глубины.png
     
  3. Обыватель
    Оффлайн

    Обыватель Новичок

    Репутация:
    0
    Познакомился с проектом Next Chess Move. Там и Лила, и Сток... И годовой абонемент предлагают за очень вменяемые деньги, чтобы вычислениями RTX 2080 GPU пользоваться... А что-то похожее, кто-нибудь знает? Не люблю из одного выбирать. И кроме того, даже на пять минут не дают RTX 2080 GPU попользоваться, чтобы проверить. Ибо их free-версия, похоже, слабее моей десктопной Лилы работает, а уж у меня конфиг ниже некуда.
     
  4. Petrik
    Оффлайн

    Petrik Учаcтник

    Репутация:
    -4
    Какие установки необходимы для стравливания Стока с Лилой?
     
  5. Master-d
    Оффлайн

    Master-d кмс баннер

    Репутация:
    1.182
    Как Вы хотите их стравливать? Лила работает с видеокартой, сток с основным процессором.
    Последние версии стока есть с нейросетью - но это не лила,а именно сток, просто с нейросетью.
     
  6. Petrik
    Оффлайн

    Petrik Учаcтник

    Репутация:
    -4
    А что видеокарта работает отдельно от процессора? :)
    Вопрос остаётся открытым, какие установки для оболочки для матча 2 движков?
     
  7. Master-d
    Оффлайн

    Master-d кмс баннер

    Репутация:
    1.182
    а... матч движков? Это не моя тема. Не могу ничего подсказать, кроме как задать вопрос на форчесс, где сидят реально играющие заочники и гики, специалисты по оболочкам и движкам - я там все ответы получаю.
     
  8. SDChess
    Оффлайн

    SDChess Учаcтник

    Репутация:
    6
    У меня несколько вопросов к знатокам.
    По непонятным причинам у меня Leela под Windows не работает связь с syzygy (таблицами). Не вполне понимаю как прописывается путь как Windows C:\syzygy или С:/syzygy ? (пробовал два варианта — результат отрицательный в обоих случаях).
    Как найти образец файла lc0.config, так как нигде не могу найти в сети!
    (Использовал сборку для GPU, однако у меня встроенная графическая карта Radeon Vega 8)
    Движок на этом железе уступает только Stockfish 14.1, но в глубоком эндшпиле играет без таблиц так, что страшно смотреть!)
    Кстати аналогичная ситуация с версией движка для CPU, она тоже не видит таблиц!

    2. Собрал и установил движок для Ubuntu 20/04 (раньше не получалось), все нормально работает, но эта версия послабее так как использует только процессорные возможности из-за того, что нет драйверов для моей встроенной видеокарты под linux!
    Однако и здесь движок работает без таблиц несмотря на то, что здесь вариантов указания пути к ним (таблицам) не существует : /home/name/…!
    Файла lc0.config не смог найти и описаниях движка и в исходниках!
    Следует добавить, что для использования Leela я использовал оболочку Cutechess (для Windows и Linux).
     
    hornet likes this.
  9. Scaramuccia
    Оффлайн

    Scaramuccia Старожил

    Репутация:
    61
    У меня глупый вопрос - а какой параметр у лилы обрубает глубину поиска? Смотрел я как дурак на список параметров движка(там простыня) а вот как ей сказать, не используй глубину больше чем n я так и не понял.
     
  10. SDChess
    Оффлайн

    SDChess Учаcтник

    Репутация:
    6
    Такого параметра в опциях нет.
     
  11. Haze
    Оффлайн

    Haze Новичок

    Репутация:
    0
    Помогите пожалуйста разобраться с кое-какими моментами, связанными с Leela Chess Zero.
    Правильно я понимаю, что основная причина силы движка (помимо улучшаемой архитектуры нейросетки и т.д.) - это миллионы сыгранных (на компах волонтеров) партий движка между собой?

    Если это так, то как долго может усиливаться программа? Пока loss не подойдет к нулю (то есть фактически бесконечно)? Как нейросетка избегает проблемы переобучения?
     
  12. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Примерно так.

    Теоретически, да. На практике, после нескольких десятков миллионов партий усиление фактически прекращается.

    По заветам АльфаЗеро - вводится повышенная вариативность в начале каждой партии. Может ещё и в других стадиях партии - не помню уже.
     
  13. Mustitz
    Оффлайн

    Mustitz баннер

    Репутация:
    37
    Основная сила движка в том, что есть нейросеть, которая для любой позиции возвращает хороший набор ходов-кандидатов, поэтому в дерево перебора попадают более качественные ходы. Другой вопрос, как обучить такую нейросеть? loss это конечно хорошо, но вот на каком наборе данных проводить обучение? Фактически нам нужен набор позиций, для которых нам были бы уже известны хорошие ходы. Например, такой бы мог быть для семифигурных окончаний, но тогда вопрос, а зачем нам нейросеть если мы и так знаем оценки?

    Поэтому нам приходится использовать разного рода эвристики для получения такого набора. Например, мы может выбрать уже сыгранные партии с готовыми результатами, выбрать все ходы, которые в итоге привели к победе, и проводить обучение на них. Конечно, не обязательно, что ход, который привёл к победе, будет лучшим. Это немного не то, что мы бы хотели, но вроде как недалеко от этого. Далее обучение нейросети на этих данных, и т. п. Опять же, это результат применения эвристики, а не строгий математический результат. Поэтому он работает, но до определённого предела. И вот на сегодня лучший набор эвристик позволяет обучить так как есть. Может кто-то придумает лучший алгоритм обучения, и тогда мы получим более сильную программу.
     
  14. Haze
    Оффлайн

    Haze Новичок

    Репутация:
    0

    Мы говорим о Leela, а там reinforcement learning, а вы предлагаете supervised learning. Это же в корне меняет всё
     
  15. Mustitz
    Оффлайн

    Mustitz баннер

    Репутация:
    37
    Я не предлагаю, я как раз говорю, что supervised learning невозможен. А reinforcement learning он в общем-то никаких гарантий не даёт, я уже объяснил почему. Поэтому даже если будет loss нулевым, это ни о чём нам не скажет, и на силу игры влияет опосредовано.
     
  16. Haze
    Оффлайн

    Haze Новичок

    Репутация:
    0
    А вы в курсе, за счет чего сейчас усиливается Leela? Интересно очень.

    И еще такой момент. Допустим, наиграли мы 200 млн партий, потом кому-то из разработчиков приходит в голову светлая идея, как можно усовершенствовать нейросеть, он меняет ее архитектуру, и что теперь? Старые веса и коэффициенты летят в корзину, нужно начинать всё с нуля?
     
  17. Scaramuccia
    Оффлайн

    Scaramuccia Старожил

    Репутация:
    61
    За счет усложнения сети. Они постепенно ищут лучшую сеть в более сложных классах сетей. Более сложная сеть сможет лучше оценивать позицию.
     
  18. Mustitz
    Оффлайн

    Mustitz баннер

    Репутация:
    37
    Ну... я сейчас особо не слежу за Leela, и далеко не факт, что она сейчас усиливается как-то не за счёт улучшения железа видях, ...

    Но в целом усиливать можно (1) улучшением архитектуры нейросети; (2) поковырять методы оптимизации; (3) улучшением процесса наигрывания партий, читай набора позиций. В целом для нейросети качественный набор данных — качественная нейросеть. В качестве примера, если в начальной позиции переставить слонов и коней местами, то относительно SF Leela начинает играть на 200-300 пунктов хуже просто потому, что позиции такого класса не присутствовали в обучении. Сюда же техники раздомизации игры для получения позиций для обучения, выбор позиций, которые пойдут на вход нейросети и т. п.
     
  19. Haze
    Оффлайн

    Haze Новичок

    Репутация:
    0
    Rom
    Mustitz
    Scaramuccia

    А какой loss при глубоком обучении игры (методом reinforcement learning) считается удовлетворительным? У меня застыл на отметке 0,97 и почти не двигается
     
  20. Mustitz
    Оффлайн

    Mustitz баннер

    Репутация:
    37
    Там важна динамика, а так почти всегда он останавливается на каком-то значении, которая очень зависит от архитектуры, и т. п. Не говоря о том, что часть оптимизационных методов даёт штрафы до loss. Поэтому я бы на это не сильно смотрел. Какой-нить accuracy куда более понятен :)
     
  21. kwentin
    Оффлайн

    kwentin Новичок

    Репутация:
    0
    Всем вечер добрый! Отпишитесь пожалуйста кто до сих пор юзает LcO и шарит как настроить ?
     
  22. Комсюк
    Оффлайн

    Комсюк народный модератор баннер

    Репутация:
    1.265
    бесполезно... Сток круче!
     
  23. kwentin
    Оффлайн

    kwentin Новичок

    Репутация:
    0
    Комсюк, не могли бы написать в личку .
     
  24. Комсюк
    Оффлайн

    Комсюк народный модератор баннер

    Репутация:
    1.265
    kwentin, пишу в тему — не засирай мозги, не трать время на Лилу, Сток сильней во всём!
     
  25. kwentin
    Оффлайн

    kwentin Новичок

    Репутация:
    0
    Как тогда настроить чтобы он использовал возможности gpu тоже ?
    И когда в оболочке запускаешь матч программ LcO побеждает Stock.
     
  26. Комсюк
    Оффлайн

    Комсюк народный модератор баннер

    Репутация:
    1.265
    возможно, что ваша видюха не тянет Лилу...
    я и пишу, что не повод горевать!
     
  27. Ruslan73
    Оффлайн

    Ruslan73 Старожил

    Репутация:
    25
    Специалисты по Leela подскажите пожалуйста, жив ли проект, есть смысл возиться с ней на nvidia rtx 3060 ti и intel core i9-9900 3.1 + 48Gb ram ddr4 2666? Или 16я вобла на этом cpu будет сильней?
     
  28. Комсюк
    Оффлайн

    Комсюк народный модератор баннер

    Репутация:
    1.265
    с Лилой есть смысл возиться только на GPU, но Сток будет сильнее на коротких расчётах... отвечаю!
     
  29. Scaramuccia
    Оффлайн

    Scaramuccia Старожил

    Репутация:
    61
    А что нужно то? Leela очень хороша в примерно равных позициях, например, если сток везде нули показывает. Глубокие идеи в дебюте копать, но оно вам нужно?
     
  30. kwentin
    Оффлайн

    kwentin Новичок

    Репутация:
    0
    Как тогда понять что используются возможности gpu при игре ? Карта загружена на 1-2%
     
  31. kwentin
    Оффлайн

    kwentin Новичок

    Репутация:
    0
    Обыватель,
    Подскажи, у тебя получилось настроить?)
     
  32. svoitsl
    Оффлайн

    svoitsl Учаcтник

    Репутация:
    7
    Я юзал с самого начала и до сих пор юзаю, и вроде пока не собираюсь заканчивать...
    Что бы просто играла ничего настраивать не надо, все работает уже само сабой.
    Достаточно скачать нужную версию Лилы (cuda) и поставить дрова на видюху.
    А вот что бы играла хорошо, возможно придется что нибудь изменить
    Например выставить настройки как на разного рода турнирах (например ссс)
    Но как минимум хорошо бы скачать сеть побольше с их сайта, ну собственно и все
    На вашем проце я думаю эти движки будут примерно равны, хотя Стокфиш может быть и немного получше
     
  33. kwentin
    Оффлайн

    kwentin Новичок

    Репутация:
    0
    Если можно не могли бы написать обо всём это в личку.
     
  34. Ruslan73
    Оффлайн

    Ruslan73 Старожил

    Репутация:
    25
    Хотелось бы повозить альтернативным движком разные позиции в миттельшпиле на выходе из дебюта.
     
  35. kwentin
    Оффлайн

    kwentin Новичок

    Репутация:
    0
    И ещё как понять что LcO использует gpu. Карта загружена только на 1-2%.