«Математикам нечего бояться»

Как эволюционные алгоритмы меняют науку

Значимое событие в мире применения искусственного интеллекта для науки произошло в середине 2025 года. Компания Google представила AlphaEvolve — фреймворк, который комбинирует способности больших языковых моделей к написанию кода с эволюционным подходом к вычислениям. Авторы системы опубликовали отчет, в котором показали, что она ускорила поиск решений в чистой математике, однако доступ к инструменту в индивидуальном порядке получили только единицы исследователей.

Руководитель научной группы «Генеративное проектирование» лаборатории FusionBrain Института AIRI Валентин Хрульков

Руководитель научной группы «Генеративное проектирование» лаборатории FusionBrain Института AIRI Валентин Хрульков

Фото: AIRI

Руководитель научной группы «Генеративное проектирование» лаборатории FusionBrain Института AIRI Валентин Хрульков

Фото: AIRI

Ученые из России проанализировали опубликованные данные, создали аналогичное решение и выложили его в открытый доступ для всего научного сообщества. Инструмент назвали GigaEvо. О том, что такое эволюционные алгоритмы, почему они стали развиваться именно на фоне интереса к применению ИИ в науке и как «переписывающие себя» программы повлияют на исследования, «Ъ-Науке» рассказывает Валентин Хрульков, руководитель научной группы «Генеративное проектирование» лаборатории FusionBrain Института AIRI.

— Расскажите об AlphaEvolve. Почему вы вдохновились именно этой разработкой?

— Языковые модели (LLM) неплохо справляются с математическими задачами, ответ на которые уже существует. В то же время в мире есть очень много задач, в которых точный ответ человечеству пока неизвестен. Языковые модели с ходу их решить не могут. Если мы отправим задачу в LLM и попросим ее выдать ответ или написать какой-то код, который такое решение выдает, то с большой вероятностью грамотного вычисления мы не увидим.

Когда появился AlphaEvolve, многие коллеги сказали: «А почему я до этого не додумался?!». Идея системы заключается в том, чтобы разбить решение сложной задачи на много маленьких шагов и писать ответ, имитируя процесс того, как человек подходит к исследованиям, а не пытаться сразу получить готовые числа. Начинаем с какого-то прототипа, потом вносим изменения, что-то удаляем, что-то добавляем, смотрим, что помогло, а что помешало. Имитируя процесс мышления математика, мы получаем систему, которая начинает работать на базовом уровне, постепенно редактируя функции, анализируя промежуточные результаты и затем, используя эту информацию, итерационно улучшается. Почему алгоритмы называются «эволюционными»? Запущенные внутри вычисления повторяются десятки и сотни раз в процессе решения одной задачи.

— Получается, что речь идет о создании «ИИ-ученого»?

— Созданием так называемых ИИ-ученых занимается много команд. Пожалуй, самая известная широкой общественности система была представлена стартапом Sakana AI. Их создатели целятся в полное воспроизведение процесса подготовки научной публикации и хотят, чтобы результаты были корректными настолько, чтобы успешно проходить рецензирование. Когда мы говорим про «ИИ-ученого», мы все-таки хотим, чтобы LLM помогали сформулировать план работ, какие-то гипотезы, провести на основе этих гипотез эксперименты, подтвердить их.

Конечно, на концептуальном уровне это звучит похоже, ведь де-факто языковая модель в комбинации с алгоритмом позволяет получить новое научное знание. И все же, говоря об AlphaEvolve и нашем GigaEvo, мы имеем дело с программами, пользуясь которыми человек решает одну конкретную задачу. Не «заставляет» их поработать вместо себя, а прибегает к инструменту, без которого достигнуть результата не получалось.

— Почему сейчас возникла потребность создавать инструменты для автоматизации решения научных задач?

— Языковые модели стали очень мощными. Люди захотели научиться применять их не только для того, чтобы писать тексты или создавать цифровых котят на облаках, но и получать новые математические, физические или биологические результаты. Мечты сообщества выглядят на концептуальном уровне так: если найти еще один способ получать новые знания, можно открыть самоподдерживающийся цикл их получения. С помощью LLM нашли новые знания, благодаря им улучшили саму LLM, пошли на следующий круг. Они будут поочередно друг друга усиливать, а в итоге мы все достигнем некой технологической сингулярности.

