AlphaZero. Нейронная сеть играет в шахматы

Тема в разделе "Машинное отделение", создана пользователем grizly, 6 дек 2017.

  1. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    367
    Симпатии:
    44
    Репутация:
    3
    Оффлайн
    Теперь Lc0 на V100 запустили
  2. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    656
    Симпатии:
    291
    Репутация:
    7
    Оффлайн
    До человека нейронке по пониманию еще далеко. Гроссмейстер в понимании превосходит нейронку примерно в ту же 1000 раз, что нейронка превосходит переборные движки.
  3. Mustitz Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.815
    Симпатии:
    291
    Репутация:
    20
    Адрес:
    Киев
    Оффлайн
    Понимание в шахматах это прежде всего выбор хода, а не оценка позиции. Прилично играть можно и не оценивая позицию вообще :) Вообще для MCTS оценка позиции это отдельная задача, никак не связанная с силой игры. Так что для иллюстрации "непонимания" надо приводить позиции и ошибочный ход. А оценка вообще условность, не имеющая даже точного опеделения. Вот, например, начальная позиция. Какая у неё оценка и почему? Что эта оценка показывает?
    Undying нравится это.
  4. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    656
    Симпатии:
    291
    Репутация:
    7
    Оффлайн
    И не забывайте лилины оценки на 3 делить. Там сейчас просто формула пересчета вероятности победы, которую возвращает нейронка, в пешки, которые показываются на экране, неверная.
  5. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.594
    Симпатии:
    1.867
    Репутация:
    78
    Адрес:
    Москва
    Онлайн
    Ну так кривая оценка рано или поздно приведёт к тому, что вместо выигранного ладейника с плюс два прога пойдёт в ничейный слоновник с плюс три. Конкретных примеров сейчас привести не могу, но в третьем дивизионе их было.
    Возражение насчёт эндшпильных таблиц не принимается. Если "понимания" нет при малом числе фигур, но есть при большом, то это какое то надувательство, а не "понимание".
  6. sovaz1997 Учаcтник

    • Участник
    Рег.:
    30.08.2016
    Сообщения:
    367
    Симпатии:
    44
    Репутация:
    3
    Оффлайн
    Думаю, как только Lc0 станет движком #1 в рейтинг-листах, все вопросы о "понимании" пропадут
  7. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.594
    Симпатии:
    1.867
    Репутация:
    78
    Адрес:
    Москва
    Онлайн
    А оценка начальной позиции - 0.00. Причём это даже не оценка, а точное теоретико-игровое значение :)
  8. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    656
    Симпатии:
    291
    Репутация:
    7
    Оффлайн
    А почему тогда белые побеждают чаще?
  9. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.594
    Симпатии:
    1.867
    Репутация:
    78
    Адрес:
    Москва
    Онлайн
    Потому что в семействе идеальных партий у чёрных больше моментов, где надо отвечать единственными или почти единственными ходами.
  10. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.594
    Симпатии:
    1.867
    Репутация:
    78
    Адрес:
    Москва
    Онлайн
    Сам с нетерпением жду этого момента. Дождусь ли...
  11. Mustitz Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    30.09.2006
    Сообщения:
    2.815
    Симпатии:
    291
    Репутация:
    20
    Адрес:
    Киев
    Оффлайн
    Это часто так в Alpha-Beta с минимаксом, но в MCTS это необязательно так. Начнём с того, что как таковой оценки в MCTS нет, есть только некоторое значение между 0 и 1 говорящее о том, какое среднее по палате количество очков было набрано в симулациях. И эта оценка смещённая, потому что в симуляции попадают не только наилучшие ходы, но также и плохие, но малоисследованые продолжения.

    Например, мы делаем ход 1. e2-e4. Допустим для этого хода было разыграно 100 симуляций. 20 симуляций пришлось на c7-c5 с результатом 10.5; 20 симуляций пришлось на e7-e5 с результатом 10.5, 15 симуляций приглось на e7-e6 с результатом 8.5, 15 симулаций на c7-c6 с результатом 9.0, и 30 симуляций на остальные ходы (d5, d6, Nf6, f5, h5, ...) где было набрано 21.5 очков.

    Тогда мы получаем оценку 10.5 + 10.5 + 8.5 + 9.0 + 21.5 = 60. Т. е. 60%, шансов на победу, или,скажем, +1 пешка. В то время как минимаксный двидок выдаст что-то вроде +0.05, потому как ходы f5, a5 вообще не повлияют на оценку.
    --- добавлено: 25 авг 2018 ---
    Получается, что тогда от движка мы вправе требовать только три вида оценок: 0, ½ и 1. В целом такую оценку достаточно просто взять у Leela (спускаемся по симуляциям в наибольшей статистикой и смотрим результат), вот только вряд ли такая оценка будет удовлетворять админов TCEC и просто пользователей.
  12. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.594
    Симпатии:
    1.867
    Репутация:
    78
    Адрес:
    Москва
    Онлайн
    Но мы знаем, что в пределе минимакс сходится к идеальной оценке позиции и оптимальному PV. Значит, туда же должен сходиться и поиск по Монте-Карло. И ходы типа a5 должны в пределе прекратить попадать в симуляции.
  13. Polarity Новичок

    • Новичок
    Рег.:
    24.04.2018
    Сообщения:
    50
    Симпатии:
    8
    Репутация:
    0
    Оффлайн
    Нужно всегда помнить, что оценка позиции и выбор оптимального хода - связанные задачи. Если есть способ оценивать позиции, то можно просто перебрать все ходы и выбрать тот, который приводит к позиции с максимальной оценкой. Обратная задача (по распределению вероятностей на лучший ход научиться оценивать позицию) намного сложнее. Она допускает множество решений, но какую-то более-менее хорошую оценку попытаться восстановить всё равно можно.
    Если вы имеете виду применение аппарата теории игр, то это не так. А вернее, ещё человечеству неизвестно.
  14. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.594
    Симпатии:
    1.867
    Репутация:
    78
    Адрес:
    Москва
    Онлайн
    Конечно, формально это не доказано. Но в том, что начальная позиция ничейна, сомнений примерно столько же, сколько было в утверждении теоремы Ферма до её доказательства Уайлсом.
  15. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    116
    Симпатии:
    14
    Репутация:
    0
    Оффлайн
    Скорее всего да, но вот когда,это пока не известно
    На примере A0 видно ,что рейтинг для сети размера 20х256 уже почти исчерпан и Lc0 вполне это подтверждает, даже если считать, что в тестовой сети немало ошибок и новая,которую начнут обучать в конце сентября, их (и других) будет лишена, все равно вряд ли её рейтинг заметно превысит рейтинг A0 (ну может на 50 Эло), а этого сильно мало,что бы достаточно уверенно обойти Стокфишь 10 на TCEC 14.
    Для перехода на большую сеть пока нет технических возможностей. И вряд ли они появятся в следующем году. А для рядовых, не обремененных большими деньгами, любителей шахмат классические движки ещё довольно долго будут опережать NN движки
  16. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.594
    Симпатии:
    1.867
    Репутация:
    78
    Адрес:
    Москва
    Онлайн
    А нельзя веса из старой сети каким-то образом перенести в новую (если размер больше, то как-то интерполировать, что ли). Чтобы с нуля заново не начинать?
  17. pavelgttfj8 Новичок

    • Новичок
    Рег.:
    07.12.2017
    Сообщения:
    87
    Симпатии:
    26
    Репутация:
    2
    Оффлайн
  18. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    656
    Симпатии:
    291
    Репутация:
    7
    Оффлайн
    Оценка в вероятностях победы, ничьи и поражения намного адекватнее и понятнее, чем в пешках. И собственно в докомпьютерную эпоху оценка такой и была - плюс-минус, плюс-минус в столбик, равная, ничейная, игра на три результата. Это все вероятностные оценки. Просто переборные движки только пешки умеют выдавать, поэтому это и стало стандартом. Подвинут нейронные движки переборные, стандарт изменится.
    --- добавлено: 25 авг 2018 ---
    Значит оценка вовсе не 0.00. Вероятность белых победить выше.
  19. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    656
    Симпатии:
    291
    Репутация:
    7
    Оффлайн
    Не факт. Лила на бюджетной видяхе вчера достойно сопротивлялась Стокфишу 8, играющему на суперпроцах. 4 : 8 проиграла в длинный блиц. Будь у Стокфиша тоже бюджетное железо играли бы на равных. То есть уже и на рядовом компе переборные и нейронные движки сопоставимы по силе. При этом переборные движки уже сколько вылизывают, а для нейронных это первый опыт. Запас для прогресса там еще большой должен быть.
  20. Sergey1983 Учаcтник

    • Участник
    Рег.:
    03.04.2018
    Сообщения:
    125
    Симпатии:
    14
    Репутация:
    1
    Оффлайн
    А на какой именно видеокарте она играла и какой счёт был в конце?
  21. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.594
    Симпатии:
    1.867
    Репутация:
    78
    Адрес:
    Москва
    Онлайн
    Оценка - это только приближение к истинному value позиции. В крестиках ноликах 3 на 3 это value равно строго 0.5 (доказано элементарных перебором), в игре пять в ряд без фолов - 1.0 для чёрных. В шахматах value равно 0.5 (пока не доказано, но крайне правдоподобно), и никакого отношения к вероятности оно не имеет.
  22. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    656
    Симпатии:
    291
    Репутация:
    7
    Оффлайн
    Не знаю на какой карте. Но скорость была 1.7 килоноды в секунду. Для сравнения. Скорость на спарке GTX 1080 сложно оценить из-за перегрева. Примерно получается так - 150 кнод/с при времени обдумывания 8 секунд, 60 кнод/с при 15 секундах, 20 кнод/с при минуте. То есть на полной мощности скорость должна была быть в сотни кнод/с, а из-за перегрева Лила фактически играла на 10% мощности.

    В первом приближении мощность вчерашней видяхи 1/100 от спарки GTX 1080, т.е. жалкие 180 ГФлопс. Для сравнения у GT 710 за 3 тысячи рублей производительность 360 ГФлопс. То есть походу Лила вчера вообще на встроенной в проц видяхе играла.

    По счету примерно так и закончилось. После 12 партий на 3 партии подключили, то что здесь на форуме было анонсировано как V100. Но скорость поднялась аж до 27 кнод/с, т.е. это явно не V100 была. Все партии закончились в ничью. Потом снова вернули бюджетный вариант, первую Лила проиграла, а дальше я не смотрел. Но там почти сразу и закончилась. Так разница между Стокфишем 8 на суперпроцах и Лилой на чем-то очень бюджетном получилась в 150 пунктов рейтинга.
  23. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    8.594
    Симпатии:
    1.867
    Репутация:
    78
    Адрес:
    Москва
    Онлайн
    Почему-то все результаты Лилы сопровождаются частицами "бы", "когда", "если" и т. д. Неужели среди энтузиастов нет никого, кто мог бы запустить её на по-настоящему мощном железе и сделать этого Стокфиша хотя бы со счётом 10-0 ? То, что в сферическом вакууме Лила - чемпион галактики, все поняли уже давно. А в реале Арасана не обыгрывает...
  24. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    656
    Симпатии:
    291
    Репутация:
    7
    Оффлайн
    А кто знает, для переборных движков десятикратное увеличение производительности какой прирост силы игры дает?
    --- добавлено: 25 авг 2018, опубликовано: 25 авг 2018 ---
    А кто говорит о чемпионе галактики? Насколько можно судить пока сила Лилы на видяхе сопоставима силе переборных движков на соответствующем видяхе по цене проце. Вот на V100 Лила по идее уже должна доминировать, потому что это не видяха, а оптимизированная под нейровычисления штуковина, соответственно она в 2-3 раза производительнее видях при той же цене и энергопотреблении. Но V100 10 килобаксов стоит, как-то дороговато для энтузиастов.
  25. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    116
    Симпатии:
    14
    Репутация:
    0
    Оффлайн
    А почему вы думаете,что перегрев все ещё актуален,может его уже давно устранили,благо время на это было
    тут вроде указана скорость без всякого перегрева,и вообще эти GPU довольно популярны и на перегрев ни кто не жаловался

    Не знаю точно сколько моя GT 730 дает Gflops,но nps я думаю порядка 500-600

    Ну прям уж настоящее мощное железо мало к кого есть, но если ума нет (в смысле хорошей сети), то железо не поможет, Lc0 запускали уж на 4ХV100 (примерно как 4 TPU Гугла) в тестах CCCC, но это ей не помогло.

    но опять таки с "частицами "бы", "когда", "если" и т. д."
    ТО есть не сейчас, и наверно не в этом году, но в будущем (не году, в просто) вполне вероятно
  26. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    656
    Симпатии:
    291
    Репутация:
    7
    Оффлайн
    Сами посмотрите по архиву игр. Четкая зависимость. Когда Лила тратила на ход порядка 10 секунд, то скорость была 40-100 кнод/с. А когда порядка минуты, то 15-20 кнод. Скорей всего это как раз перегревом объясняется. За время хода соперника видеокарта остывала, затем сколько-то секунд выдавала около пиковую производительность, потом нагревалась и начинала работать еле-еле. Хотя есть другое объяснение. Что это из-за кэшированных с предыдущего хода позиций скорость поначалу такая высокая. Поэтому не так все ясно, как казалось. :)

    По таблице получается, что связка TITAN V + TITAN XP суммарной производительностью 27 ГФлопс выдает 79 кнод/с. Соответственно спарка 1080 суммарной производительностью 18 ГФлопс должна выдавать порядка 50 кнод/с, а вовсе не те 15-20 кнод/с, которые мы видели на чемпионате. Плюс суперпроц еще должен какой-то прирост был дать, запихивает данные в видеокарту он явно быстрее настольного. Тогда получается, что Лила фактически играла на 30% мощности видеокарт.
  27. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    493
    Симпатии:
    180
    Репутация:
    21
    Оффлайн
    Зависит от того, с какого контроля стартует десятикратное увеличение. Если грубо, то даже двукратное увеличение даёт примерно +100 эло в блице и +50 эло на длинных контролях на одном ядре. Если надо точнее, то вот:
    http://www.fastgm.de/time-control4.html

    Вот тесты на приличном и до некоторой степени сбалансированном железе (правда проц всего лишь четырехядерный):
    https://docs.google.com/spreadsheet...USx1jyUrgVEcj8DNLKA7-urBw/edit#gid=1316991135

    Конечно блиц, но node per move достаточно приличный. По масштабированию можно посмотреть здесь, в таблице (для большой и средней сети):
    https://docs.google.com/spreadsheet...USx1jyUrgVEcj8DNLKA7-urBw/edit#gid=1392971980
    Undying нравится это.
  28. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    116
    Симпатии:
    14
    Репутация:
    0
    Оффлайн
    как вы можете видеть по той же таблице 10 GTX1080 Ti дают 30 knps, вряд ли можно ждать, что две дадут 50 knps.
  29. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    656
    Симпатии:
    291
    Репутация:
    7
    Оффлайн
    Судя по таблице вчера Лила играла на чем-то вроде GTX 950. То есть на видяхе за 150 баксов против суперпроцов за 8 килобаксов. При этом разница в силе игры всего 150 пунктов. Наглядное свидетельство того, что уже и на бюджетных компах Лила будет сопоставима по силе с топовыми переборными движками.
  30. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    493
    Симпатии:
    180
    Репутация:
    21
    Оффлайн
    Там кто-то всю таблицу изуродовал. У Titan V было 31 knps; у Titan V + XP было 37 knps; у 1080ti было 8,5 knps; у 4xV100 было 78 knps.

    У 1080ti скорость мала, потому что не поддерживается половинная точность и нет тензорных ядер. У 4xV100 скорость невелика, потому что нет поддержки игры на четырех видеокартах.
  31. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    656
    Симпатии:
    291
    Репутация:
    7
    Оффлайн
    По таблице можно только очень грубо судить. Там даже проц не указан и правильно ли настраивали вопрос. Но по логике надо на максимальные результаты ориентироваться, т.к. на чемпионате и проц был супер и настройки правильные.
  32. svoitsl Учаcтник

    • Участник
    Рег.:
    05.01.2018
    Сообщения:
    116
    Симпатии:
    14
    Репутация:
    0
    Оффлайн
    Может и так, но все таки на СССС она вполне уверено давала 70-80 knps, что примерно равно 4TPU Гугла, что правда LC0 не сильно помогло.
    Хотя и пишут что поддержка мультиGPU не поная
  33. Rom Учаcтник

    • Участник
    Рег.:
    12.02.2012
    Сообщения:
    493
    Симпатии:
    180
    Репутация:
    21
    Оффлайн
    Чтобы не учитывалось кеширование нужно смотреть скорость на первом самостоятельном ходу в партии.
    --- добавлено: 25 авг 2018 ---
    Ну правильно, те же 78 knps, что и в бенче. По масштабированию на 4 карты crem писал:
    http://talkchess.com/forum3/viewtopic.php?f=2&t=68253&p=772023#p772023
    Undying нравится это.
  34. Undying Учаcтник

    • Участник
    Рег.:
    31.08.2016
    Сообщения:
    656
    Симпатии:
    291
    Репутация:
    7
    Оффлайн
    Согласен. Посмотрел. На первом ходу скорость плавала от 14 до 28 кнод/с. Вероятно это говорит о том, что видяха успевала перегреться уже на первом ходе. Иными причинами объяснить столь большую разницу сложно. Но насколько перегрев замедлял работу сложно понять, т.к. время хода обычно было одинаковое, порядка минуты.
  35. Polarity Новичок

    • Новичок
    Рег.:
    24.04.2018
    Сообщения:
    50
    Симпатии:
    8
    Репутация:
    0
    Оффлайн
    Я тестил Lc0 на 8x1080. Полностью загрузить мне удалось 5 видеокарт одновременно, а дальше идёт даже небольшое падение производительности. Я совсем уж детально в коде не разбирался, но на мой взгляд там действительно понатыкано как-то слишком много блокировок и возможно не совсем оптимальным образом. Мне кажется, в DeepMind тоже столкнулись с этой проблемой. Поэтому они использовали всего лишь 4TPU, т. к. поняли, что дальше добалять их бессмысленно.
    Надо помнить, что скорость расчёта ещё очень сильно зависит от текущей позиции. Как правило, скорость расчёта максимальна в самом начале игры и значительно проседает где-то в середине, т. к. доступно не так много "любопытных" ходов для нейронки.
    Скорость расчёта ещё зависела от версии нейросети.
    Сила игры кажется не сильно зависела от количества ресурсов, начиная с некоторого момента. В дискорде даже высказывались мнения, а нужны ли все эти 80k NPS, которые выдавал движок A0.
    Rom, Undying и Mustitz нравится это.

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