ИИ научили переводить код с одного языка на другой

May 11, 2021 20:18



Исследователи из компании IBM представили модель на основе ИИ, которая умеет переводить один язык программирования на другой. Ее обучили на 14 млн фрагментах кода.

Ученые объяснили, что системы искусственного интеллекта и машинное обучение в последние годы становятся все более умными и способны не только понимать текст, но и писать его. Однако они пока слабо владеют языками программирования. Чтобы исправить это, компания IBM на конференции Think 2021 объявила, что ее исследователи создали ИИ для перевода кода - проект IBM CodeNet.

«Нам нужен свой ImageNet, который может исследовать инновационные идеи и отражать их в различных алгоритмах, - отметили исследователи. - CodeNet - это, по сути, ImageNet для компьютеров. Это обширный набор данных, предназначенный для обучения систем AI/ML переводу кода и состоящий из 14 млн фрагментов и 500 млн строк на более чем 55 старых и активных языках - от COBOL и FORTRAN до Java, C++ и Python».

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

Ученые объяснили, что набор данных состоит из множество видов соревнований по программированию и всевозможных задач - некоторые из них более продвинутые, некоторые - более академические. Причем эти языки использовались в течение последних полутора десятилетий во многих из этих соревнований, решения которых представляли тысячи студентов.

Пользователи также могут запускать отдельные куски кода «для извлечения метаданных и проверки результатов генеративных моделей ИИ на корректность». Это позволит исследователям программировать эквивалентные части кода при переводе одного языка программирования на другой.

Ученые добавили, что их разработка важна для автоматизированного рассуждения и принятия решений, с возможностью объяснения этих решений. Фактически, это такая же ветвь развития моделей, как и компьютерное зрение и обработка естественных языков.

Источник

программирование, искусственный интеллект

Previous post Next post
Up