— А что тогда будут делать ученые?

— Да ничего, отдыхать будут! Шучу, конечно. Во-первых, это только зарождающаяся область. Сложно сказать, что ИИ позволит найти ответы на все загадки Вселенной. Если спуститься на уровень рационального отношения к ситуации, то реальной пользой станет отсутствие необходимости мучиться с задачами, в которых, чтобы получить решение, нужно совершить невероятный перебор. Например, когда для продолжения поиска вам в качестве промежуточного этапа нужно получить численную оценку. Человек в таких случаях вручную пишет программу, перебирающую огромное количество комбинаторных вариантов. Это настоящая рутина. Долгая и механическая. В этой области уже показаны отличные результаты.

Сейчас системы справляются с поиском эффективных алгоритмов, которые, согласно метрикам, работают лучше всего. Очень хочется этот подход распространить на доказательство теорем. Уже давно существуют так называемые computer assisted proves (компьютерно-доказательные вычисления, то есть математические доказательства или верификации теорем, в которых для выполнения трудоемких вычислений, перебора случаев или автоматизированного поиска логических шагов используется компьютер.— «Ъ-Наука»). Математикам, которые не погружены в программирование на довольно глубоком уровне, с ними очень сложно взаимодействовать. Используя LLM, которые не требуют знания языков программирования во всех тонкостях и деталях, мы могли бы автоматизировать доказательство теорем с помощью эволюционного поиска и приобщить больше коллег к новым инструментам. Мне до сих пор сложно представить, что в ближайшее время мы доберемся до сложнейших задач наподобие уравнений Навье—Стокса, но в теории это возможно.

— А какие теоремы уже смогли доказать с помощью компьютерных систем? Когда это началось?

— Один из канонических примеров — задача о четырех красках, утверждающая, что любую карту, разделенную на области, например страны или регионы, можно раскрасить всего четырьмя цветами так, чтобы любые две области, имеющие общую часть границы — не только точку,— имели разные цвета. Утверждение было сформулировано еще в 1852 году, но доказано только в 1976 году с помощью компьютера. Это была первая значимая математическая теорема, которую доказали с помощью компьютерных программ. Однако это доказательство приняли далеко не все математики, потому что его нельзя было проверить вручную. Позже, в 1997 году и 2005 году было повторно доказано, что решение верно, проверены все варианты и подобрано более лаконичное объяснение. Доказательство было формализовано специальным языком. Естественно, все это происходило задолго до бума языковых моделей.

Над доказательством теорем с использованием ИИ пока работают отдельные команды, например, в том же Google с помощью LLM автоматически формализовали данные и подготовили набор данных из 80 млн математических проблем. Основная сложность заключается в следующем: если мы что-то доказываем, оно у нас либо доказано, либо не доказано. Разбить на шаги сложно. Что мы считаем наполовину доказанным? Есть просто бинарная метрика. Но что-нибудь, я уверен, придумаем.

— Что для вас стало главным мотиватором для того, чтобы сесть и написать GigaEvo? Насколько я понимаю, технический отчет AlphaEvolve не содержит в себе никаких инструкций, и вам пришлось решать задачу с нуля.

— В отчете коллеги показали замечательные результаты в 67 задачах. Алгоритм воспроизвел лучшие из уже известных решений и предложил новые для нескольких задач из теории множеств и геометрии. Об этом очень много писали. В англоязычной прессе пошли разговоры о страхе поголовной замены математиков на ИИ. А я вообще-то математик. Так что решил покопаться и разобраться в этом вопросе. После стало совсем не так страшно, как сначала, ведь задачи, которые они отобрали, очень теоретические. В основном это были всяческие упаковки шестиугольников или задачи, в которых прогресс сводится к улучшению константы на 0,0001. Они новых знаний о мире не дают. А вот математический интерес подстегивают. И здесь мы доходим до сути. Надо снять с новостей шелуху про замену математиков и обратить внимание на те задачи, решения которых впоследствии помогли в реальном мире. Например, среди описанных в отчете AlphaEvolve примеров было очень прикольное решение: используя результаты одной из задач по оптимизации, они улучшили вычислительный кластер Google на 0,5%. Это сэкономит компании очень много денег.

