Игровой ИИ AlphaZero открыл новый способ умножения матриц впервые за 50 лет
Разработанная компанией DeepMind система искусственного интеллекта AlphaZero, первоначально предназначенная для настольных игр, предложила более быстрый способ умножения матриц — фундаментальной математической задачи, для которой не находилось новых решений уже более 50 лет.
Задача об умножении матриц лежит в основе самых разных приложений от вывода изображения на экран до моделирования сложной физики, а также обучения самого искусственного интеллекта. Оптимизация решения этой задачи помогла бы упростить выполнение множества компьютерных операций, сократив расходы и обеспечив экономию энергии. Несмотря на повсеместное распространение задачи, она до сих пор недостаточно изучена.
Матрица — это массив чисел, а умножение матриц — это обычно последовательное умножение чисел в строках одной на числа в столбцах другой. Задача кажется относительно простой, но она существенно усложняется при попытке найти ускоренный метод её решения, и это одна из открытых проблем в информатике. Предполагается, что число доступных способов умножения матриц превосходит количество атомов во вселенной — в некоторых случаях до 10³³ вариантов.
Чтобы «заинтересовать» нейросеть AlphaTensor, новую версию AlphaZero, задачу об умножении матриц превратили в своего рода настольную игру, каждое действие умножения сопоставили игровому ходу, а ИИ получал награду за победу с минимальным числом ходов. В результате AlphaTensor нашёл новый способ умножения матриц 4×4, более эффективный, чем в 1969 году предложил немецкий математик Фолькер Штрассен (Volker Strassen). Базовый способ предполагает решение задачи за 64 шага, у Штрассена это 49 шагов, а AlphaTensor справляется за 47. В целом ИИ усовершенствовал алгоритмы для матриц более 70 размеров: при размере 9×9 число шагов уменьшилось с 511 до 498, а при 11×11 — с 919 до 896. В ряде других случаев AlphaTensor повторил лучшие из известных алгоритмов.
Получив результаты, инженеры DeepMind решили адаптировать их для ускорителей NVIDIA V100 и Google TPU, которые чаще всего используются в машинном обучении. Выяснилось, что предложенные AlphaTensor методы работают на 10–20 % быстрее традиционных.