Google DeepMind сообщила, что два ИИ-агента за 3 дня и 22 часа выполнили известный расчёт, связанный с RSA-1024. Они писали и тестировали код, запускали распределённые вычисления и устраняли сбои; исследователи отправили около 20 сообщений, в основном с подтверждениями. Результат показывает, что агенты могут решать сложные вычислительные задачи в заданных людьми рамках, но не подтверждает появление нового алгоритма и не указывает на немедленную угрозу для широко применяемых систем RSA.
Агенты рассчитали значение для цифровой подписи
Эксперимент был посвящён цифровым подписям RSA. Имитационный сервис подписания обработал около 4 млрд запросов, отправленных заранее, прежде чем исследователи выбрали целевую задачу. После этого сервис перестал принимать запросы, а агенты вычислили математический корень, необходимый для создания новой подписи, без дополнительных обращений к сервису. Закрытый ключ они не восстановили.
Исследователь DeepMind Пушмит описал работу 6 ноября. В статье эксперимент назван воспроизведением уже решённой тестовой задачи в изолированной среде. Авторы также отмечают, что результат не угрожает действующим криптографическим системам, использующим ключи RSA длиной 2 048 бит и более.
По CPU потребовалось примерно в 3,5 раза меньше ресурсов
Согласно статье, вычисления заняли 391 процессоро-год. В предыдущем запуске той же задачи с тем же алгоритмом команда потратила около 1 380 процессоро-лет. По опубликованным данным, это примерно в 3,5 раза больше. Однако в двух случаях использовалось разное оборудование, поэтому сравнение не полностью сопоставимо; процессоро-годы также не отражают общую финансовую стоимость эксперимента.
Показатель в 391 процессоро-год не включает работу GPU и около 7,5 процессоро-лет, затраченных на предварительные проверки и репетиции. Кроме того, в эксперименте было выделено около 330 часов работы GPU, из которых примерно 100 часов пришлись на активные вычисления. DeepMind указывает, что от запуска первой полномасштабной задачи решета до проверки результата прошло около 3,2 дня. На пике использовались примерно 300 000 процессорных ядер и 16 GPU. Разницу с предыдущим запуском, занявшим около пяти календарных месяцев, исследователи в основном связывают с возможностями параллельных вычислений.
Исследователи задали рамки, агенты разделили работу
Люди выбрали задачу и конкретный экземпляр, установили ограничения для сервиса подписания и утвердили условия перед необратимыми действиями. При этом, как говорится в статье, исследователи не писали код, не запускали вычислительные задания и не диагностировали сбои.
Исполнительный агент создавал и тестировал программы, запускал распределённые задания и устранял технические неполадки. Надзорный агент отслеживал план работы, бюджет ресурсов и проверки, а для ускорения этапа линейной алгебры привлёк специализированного субагента. В общей сложности два основных агента добавили около 33 500 строк кода, провели 336 распределённых экспериментов и обменялись 218 сообщениями.
Первый найденный математический корень оказался неверным: произошло переполнение 32-битного смещения. Проверки корректности выявили ошибку, после чего агенты нашли и исправили её, не повторяя предварительные запросы к сервису подписания. От проектирования до проверки результата прошло 3 дня и 22 часа. Около 20 сообщений и этапов подтверждения со стороны людей показывают, что работа не была полностью автономной.
Снижение затрат связано с реализацией, а не новым алгоритмом
Сокращение потребления CPU объясняется улучшениями в реализации и выполнении существующего алгоритма. Эксперимент не продемонстрировал новый алгоритм для более ограниченных условий доступа к подписям.
В отдельной работе о «фабриках вееров» (Fan Factories) оценивается, что после общей предварительной подготовки, сопоставимой по затратам с одной факторизацией методом общего решета числового поля, обработка каждого следующего 1 024-битного целевого числа может обходиться примерно в 30 раз дешевле, чем при использовании многократного решета числового поля. Пока это только асимптотическая оценка: Fan Factory ещё не реализована.
В рабочей статье не раскрыты конкретные названия основных моделей: они обозначены только как A и B. Публичный репозиторий с реализацией также не указан, что затрудняет независимое сравнение моделей. При оценке результата важны не только приведённые затраты CPU, но и использование GPU, а также необходимость подтверждений со стороны исследователей.