Я пошел искать, сделал ли кто-то уже свой открытый аналог. Нашел реализацию под названием OpenEvolve, она оказалась достаточно популярной. Но если ее изучить внимательно, становится видно, что система совсем негибкая и сложно расширяемая, да и не то чтобы эффективная.

— Что значит «негибкая»?

— Это значит, что функционал, который нужен вам для решения своей задачи, туда очень сложно внедрить. Есть ряд заложенных внутрь решений — попробуй повтори. А вот чтобы «обдумать» об систему свои вопросы, нужно совершить какое-то невероятное техническое усилие. Я бы сказал, что код не очень аккуратный, сложноват для использования. Тогда я понял, что надо думать самостоятельно. Сделать свое. Лучше и с заделом на продолжение. Сразу удобно и открыто для всех.

— Насколько сложно было воспроизвести результат? С какими технологическими и методологическими барьерами вы столкнулись?

— Да, это не просто попытка взять и переписать похожий код, а подход к снаряду под названием «воспроизвести нечто новое по описанию того, как это было сделано у других». Воспроизведение зависело от задачи. На одной задаче с первой попытки получился результат лучше, чем у коллег. Я тогда очень обрадовался, но на деле представления о простоте оказались иллюзией. Оказалось, что в отчете так много компонент, что выявить, насколько каждая из них критична, просто невозможно. Одна компонента, сам эволюционный алгоритм, была представлена как основной акцент. Оказалось, что важнее другое.

— Что именно?

— Как ни странно, сама языковая модель и промпты для системы. То, как мы анализируем, допустим, программы другой LLM, подсказки выдаем. А то, как оно оптимизируется, почти не влияет на качество итогового результата.

— В чем главное достоинство и недостаток эволюционного поиска?

— В том, что не очень понятно, как этот поиск контролировать. Мы смотрим на график, и метрика не растет, а что можно поменять — непонятно. Очень высокое число степеней свободы открывает перед нами безграничное пространство выбора, но повлияет ли выбранное изменение на качество — заранее сказать невозможно. Поэтому основные усилия были направлены на то, чтобы сделать максимально надежный базовый сетап, зафиксировать и надеяться, что он действительно оптимальный.

— Как вы определяли критерии того, что результаты AlphaEvolve воспроизвелись успешно? Как проверяли корректность решений, которые получили с помощью GigaEvo?

— Найденные решения проверить суперлегко. Выдаешь набор точек, а он проверяется несложной функцией. Авторы AlphaEvolve приложили к отчету сайт, где для каждой задачи была написана эта функция проверки. Например, я получил в задаче со сверткой массив, подставил его в их функцию, она выдала значение — это значение оказалось лучше, чем у них в статье. Также функцию можно доучить под свою задачу. Скажем, если перед нами стоит задача упаковки, надо выдать условные окружности внутри квадратика. Что нам следует проверить? Что окружности не пересекаются и расположены внутри квадратика. Проверяем два условия, а потом функция просто суммирует радиусы и выдает сумму, которая показывает, насколько хорошо и плотно мы все упаковали.

— Есть ли в GigaEvo уникальные архитектурные или алгоритмические компоненты, которых нигде больше нет?

— Да. Одна из таких компонент — это способ задавать произвольные операции, которые выполняются над программой. Программа — это просто абстракция, код и какая-то информация. Например, метрики этой программы. У нас во фреймворке можно выполнять произвольные операции над программой в виде так называемого DAG — графа произвольных операций над программой, как во фреймворках ComfyUI или AirFlow. Валидация синтаксиса, запуск кода, валидация полученного решения, сбор генеалогических предков программы, потомков, их произвольный анализ — все, что захотите.

Это основная фишка. Очень надеемся, что благодаря ей исследования «раскочегарятся». Потому что в OpenEvolve по крайней мере все это было просто прописано в коде, и пользователь никак не мог изменить сценарий работы с программой.

— А как в случае такой вседозволенности быть с постановкой неклассических задач или с многошаговыми гипотезами, которые в любом случае подразумевают участие человека? Где заканчивается зона ответственности ученого и начинается работа системы?

