Google представила AlphaCode 2 , улучшенную версию своей модели для генерации кода, разработанной лабораторией DeepMind около года назад. AlphaCode 2 работает на базе модели Gemini, точнее на её варианте, Gemini Pro, настроенном на данные из конкурсов по программированию. Google утверждает, что AlphaCode 2 значительно превосходит своего предшественника, особенно в одном конкретном тесте.
На части программных соревнований на платформе Codeforces AlphaCode 2, использующий языки Python, Java, C++ и Go, показал результаты лучше, чем у 85% участников. Это в сравнении с 50% участников, которых превзошёл предыдущий AlphaCode.
Модель была доработана на дополнительном наборе данных “более высокого качества”, но, судя по скудным подробностям в техническом отчете, не совсем ясно, какие именно данные использовались и в каком именно объеме. Исследователи выбрали 12 недавних соревнований с более чем 8,000 участниками из разделов 2 и более сложного 1+2, включающих 77 задач. AlphaCode 2 решил 43% задач за 10 попыток, что почти в два раза больше, чем у оригинального AlphaCode (25%).
AlphaCode 2 способен решать задачи с “сложной” математикой и теоретическими вопросами компьютерных наук. Он также умеет применять динамическое программирование, что особенно важно, поскольку задачи, требующие этого метода, были сложностью для первоначального AlphaCode.
Для решения задач AlphaCode 2 использует “модели политик”, генерирующие код для каждой задачи. Он отсеивает код, не соответствующий описанию задачи, и применяет алгоритм кластеризации для группировки “семантически похожих образцов кода”. Затем модель оценки в AlphaCode 2 выбирает лучшее решение для каждого из 10 крупнейших кластеров кода.
Тем не менее, у всех моделей ИИ есть недостатки. AlphaCode 2 требует множества проб и ошибок, слишком дорог в эксплуатации и сильно зависит от способности отфильтровывать явно плохие образцы кода. Переход на более мощную версию Gemini, такую как Gemini Ultra, может уменьшить некоторые из этих проблем.
Изначально AlphaCode так и не был выпущен, но по словам вице-президента DeepMind по продукту Эли Коллинза, возможно, что AlphaCode 2 в будущем будет использоваться как инструмент для содействия всему процессу разработки программного обеспечения.