Нейросеть GPT-2 научили писать код на С и С++
Дата: 15/04/2021
Тема: AI research.







Нейросеть научили писать код на С и С++

 05.03.2021      
Популярной нейросети GPT-2 нашли новое применение. Ее научили генерировать фрагменты кода на С и С++, и даже опытный разработчик не всегда отличит эти листинги от реальных.

Суть проекта
Ученые MESS Lab из Университета Нью-Йорка, представили сайт This Code Does Not Exist («Этот код не существует»). Он стал продолжением серии проектов This X Does Not Exist, в рамках которых нейросеть учили генерировать новые образы на основе существующих: изображений и их частей, аудиофайлов, стихов и др.

На этот раз GPT-2 обучили на 774 млн строк кода на C/C++. Исходники взяли из 10 тыс. популярных пакетов Debian – одной из самых известных сборок ядра Linux.

В результате нейросеть научилась строить синтаксически верные строки и оформлять код в логические блоки. Не специалистам крайне сложно отличить сгенерированные фрагменты от настоящих. Но разработчики могут ПОПРОБОВАТЬ.

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

Задача посетителя – угадать, что перед ним: сгенерированный код или оригинальный. Главная подсказка – если это действительно фрагмент исходников из пакетов Debian, он гарантированно будет работать.


This Code Does Not Exist – тест Тьюринга для нейросети. Она пытается выдавать себя за человека, точнее, за группу разработчиков пакетов Debian. Если посетители сайта не смогут распознать сгенерированный код, значит, нейросеть прошла тест.

Однако код, созданный нейросетью, не всегда имеет практическую пользу. Задача улучшения сборки Linux с помощью искусственного интеллекта перед GPT-2 пока не стоит.

Применения GPT-2
GPT-2 – разработка компании OpenAI. В числе ее основателей значится Илон Маск.

Нейросеть стала известна благодаря множеству смелых проектов. Например, российский разработчик построил на ее базе сервис «Порфирьевич», который дописывает любую историю.
 

Для разработчиков интересен еще один проект – Deep TabNine. Решение задействует искусственный интеллект, чтобы завершать строки кода. По словам автора идеи Джейкоба Джексона, он натренировал нейросеть на 2 млн файлов из открытых репозиториев GitHub. Инструмент поддерживает Python, C++, Java и Haskell и еще 18 языков программирования.

См.также:

Российский программист создал сервис, который может продолжить любую историю за рассказчика
Кодить станет проще: представлен умный инструмент для автозаполнения в редакторах кода






Это статья Спутниковое ТВ
http://b-b.by

URL этой статьи:
http://b-b.by/modules.php?name=News&file=article&sid=238