Connect with us

Новости

IBM разработала датасет Project CodeNet для обучения ИИ программированию

Цель состоит в том, чтобы выработать более серьезное понимание кода машинами по сравнению с простой механической обработкой.

Опубликовано

/

     
     

IBM выпустила Project CodeNet — набор данных, предназначенный для обучения искусственного интеллекта и переводу кода с одного языка программирования на другой. Набор данных состоит из 14 миллионов примеров кода, состоящих из примерно 500 миллионов строк кода на 55 языках программирования, от C++, Java, Python и Go до Cobol, Pascal и Fortran.

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

Разработчики проекта заявляют, что для более чем половины задач они также получили образцы входных и выходных данных из описания проблемы, что, по их словам, является ключом к определению эквивалентности двух образцов кода на разных языках и может стимулировать методы обучения с подкреплением для перевода кода. Образцы также включают такую ​​информацию, как размер кода, объем памяти, время работы ЦП и состояние, которые указывают на приемлемость или типы ошибок.

По оценкам команды IBM, автоматизированные системы, основанные на правилах, могут успешно переводить от 50 до 60% программы на другой язык, оставляя остаток на ручной перевод с использованием сложных правил.

Есть надежда, что Project CodeNet сможет «стимулировать алгоритмические инновации» для создания более сложного кода с использованием sequence-to-sequence моделей аналогично тому, как сейчас используют языковые переводчики для человеческих языков. Цель состоит в том, чтобы выработать более серьезное понимание кода машинами по сравнению с простой механической обработкой.

Проект включает инструменты для преобразования образцов кода в представление, которое может быть использовано алгоритмами ИИ, в том числе токенизатор, который генерирует поток токенов, синтаксический анализатор, который генерирует упрощенное дерево синтаксического анализа (SPT) для каждой распознанной программы, и инструмент анализа кода, который создает графики управления и потоков данных. Project CodeNet доступен на GitHub.

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Advertisement

Популярное

Спасибо!

Теперь редакторы в курсе.