AlphaZero победил Stockfish в матче из 1000 партий. Важно ли это?

AlphaZero побеждает Stockfish. Теперь уже точно.

В прошлом году СМИ много писали об AlphaZero, искусственном интеллекте на основе нейросетей и глубокого обучения, за сутки научившемся играть в шахматы, го и сёги лучше, чем сильнейшие в мире мастера-люди. В декабре прошлого года AlphaZero одержал победу над Stockfish, шахматным движком, занявшим первое место на соревновании шахматных программ в 2016-м. Спустя год после нашумевшей победы, компания DeepMind опубликовала новые результаты — обновлённой версии проекта.

Хотя DeepMind и не стала устраивать полноценный чемпионат с контролем третьей стороной и внешней экспертизой, а вместо этого просто опубликовала результаты матча, проведённого своими силами, вряд ли у кого-то есть сомнения в том, что AlphaZero является сегодня одной из сильнейших шахматных программ (вернее, программно-аппаратным комплексом; об этом ниже) и, возможно, вообще сильнейшей в мире сущностью, играющей в шахматы. В недавнем матче из 1000 партий обновлённый AlphaZero разгромил Stockfish 8, выиграв 155 партий, проиграв 6 и сыграв вничью 839. AlphaZero также одержал победу над Stockfish в серии игр с неравным временным контролем, значительно превзойдя традиционный движок даже при соотношении времени 10:1.

В дополнительных партиях новый AlphaZero обыграл последнюю, находившуюся в тот момент в разработке, версию Stockfish, близкую к вышедшей позже девятой, почти с такими же результатами, как и в игре против Stockfish 8. AlphaZero также выиграл все матчи против варианта Stockfish, который использует большую дебютную книгу, сообщает DeepMind. Дебютная книга, конечно, помогла Stockfish выиграть значительное количество партий в случаях, когда AlphaZero играл чёрными. Но этого не хватило, чтобы победить в матче.

Напомним, результаты матча, сыгранного в конце 2017 года, некоторые комментаторы сочли необъективными: якобы контроль времени по одной минуте на ход ущемлял возможности Stockfish. Сейчас контроль времени был изменён — было выделено по три часа на партию, плюс Stockfish имел дополнительные 15 секунд на каждый ход, этого времени более чем достаточно для современной шахматной программы, играющей на современном «железе».

Результаты AlphaZero (зелёный — победы, красный — поражения) против Stockfish без дебютной книги у Stockfish (верхняя диаграмма) и с ней (нижняя диаграмма).

В играх с неравным контролем времени AlphaZero начинал выигрывать, когда соотношение становилось 10:1, а Stockfish — когда 30:1.

Игры с неравным контролем времени. По вертикали представлены соотношения времени, красным обозначены поражения, серым — ничьи, зелёным — победы AlphaZero.

О «железе» надо сказать отдельно. В этот раз, как и в прошлом году, обсуждающие новость в сети специалисты и просто интересующиеся усомнились в том, что AlphaZero и Stockfish находились в равном положении в плане аппаратной части. Stockfish работал на двух 22-ядерных CPU Intel Xeon Broadwell с частотой 2,2 ГГц, т.е. на 44-х ядрах, в то время как AlphaZero запускалась на четырёх тензорных процессорах Google (TPU), специализированных интегральных схемах, предназначенных для использования с библиотекой машинного обучения TensorFlow. Подробнее о сравнении условной «мощности» этих платформ можно прочитать в комментарии Сергея Маркова к нашему материалу годовой давности. Можно было бы упомянуть о том, что на машине, на которой запускался AlphaZero, также было 44 ядра CPU, а на компьютере, на котором работал Stockfish, была плата с четырьмя TPU, но эти упоминания не имеют смысла, т.к. AlphaZero не использовал CPU (если судить по дискуссии на TalkChess.com, в которой участвовал, среди прочих, сам Мэтью Лай (Matthew Lai), использовался вообще только один TPU из четырёх), а Stockfish по-прежнему не умеет использовать тензорные процессоры. Тем не менее, разница в доступном быстродействии, если посчитать «в лоб», была в районе двух порядков в пользу AlphaZero. Правда, имеет ли смысл такое сравнение, сложно судить и из-за разницы используемых архитектур, и из-за разности алгоритмов, применяемых в программах. В частности, AlphaZero перебирает значительно меньше вариантов развития игры, чем Stockfish, смелее отбрасывая в самом начале ветви, которые считает вероятно бесперспективными. Может показаться, что при таком раскладе как раз для Stockfish и важно было бы большее быстродействие, но это не точно. Дело в том, что просчитывание вариантов развития ситуации на шахматной доске не очень хорошо разделяется на множество параллельных процессов: самые разные игровые ситуации могут привести затем к одинаковым позициям на доске, и при просчитывании большим числом потоков большего числа промежуточных вариантов может случиться так, что один процесс уже просчитал ветвь, ведущую к некоторому положению, а другие процессы ещё считают другие ветви, ведущие сюда же, т.е. расходуют ресурсы впустую. Как бы там ни было, даже при номинальном аппаратном преимуществе разница в силе игры между AlphaZero и Stockfish в этот раз составила всего лишь 52 пункта Эло. Это очень немного, особенно учитывая, что разница между Stockfish 10 и Stockfish 8 — 112 пунктов. С другой стороны, пока создавался Stockfish 10, AlphaZero, конечно, тоже не стоял на месте.

В чём же, при таком количестве оговорок, состоит радостная новость? Понятен интерес любителей шахмат — им любопытно разобрать партии сильнейших игроков (искусственных, но какое это имеет значение?). В конце концов, это, возможно, последний серьёзный скачок в силе этой игры, и всерьёз увеличиваться она уже не будет, как ни наращивай аппаратную мощность. Возможно, именно сейчас шахматы как игра приближаются к своему потолку, и впредь будет разве что быстрее. С точки зрения же искусственного интеллекта в варианте обучения с подкреплением особенной новости нет. AlphaGo обыграл сильнейшего живого игрока в го ещё в 2016 году. В 2017-м AlphaGo обыграл объединённую команду лучших профессиональных игроков. ИИ AlphaGo Zero, обучавшийся на играх с самим собой, победил обученного на партиях мастеров AlphaGo. AlphaZero побеждает всех в го, в шахматы и в сёги. В том числе он побеждает Stockfish, в основе которого некие разработанные людьми эвристики (настроенные, опять де, при помощи различных алгоритмов машинного обучения). Вероятно, AlphaZero за прошедший год стал немного лучше, DeepMind отработала на нём какие-то новые алгоритмы машинного обучения с подкреплением, но никакой особенно радостной новости в очередной победе AlphaZero уже нет. Потому что шахматы и го для ИИ если ещё и не пройденный этап, то близки к этому. Сегодня фокус разработчиков сместился в сторону аркад и игр вроде Dota 2: число возможных игровых состояний в них неизмеримо больше, чем в шахматах, но пока что неизмеримо меньше, чем в реальном мире. Работая с ними, ИИ приближается к работе с реальностью.

А победа в шахматах — это, конечно, победа. Мэтью Лаю и другим разработчикам AlphaZero, наверное, приятно. Но в качестве новости об успехах искусственного интеллекта в декабре 2018 года — выглядит весьма скромно.

XX2 век :