Дочерняя кампания Alphabet разработала искусственный интеллект, который пишет программное обеспечение

DeepMind создала систему искусственного интеллекта под названием AlphaCode, которая, по ее словам, "пишет компьютерные программы на конкурентоспособном уровне". Дочерняя компания Alphabet проверила свою систему на соответствие задачам кодирования, используемым в соревнованиях среди людей, и обнаружила, что ее программа достигла "приблизительного рейтинга", поместив ее в число 54% лучших программистов-людей.
Результатом стал значительный шаг вперед для автономного кодирования, говорит представитель DeepMind, хотя навыки AlphaCode не обязательно репрезентативны для задач программирования, с которыми сталкивается средний кодер.
Ориол Виньялс, главный научный сотрудник DeepMind, сообщил, что исследование все еще находится на ранней стадии, но его результаты приблизили компанию к созданию гибкого ИИ для решения проблем - программы, которая может автономно решать сложные задачи кодирования. В настоящее время эта область только для людей.
"В долгосрочной перспективе нас воодушевляет потенциал [AlphaCode] для помощи программистам и непрограммистам в написании кода, повышении производительности или создании новых способов разработки программного обеспечения", - сказал Виньялс.
AlphaCode был протестирован на задачах, созданных Codeforces, соревновательной платформой кодирования, которая еженедельно делится задачами и выдает рейтинги для кодеров, аналогичные рейтинговой системе Эло, используемой в шахматах.
Эти проблемы отличаются от задач, с которыми может столкнуться программист при создании, скажем, коммерческого приложения. Они более автономны и требуют более широких знаний как алгоритмов, так и теоретических концепций информатики. Думайте о них как об очень специализированных головоломках, которые сочетают в себе логику, математику и навыки кодирования.
В одном примере задачи, на которой тестировался AlphaCode, участников просили найти способ преобразовать одну строку случайных повторяющихся букв s и t в другую строку тех же букв, используя ограниченный набор входных данных. Конкуренты, например, не могут просто вводить новые буквы, а вместо этого должны использовать команду "возврат", которая удаляет несколько букв в исходной строке. Десять из этих задач были загружены в AlphaCode точно в том же формате, что и людям. Затем AlphaCode сгенерировал большее количество возможных ответов и отсеял их, запустив код и проверив вывод, как это сделал бы человек. "Весь процесс автоматизирован, без отбора лучших образцов человеком", - сообщили соавторы AlphaCode.
AlphaCode был протестирован на 10 задачах, которые решали 5000 пользователей на сайте Codeforces. В среднем он входит в число 54,3% лучших ответов, и, по оценкам DeepMind, это дает системе Codeforces Elo 1238, что ставит ее в число 28% лучших пользователей, которые соревновались на сайте за последние шесть месяцев.
"Я могу с уверенностью сказать, что результаты AlphaCode превзошли мои ожидания", - сказал основатель Codeforces Майк Мирзаянов в заявлении, распространенном DeepMind. "Я был настроен скептически, потому что даже в простых соревновательных задачах часто требуется не только реализовать алгоритм, но и (и это самое сложное) его изобрести. AlphaCode удалось выступить на уровне перспективного нового конкурента".
DeepMind отмечает, что текущий набор скиллов AlphaCode в настоящее время применим только в области соревновательного программирования, но его возможности открывают дверь для создания будущих инструментов, которые сделают программирование более доступным и однажды полностью автоматизированным.
Многие другие компании работают над аналогичными приложениями. Например, Microsoft и лаборатория искусственного интеллекта OpenAI адаптировали программу генерации языка GPT-3 последней, чтобы она функционировала как программа автозаполнения, завершающая строки кода. (Как и GPT-3, AlphaCode также основан на архитектуре ИИ, известной как преобразователь, которая особенно хорошо справляется с анализом последовательного текста, как естественного языка, так и кода).
Для конечного пользователя эти системы работают так же, как функция Smart Compose в Gmail, предлагая способы закончить то, что вы пишете. В последние годы был достигнут значительный прогресс в разработке систем кодирования ИИ, но эти системы далеки от того, чтобы просто взять на себя работу программистов-людей. Код, который они производят, часто содержит ошибки, а поскольку системы обычно обучаются на библиотеках общедоступного кода, они иногда воспроизводят материалы, защищенные авторским правом.
В одном исследовании инструмента программирования ИИ под названием Copilot, разработанного репозиторием кода GitHub, исследователи обнаружили, что около 40 процентов его выходных данных содержат уязвимости в системе безопасности.
Аналитики безопасности даже предположили, что злоумышленники могут преднамеренно писать и делиться кодом со скрытыми бэкдорами в Интернете, который затем может использоваться для обучения программ ИИ, которые будут вставлять эти ошибки в будущие программы.
Проблемы, подобные этим, означают, что системы кодирования ИИ, скорее всего, будут постепенно интегрироваться в работу программистов, начиная с помощников, к чьим предложениям относятся с подозрением, прежде чем им доверят выполнять работу самостоятельно. Другими словами: они должны пройти обучение. Но пока эти программы быстро учатся.
По материалам: The Verge.