Новости Днепра


Новости Днепра и Украины

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

02 февраля
22:13 2022

DeepMind создала систему искусственного интеллекта под названием AlphaCode, которая, по ее словам, «пишет компьютерные программы на конкурентоспособном уровне». Дочерняя компания Alphabet проверила свою систему на соответствие задачам кодирования, используемым в соревнованиях среди людей, и обнаружила, что ее программа достигла «приблизительного рейтинга», поместив ее в число 54% ​​лучших программистов-людей.

Результатом стал значительный шаг вперед для автономного кодирования, говорит представитель DeepMind, хотя навыки AlphaCode не обязательно репрезентативны для задач программирования, с которыми сталкивается средний кодер.

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

«В долгосрочной перспективе нас воодушевляет потенциал [AlphaCode] для помощи программистам и непрограммистам в написании кода, повышении производительности или создании новых способов разработки программного обеспечения», — сказал Виньялс.

AlphaCode был протестирован на задачах, созданных Codeforces, соревновательной платформой кодирования, которая еженедельно делится задачами и выдает рейтинги для кодеров, аналогичные рейтинговой системе Эло, используемой в шахматах.

Эти проблемы отличаются от задач, с которыми может столкнуться программист при создании, скажем, коммерческого приложения. Они более автономны и требуют более широких знаний как алгоритмов, так и теоретических концепций информатики. Думайте о них как об очень специализированных головоломках, которые сочетают в себе логику, математику и навыки кодирования.

1_Bv4SBzxaz5R2bVSK-AA0gg.jpeg (171 KB)

В одном примере задачи, на которой тестировался 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

Статьи по теме