— Задача ученого заключается в том, чтобы выделить кусочек решения, в котором ему важно получить оценку или значение константы. Он выделяет один изолированный блок, на нем засылает обучение, получает ответ. Дальше он этот ответ может использовать в своих доказательствах. А его зона ответственности — проверить, что ответ действительно корректный. Например, из простого: бывают задачи, где ответ обязательно должен быть целочисленный, а алгоритм все оптимизирует в вещественных числах. Надо учесть нюансы того, что функция валидации, которую он напишет, действительно корректно проверяет решение. ИИ-модели могут «жульничать», находить хаки, позволяющие обмануть систему. Не думать головой не получится.

— Может ли GigaEvo предложить идею или гипотезу? Или человек всегда должен сам задавать направление работы?

— Лучше вообще ничего не задавать самому. Это очень сужает поиск и загоняет алгоритм в рамки. Мы заметили на экспериментах, что, если пользователь сам пропишет направление мысли или то, какие идеи нужно проверять, система ограничится только ими. Не будет исследования и попытки найти нечто неожиданное. Мы как-то раз написали системе инструкцию: «Ищи, проявляй мегакреативность в решении, оно должно быть несимметричным, никакой структуры». Система пыжилась, грузилась, работала на полную и ничего не нашла. Знаете почему? Оптимальное решение было симметричным.

В будущем мы хотим придумать, как задавать подсказки таким образом, чтобы GigaEvo сам определял, стоит ему их использовать или нет. Например, решаем мы какую-то задачу про упаковки, загружаем в систему десять статей про упаковки, а она в них ищет подсказки и решает, нужны они или нет.

— Как вы оцениваете влияние таких инструментов на стиль работы в академической среде?

— Допустим, мы хотим найти более оптимальное решение, скажем, для уже полюбившейся нам в этой беседе задачи упаковки. Система может найти его и выдать в виде кода на 500 строк, который просто возвращает некое числовое значение. Такой результат служит подсказкой для математика: он может задуматься, почему появилось именно это число и что оно означает. Вероятно, в будущем, с развитием подобных систем, на них будут возлагать доказательство рутинных утверждений. Это будет похоже на молоток: вы задаете лемму, которую нужно доказать, а система генерирует доказательство. Однако заранее предсказать последствия трудно.

Мнение одного математика, с которым мы общались, сводилось к тому, что некоторые задачи, решенные AlphaEvolve, кажутся ему абсолютно бессмысленными с научной точки зрения и он не видит в них практической пользы. В то же время есть и очевидные практические достижения — как, например, уже упомянутый мной более эффективный алгоритм матричного умножения, который можно внедрить для ускорения вычислений. Что касается фундаментальной науки, здесь много неопределенности. Возможно, мы научим такие системы создавать не просто выводы, но и интерпретируемые результаты, чтобы они работали не «от балды», а с понятной человеку логикой. Тогда их идеи можно будет анализировать и транслировать в научные гипотезы. Это позволит понять логику кода или алгоритма, полученного с их помощью.

— Каков порог входа для новых пользователей GigaEvo?

— Нужно уметь запускать базовые функции на языке Python. После этого порог достаточно низкий. Надо создать файлик, в котором текстом описана задача, задать функцию валидации, потому что без этого никак — это основа алгоритма. Затем нужно предложить какие-то стартовые программы. Они могут быть совершенно бессмысленными, но должны быть, чтобы эволюция запустилась.

— Может ли распространение таких инструментов привести к обезличиванию исследований?

— Чуть-чуть вырастет порог входа в самостоятельную научную жизнь. Допустим, порог этот остановится на уровне аспиранта первого года. Все, что до этого было, мы сможем решать автоматически. Но ведь для крутых математиков, которые доказывают теорему Ферма, все пороговые этапы очевидны. В математике по крайней мере «необезличенные» сейчас ученые и так эти задачи решат. Мы не дошли до того, чтобы решать по-настоящему революционные вопросы. Не такие, которыми просто никто не занимается, потому что скучно, а такие, как гипотеза Римана,— ими много кто занимается, но никто не может решить. Я знаю случаи, когда аспирант быстро решал недоказанную ранее гипотезу. 50 лет она была не доказана, но не потому, что это было сложно, а потому, что никто не хотел тратить на нее время. Эволюционные алгоритмы в ближайшее время возьмут на себя задачи такого плана, и может оказаться, что среди них есть те, про которые все думают: «Скучно», а на деле там скрыта целая матрешка интеллектуальных вызовов для людей.

Елизавета Певная