Leela Chess Zero (lc0): турниры, партии, рейтинги...

Тема в разделе "Машинное отделение", создана пользователем vasa, 10 окт 2018.

  1. vasa
    Оффлайн

    vasa Опытный перворазрядник Команда форума Команда форума

    Репутация:
    586
     
    Последнее редактирование: 10 окт 2018
  2. Kirill_A
    Оффлайн

    Kirill_A Новичок

    Репутация:
    0
    Обсуждаем нейронную сеть Leela Chess Zero (lc0) в этой отдельной теме.

    [​IMG]

    Сейчас идет турнир движков TCEC Cup 2018 (нокаут система, 32 движка, контроль времени 30 минут + 10 секунд добавка на ход), в котором Лила (Lc0 18.11248) вчера играла с сильным движком Laser (Elo 3241). В каждом матче программы играют друг с другом по 8 партий (4 дебюта белыми и черными). Лила выиграла 5 - 3 (4 ничьих и две победы) и попала в 1/8 финала. Со Стокфиш она может встретиться в полуфинале (судя по турнирной сетке).

    Победа черными во французской защите очень впечатлила: здесь Лила увидела инициативу и возрастающее преимущество черных раньше чем СFish (клон Стокфиша, работающий там для анализа на 88 ядрах и использующий базы семифигурных окончаний).

    —- добавлено: 10 окт 2018, опубликовано: 10 окт 2018 —-
    А здесь впечатляющая победа белыми: тоже во французской защите.

     
    Последнее редактирование модератором: 10 окт 2018
    Undying нравится это.
  3. Kirill_A
    Оффлайн

    Kirill_A Новичок

    Репутация:
    0
    В блиц-турнире среди движков от Chess.com: CCC 2: Blitz Battle (5|2) Лила одержала сегодня впечатляющую победу черными на над очень сильным движком Ethereal в сицилианской защите.

     
    sovaz1997 нравится это.
  4. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Не переоценивайте Ethereal :)
    Да, это сильный движок. Но он все еще слабее Fire. И, понятное дело, слабее большой тройки. А вот большую тройку Лила тоже регулярно обыгрывает. Вот совсем недавно:

     
    Kirill_A нравится это.
  5. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95

     
  6. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    WinPooh, мы знаем, что Лила зевает тактику :)
    Но в дебюте Лила играет лучше всех. Увы, нельзя просто взять и обойти AB-движки, развивающиеся с 50-х годов прошлого века по всем параметрам за год.
     
  7. Kirill_A
    Оффлайн

    Kirill_A Новичок

    Репутация:
    0
    Скорее в миттельшпиле. Хотя наверно еще рано говорить о "лучше всех", но уже почти на самом высоком уровне уровне сильнейших программ, на развитие приципа игры которых ушло более 40 лет. А недостатки в эндшпиле (как этот грубый эндшпильный зевок в партии с Stockfish в равной позиции) - как я понимаю, могут быть устранены благодаря дальнейшей тренировке в игре сама с собой. Сейчас для тренировки нейросети 20x играется более миллиона партий в день (благодаря помощи людей, которые решили помочь обучению). Чем больше партий играется для обучения, тем скорее нейросеть сможет стать сильнее, но конечно для этого нужны большие мощности. И каждый человек может помочь процессу обучения нейросети совершенно бесплатно, для этого можно, следуя указаниям по ссылке ниже, либо дать Лиле играть тренировочные партии на своем компьютере с хорошей видеокартой (GPU), либо, что еще лучше и быстрее - с помощью удаленного вычислительного сервиса Google Collab (бесплатно, но видиокарта слабее чем доступные в Google Cloud) или Google Cloud (бесплатно в течении около 20 дней, где можно выбрать мощную видеокарту Tesla V100, которая может генерировать около 15000 игр для обучения Лилы в день.)

    Здесь все написано подробно и с инструкциями, как можно бесплатно помочь развитию Лилы: http://blog.lczero.org/2018/10/contributing-to-leela-chess-zero.html

    А здесь можно смотреть на результаты процесса обучения: http://lczero.org/
     
  8. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Эзереаль для Лилы более неудобный соперник, чем Файр. А Комодо в блиц неожиданно слабо играет. Намного хуже Эзереаля.
     
  9. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Не знаю, почему Komodo так играет в CCCC, но в блице он должен быть как минимум на 50-100 пунктов сильнее, чем Fire. Еще успеет на 4-3 места выбраться, если нет багов в новой версии, конечно)
     
  10. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Откуда уверенность что сильнее? Комодо когда-то демонстрировал хорошую игру в блиц? Комодо занимает свое место. Принципиально оно за второй круг не изменится.

    Скорей всего проблема в том, что Комодо склонен к авантюрной игре. А в блиц не успевает досчитать последствий, поэтому много некорректных жертв делает. И сильные движки его за это наказывают - 1 очко из 8 против первой восьмерки набрал.
     
  11. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Undying, откуда уверенность?

    http://fastgm.de/60-0.60.html
    http://www.ipmanchess.yolasite.com/i9-7980xe.php
    http://fastgm.de/10min.html
    http://fastgm.de/60min.html

    Во всяком случае, ыся большая тройка вместе с Komodo во всех рейтинг—листах обходит Ethereal, Fire и других движков из десятки.

    А склонен он к некорректным жертвам или нет - показывают тесты. Думаю, либо Komodo имеет баг в CCCC, либо баг с отображением таблицы мест, либо просто пока не везёт.
     
  12. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Значит что-то в последней версии испортили. Играет Комодо просто слабо.
     
  13. Мобуту
    Оффлайн

    Мобуту спаситель нации баннер

    Репутация:
    143
    То есть пока получается, что в честном бою нейросеть играет на 200 пунктов слабее Стокфиша. А громить и крушить получалось только в условиях, когда Стокфиш сидел без дебютной книжки, с отключённой рандомностью выбора, на слабом железе против суперкомпьютера и в отсутствие внешних наблюдателей за матчем.
     
    WinPooh нравится это.
  14. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    talkchess.com
     
    Последнее редактирование: 15 окт 2018
    Undying нравится это.
  15. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    200 пунктов разницы откуда взялись? Для такой разницы Стокфиш должен 1 партию из 2 у Лилы выигрывать. А в реальности счет со Стокфишем у Лилы почти равный. Плюс к этому Лила намного хуже оптимизирована под тензорные процессоры, чем Альфа Зеро - 30 тысяч против 80 тысяч нод в секунду. И не факт, что нейронка Лилы уже достигла уровня нейронки Альфа Зеро.
     
    sovaz1997 и Kirill_A нравится это.
  16. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Согласно,
    https://docs.google.com/spreadsheet...XUSx1jyUrgVEcj8DNLKA7-urBw/edit#gid=763519729
    разница от 60 до 130 пунктов на достаточно комплиментарном для Лилы соотношении железа. Прошу только учесть, что вопрос масштабирования на большие контроли в настоящий момент недостаточно прояснен, вследствие наличия противоречивых данных.
     
  17. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Тут дело не в масштабировании, а в алгоритмике. Что такое вечный шах, понимал движок Фриц-2 на однопоточном Пентиуме-166 МГц. А Лила не понимает... Продолжаю утверждать, что поиск в ширину имеет фундаментальные недостатки, которые не позволяют точно играть в эндшпиле. Пока алгоритм UCT не будет модернизирован, так и будем наблюдать комедии, как в 14-партии с Ethereal из TCEC Cup.
    В отличие от Го, шахматы гораздо чаще требуют игры единственными ходами. Что совершенно не укладывается в парадигму UCT "взять и всё усреднить".
     
  18. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Проблема ещё в том, что обучением это не лечится.
    "Здесь вечный шах!" - скажет нейросеть.
    "Ерунда, он только в одном варианте, сейчас усредним!" - скажет UCT-поиск.
     
  19. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    С вечными шахами похоже принципиальная проблема. Нейронка вечный шах понять не может, а в голом счете нейронный движок слаб, т.к. считает в 1000 раз меньше позиций, чем алгоритмический движок. Поэтому кентавр с добавлением даже маломощного алгоритмического движка имеет смысл.

    Другой путь использовать разные нейронки для разных стадий партии. Возможно если пообучать нейронку на ферзевых эндшпилях, то проблема решится. Тут возникает технический вопрос. Есть ли какие-то проблемы с переключением с одной нейронной сети на другую по ходу счета вариантов.
     
  20. Kirill_A
    Оффлайн

    Kirill_A Новичок

    Репутация:
    0
    Не так. Во-первых AlphaZero тренировалась на гораздо большем количестве партий, Лила пока не достигла этого уровня тренировки.
    Во-вторых в случае Лилы нужно различать версии сетей:

    Версия сети, которая сейчас играет в турнирах: 11248. Она относится к поколению сетей 10x (тест 10x).
    Ее протестированный уровень игры Ело отстает от уровня Stockfish 9 на 25 очков. См. здесь:
    https://docs.google.com/spreadsheet...XUSx1jyUrgVEcj8DNLKA7-urBw/edit#gid=763519729

    Но это - старая сеть 10x, ее уже не обучают больше.
    Теперь тренируют сети поколения 20x, в которых исправлены некоторые ошибки и введены некоторые изменения для обучения. Ожидается, что в будущем после достаточного обучения уровень игры Стокфиш будет превзойден. Но даже старая 10x сеть 11248 впечатляет своими результатами в турнирах несмотря на свои недостатки и ошибки.
     
    sovaz1997 и Undying нравится это.
  21. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Мне кажется не в усреднении проблема. А именно в том, что нейронке кажется, что если у короля много пространства, то вечного шаха не будет.
     
  22. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Я думаю одно другому не противоречит. Масштабирование можно и за счет алгоритмики улучшать.

    Интересно, не поможет ли использование хэш-таблиц. У Лилы их сейчас нет. В своё время и обычные движки отвратительно играли эндшпили, но после введения хэш-таблиц, в 70-е годы, очень сильно подтянули свою игру в окончаниях. Оно и понятно, ведь в эндшпилях позиций в общем-то немного, потому что позиции очень часто повторяются.
     
  23. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Помню, что при обучении Альфа Зеро выяснилось, что после какого-то количества партий прогресс останавливается. Количество партий на котором обучается Лила с этим пороговым значением как соотносится?
     
  24. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Интересно, что a/b движки используют плавный (сглаженный) переход между миттельшпильной и эндшпильной оценкой.
     
  25. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    У Лилы нет хэш-таблиц? Серьезно? Казалось бы это первым делом надо добавлять. У алгоритмических движков хэш-таблицы не так эффективны, слишком много рассчитанных позиций и все они просто не влазят в память. А Лила считает настолько мало вариантов, что там даже чистить хэш особо не надо. Все влазит в память с большим запасом.
     
  26. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Нейросетевые люди обычно считают, что универсальная сеть размера A+B будет лучше, чем две сети для частных случаев размеров A и B. Она должна сама придумать внутри себя правильное сглаживание, и получить более разнообразный набор паттернов для распознавания.
    Классический пример - разные диалекты английского в распознавалках речевого ввода. Обычно строят сразу одну сеть на все варианты произношения (включая также мужчин, женщин и шепелявых).
     
  27. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Я читал об этом в чате, кажется от кого-то из разработчиков, так что клясться не буду :).

    У обычных движков хэш-таблицы черезвычайно эффективны. В своё время авторы программы Chess, после добавления хэш-таблиц, получили 5-кратную прибавку в скорости набора глубины в эндшпильных позициях (возможно это одна из причин, почему они обошли программу Каисса, у которой хэш-таблиц не было до конца 80-х).

    У современных a/b движков хэш-таблицы помогают как минимум в трёх случаях. Во-первых, как очевидно, при повторении позиции. Во-вторых при сортировке - ходы из хэш-таблицы рассматриваются в первую очередь. В третьих, при распараллеливании - именно через хэш-таблицу треды обмениваются информацией.

    a/b движкам не нужно хранить все позиции в памяти, поскольку они всё рано не хранят в памяти всё дерево перебора, а только цепочку лучших ходов. А вот при использовании MCTS, напротив, нужно хранить в оперативке всё дерево перебора. Именно поэтому Лиле требуется 40 гигабайт оперативки для часового анализа.
    —- добавлено: 15 окт 2018 —-
    Ох, не знаю... Не купим ли мы подобную универсальность за счет уменьшения общего максимума силы игры в каждой стадии партии по отдельности. Нужны эксперименты.
     
    Последнее редактирование: 15 окт 2018
    Undying нравится это.
  28. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Сильно спорно. Универсальная сеть будет лучше, когда нет строго формальных критериев для разделения. В случае распознавания речи это так. Нет простого способа определить говорит ли это мужчина или женщина, нормальный это голос или шепелявый. А вот в шахматах совсем не так. Легко предложить строго формальные и очень простые критерии для отличия скажем миттельшпиля от эндшпиля.
     
  29. Мобуту
    Оффлайн

    Мобуту спаситель нации баннер

    Репутация:
    143
    А где можно увидеть полноценный матч Лилы со Стокфишем на TCEC или ещё в каком-нибудь независимом месте? Пока что вижу, что Лила на равных борется с неким движком Ethereal. А он слабее Стокфиша на 200 пунктов.
     
  30. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Есть данные, что Лила играет сильнее против сильных соперников, а со слабыми не очень. Своеобразный contempt наоборот. С другой стороны есть данные, что Лила плохо играет на длинных контролях. Так что давайте просто подождем следующего сезона TCEC и посмотрим.
     
  31. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    У Лилы тайминг очень плохой. В дебюте и раннем миттельшпиле она играет очень быстро, тратя в разы меньше времени, чем соперник. Возможно проблема в этом.
    —- добавлено: 15 окт 2018 —-
    Лиле надо дожать Эзереаль и тогда следующего сезона ждать не нужно будет. Файр Лила должна обыграть более уверенно. А в полуфинале как раз матч со Стокфишем будет.
     
  32. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Да был же только что микро-матч со Стокфишем в рапид на CCC.
    +0-2=6, если я правильно помню.
     
  33. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    12 партий было (2 на предварительном этапе, 10 на втором). Лила дважды проиграла. Плюс один раз не выиграла из-за неумения пользоваться эндшпильными таблицами. Чему новая версия уже научилась.
     
  34. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    В тестах по ссылке используется фиксированное время на ход.
     
  35. Undying
    Оффлайн

    Undying Учаcтник

    Репутация:
    15
    Лила Эзереаль дожала. Исторический матч со Стокфишем все ближе.