На своей конференции Think на этой неделе IBM представила Project CodeNet, который, по утверждению руководства компании, является крупнейшим набором данных с открытым исходным кодом для бенчмаркинга в сфере ИИ. Состоящий из 14 миллионов примеров кода, 500 миллионов строк кода и 55 языков программирования, включая C++, Java, Python, Go, COBOL, Pascal и FORTRAN, CodeNet примерно в 10 раз больше, чем следующий наиболее похожий набор данных, который содержит 52 000 образцов.

Согласно исследованию, проведенному бизнес-школой Judge Business School Кембриджского университета, программисты тратят 50,1% своего рабочего времени не на программирование, а на отладку. А общая расчетная стоимость отладки составляет $312 млрд в год. Таким образом, ИИ-инструменты предложения и анализа кода обещают существенно сократить затраты на разработку, позволяя программистам сосредоточиться на более творческих, менее повторяющихся задачах.

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

Перевод на язык программирования может быть особенно полезен, учитывая, что миграция существующей кодовой базы на современный или более эффективный язык, такой как Java или C++, требует знаний как исходного, так и целевого языков. Например, Банк Содружества Австралии потратил около 750 миллионов долларов в течение пяти лет на конвертацию его платформы с COBOL на Java. Транскомпиляторы могут помочь в теории — они устраняют необходимость переписывать код с нуля, — но их трудно построить на практике, потому что разные языки могут иметь разный синтаксис и полагаться на различные API платформы, функции стандартной библиотеки и типы переменных.

Набор данных CodeNet

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

Более 90% примеров задач в CodeNet поставляются с описаниями, содержащими постановку задачи и спецификации формата ввода и вывода. Для более чем половины проблем и семи миллионов примеров IBM также курировала примеры входных и выходных данных из описания проблемы.

Используя CodeNet, специалисты по обработке данных могут выполнять образцы кода для извлечения дополнительных метаданных и проверки правильности выходных данных из генеративных моделей ИИ. Представитель IBM говорит, что это позволит исследователям программировать “эквивалентность намерений” при переводе с одного языка программирования на другой.

“Учитывая богатство программ, написанных на множестве языков, мы считаем, что Project CodeNet может служить эталонным набором данных для перевода из источника в источник и делать для ИИ и кода то, что набор данных ImageNet сделал много лет назад для компьютерного зрения”, — написал в своем блоге Рухир Пури (Ruchir Puri), сотрудник IBM и главный научный сотрудник IBM Research.

IBM — не единственная компания, занимающаяся завершением и аудитом кода на основе искусственного интеллекта. Codota разрабатывает платформу, которая предлагает и автокомплектует скрипты на Python, C, HTML, Java, Scala, Kotlin и JavaScript. Ponicode применяет ИИ, чтобы проверить точность кода, а DeepCode разрабатывает систему AI-powered для просмотра кода всего приложения (как Amazon и Intel). Возможно, одним из самых впечатляющих проектов на сегодняшний день является TransCoder, транскомпилер ИИ, разработанный исследователями Facebook для преобразования кода из одного языка программирования в другой. Еще один претендент — модель из OpenAI, который был обучен на репозиториях GitHub, чтобы генерировать целые функции из англоязычных комментариев.

Источник: https://venturebeat.com/2021/05/10/ibms-codenet-dataset-aims-to-train-ai-to-tackle-programming-challenges/

от AI_NEWS

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *