В прошлом году СМИ много писали об 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 начинал выигрывать, когда соотношение становилось 10:1, а Stockfish — когда 30:1.
О «железе» надо сказать отдельно. В этот раз, как и в прошлом году, обсуждающие новость в сети специалисты и просто интересующиеся усомнились в том, что 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 года — выглядит весьма скромно.