Сейчас уже как несколько дней проходит суперфинал по шахматным движкам [1], в финале встретились Stockfish и Leela Chess Zero. После 62 матчей Stockfish ведёт 4 поинта [4], но не это самая главная суть.
Несколько лет назад вы скорее всего слышали о том, что вышел движок с ML от Deepmind Alpha Zero, который был лучше Stockfish на целых 50 Эло поинтов. Статья имела много недоработок, например, использовались очень мощные TPU, устаревшая версия Stockfish, неясные правила проведения. В итоге Deepmind так и не согласились участвовать в открытом чемпионате движков, действительно, зачем портить имидж, если можно провести хороший маркетинг и так. Тем не менее, чемпионаты скорее всего были бы более скучными без этой статьи.
Ну и один из разработчиков Stockfish решил заняться клоном под названием Leela Chess Zero, который повторяет методы reinforcement learning, описанные Deepmind. Воспроизвести получилось и даже со временем и ресурсами после обучения нескольких миллионов партий клон смог обогнать Alpha Zero на 300 Эло поинтов (а Alpha Zero не обучалась лучше по статье), что принесло победу Leela в 15 и 17 сезонах открытого чемпионата.
Stockfish тоже не отстаёт, улучшил глубину поиска, начал применять достаточно революционные NNUE сети (статья, Википедия), которые работают без GPU и дают сильный прирост к точности evaluation функции. Сам Stockfish под капотом это сильно оптимизированный alpha-beta поиск уже с простыми нейронными сетями для лучшего понимания как оценивать позиции.
Leela хоть и перебирает в 100-200 раз меньше позиций, но последние 3 сезона не может никак обогнать сильно затюненный Stockfish. И в Leela уже тоже начинают упираться в потолок обучения, когда в Stockfish раз в 3 месяца улучшают алгоритмы поиска на 5-10 Эло поинтов.
Шахматы привлекают своей недоступностью, непостижимостью, мы хоть и научили компьютеры играть на 800 Эло поинтов лучше, чем чемпион мира, но решить шахматы нам кажется ещё ой как далеко (но и романтичная часть меня говорит, что и не надо).
Да и математика шахмат достаточно страшная. Например, при полном переборе позиций самый долгий мат, который можно поставить, когда 7 фигур на доске -- 546 ходов. Одновременно страшно и восхитительно.
Финал проходит по очень красивой системе. Даются 50 дебютов и в парных матчах движки играют по этим дебютам. Победитель оценивается тот, кто выиграл больше всего, понятное дело. Можно просто включить фоном и насладиться уровнем шахмат, который непостижим человеческому сознанию.
Надеюсь, мы начнём больше видеть embedded решений нейронок, как было придумано для Шоги и Шахмат. И улучшение производительности переборов, которые не выйдут из моды для перформанс инженерии.
[1] Стрим чемпионата https://twitch.tv/tcec_chess_tv
[2] Репозиторий Stockfish
[3] Репозиторий Leela Chess Zero
[4] Все игры суперфинала
[5] One year of NNUE in Stockfish
Несколько лет назад вы скорее всего слышали о том, что вышел движок с ML от Deepmind Alpha Zero, который был лучше Stockfish на целых 50 Эло поинтов. Статья имела много недоработок, например, использовались очень мощные TPU, устаревшая версия Stockfish, неясные правила проведения. В итоге Deepmind так и не согласились участвовать в открытом чемпионате движков, действительно, зачем портить имидж, если можно провести хороший маркетинг и так. Тем не менее, чемпионаты скорее всего были бы более скучными без этой статьи.
Ну и один из разработчиков Stockfish решил заняться клоном под названием Leela Chess Zero, который повторяет методы reinforcement learning, описанные Deepmind. Воспроизвести получилось и даже со временем и ресурсами после обучения нескольких миллионов партий клон смог обогнать Alpha Zero на 300 Эло поинтов (а Alpha Zero не обучалась лучше по статье), что принесло победу Leela в 15 и 17 сезонах открытого чемпионата.
Stockfish тоже не отстаёт, улучшил глубину поиска, начал применять достаточно революционные NNUE сети (статья, Википедия), которые работают без GPU и дают сильный прирост к точности evaluation функции. Сам Stockfish под капотом это сильно оптимизированный alpha-beta поиск уже с простыми нейронными сетями для лучшего понимания как оценивать позиции.
Leela хоть и перебирает в 100-200 раз меньше позиций, но последние 3 сезона не может никак обогнать сильно затюненный Stockfish. И в Leela уже тоже начинают упираться в потолок обучения, когда в Stockfish раз в 3 месяца улучшают алгоритмы поиска на 5-10 Эло поинтов.
Шахматы привлекают своей недоступностью, непостижимостью, мы хоть и научили компьютеры играть на 800 Эло поинтов лучше, чем чемпион мира, но решить шахматы нам кажется ещё ой как далеко (но и романтичная часть меня говорит, что и не надо).
Да и математика шахмат достаточно страшная. Например, при полном переборе позиций самый долгий мат, который можно поставить, когда 7 фигур на доске -- 546 ходов. Одновременно страшно и восхитительно.
Финал проходит по очень красивой системе. Даются 50 дебютов и в парных матчах движки играют по этим дебютам. Победитель оценивается тот, кто выиграл больше всего, понятное дело. Можно просто включить фоном и насладиться уровнем шахмат, который непостижим человеческому сознанию.
Надеюсь, мы начнём больше видеть embedded решений нейронок, как было придумано для Шоги и Шахмат. И улучшение производительности переборов, которые не выйдут из моды для перформанс инженерии.
[1] Стрим чемпионата https://twitch.tv/tcec_chess_tv
[2] Репозиторий Stockfish
[3] Репозиторий Leela Chess Zero
[4] Все игры суперфинала
[5] One year of NNUE in Stockfish