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

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

  1. TopicStarter Overlay

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

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    35.263
    Симпатии:
    17.493
    Репутация:
    577
    Адрес:
    Ростов-на-Дону
    Оффлайн
  2. Kirill_A Новичок

    • Новичок
    Рег.:
    10.05.2018
    Сообщения:
    37
    Симпатии:
    22
    Репутация:
    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 —-
    А здесь впечатляющая победа белыми: тоже во французской защите.

    Undying нравится это.
  3. Kirill_A Новичок

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

    sovaz1997 нравится это.
  4. sovaz1997 Учаcтник

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

    Kirill_A нравится это.
  5. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.478
    Симпатии:
    3.076
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн

  6. sovaz1997 Учаcтник

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

    • Новичок
    Рег.:
    10.05.2018
    Сообщения:
    37
    Симпатии:
    22
    Репутация:
    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 Учаcтник

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

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

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

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

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    649
    Симпатии:
    120
    Репутация:
    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 Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    Значит что-то в последней версии испортили. Играет Комодо просто слабо.
  13. Мобуту спаситель нации

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

    • Участник
    • Старожил
    Рег.:
    12.02.2012
    Сообщения:
    644
    Симпатии:
    275
    Репутация:
    27
    Оффлайн
    talkchess.com
    Undying нравится это.
  15. Undying Учаcтник

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

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

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

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

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

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

    • Новичок
    Рег.:
    10.05.2018
    Сообщения:
    37
    Симпатии:
    22
    Репутация:
    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 Учаcтник

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

    • Участник
    • Старожил
    Рег.:
    12.02.2012
    Сообщения:
    644
    Симпатии:
    275
    Репутация:
    27
    Оффлайн
    Я думаю одно другому не противоречит. Масштабирование можно и за счет алгоритмики улучшать.

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

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

    • Участник
    • Старожил
    Рег.:
    12.02.2012
    Сообщения:
    644
    Симпатии:
    275
    Репутация:
    27
    Оффлайн
    Интересно, что a/b движки используют плавный (сглаженный) переход между миттельшпильной и эндшпильной оценкой.
  25. Undying Учаcтник

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

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

    • Участник
    • Старожил
    Рег.:
    12.02.2012
    Сообщения:
    644
    Симпатии:
    275
    Репутация:
    27
    Оффлайн
    Я читал об этом в чате, кажется от кого-то из разработчиков, так что клясться не буду :).

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

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

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

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

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

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

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

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.478
    Симпатии:
    3.076
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Да был же только что микро-матч со Стокфишем в рапид на CCC.
    +0-2=6, если я правильно помню.
  33. Undying Учаcтник

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

    • Участник
    • Старожил
    Рег.:
    12.02.2012
    Сообщения:
    644
    Симпатии:
    275
    Репутация:
    27
    Оффлайн
    В тестах по ссылке используется фиксированное время на ход.
  35. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    1.316
    Симпатии:
    566
    Репутация:
    15
    Оффлайн
    Лила Эзереаль дожала. Исторический матч со Стокфишем все ближе.

Поделиться этой страницей