IBM обучит нейросеть программированию на 14 млн фрагментов кода

19.05.2021      19373

IBM представила набор данных Project CodeNet, который предназначен для тренировки нейросетей написанию рабочего программного кода. В датасет вошли сведения о 55 языках программирования.

Размер базы

Американская ИТ-компания на конференции сравнила свой проект с приложением Rosetta Stone для изучения иностранных языков, с той лишь разницей, что набор данных позволит обучать программированию искусственный интеллект. Научный сотрудник IBM Ручир Пури рассказал, что датасет не уступает аналогичному комплексу для разработки систем компьютерного зрения ImageNet.

В базу CodeNet вошло множество сведений о различных аспектах разработки приложений. Набор данных содержит 14 млн фрагментов кода и 500 млн строк на 55 языках – от устаревших COBOL и FORTRAN до актуальных Java, C ++ и Python. Также в датасете включено около 4 тыс. задач по программированию.

Проблемы обучения ИИ

По словам авторов проекта, первый шаг в обучении нейросетей программированию – это возможность искусственного интеллекта переводить код с одного языка на другой. Ручир Пури отмечает, что тренировка системы на датасете, который включает несколько языков, позволит применять ИИ в парных операциях. Например, станет возможным переписать COBOL-код на Java или наоборот.

Такой подход поможет упростить понимание, разработку и развертывание приложений. Программирование работает по определенным правилам, но их знания нейросети будет недостаточно для того, чтобы перевести программу с одного языка на другой. Авторы Project CodeNet в качестве примера приводят COBOL, который давно уже устарел, но его все равно продолжают использовать, потому что уже написанные на нем приложения еще применяются в бизнесе. Автоматизировать процесс перехода на современный язык мешает контекст конкретного решения. Без понимания связей перевести возможно не более 60% программы.

Возможности датасета

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

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

Изучить данные CodeNet и использовать их в работе можно при помощи репозитория на GitHub.


Автор:
Аналитик


См. также

Новость Искусственный интеллект ИТ-Новость

В 2024 году «Сколково» выделит пилотным проектам в сфере искусственного интеллекта гранты на общую сумму 554 млн рублей. В результате отбора финансирование получат проекты с применением ИИ в областях производства, операционной деятельности и в работе предоставляемых сервисов.

12.04.2024    860    AnastasiaKl    3       

3

Новость ИТ-Новость

Пятничное: в России вступил в силу стандарт подготовки по дисциплине «спортивное программирование». В стандарт вошли требования к физическим показателям спортсменов и скорости набора текста.

16.02.2024    815    VKuser24342747    2       

1

Новость ИТ-Новость

Федеральное агентство по техническому регулированию и метрологии (Росстандарт) утвердило национальный стандарт протокола LoRaWAN RU, таким образом он получил официальный статус. Технология используется для беспроводной передачи данных между устройствами интернета вещей.

19.01.2024    595    VKuser24342747    0       

2

Новость Законодательство ИТ-Новость

12 декабря вступил в силу Федеральный закон, меняющий срок, к которому все владельцы сайтов должны внести изменения в порядок авторизации пользователей на сайте. Закон вводит переходный период до 1 января 2025 года.

20.12.2023    757    VKuser24342747    2       

1

Новость Мобильные приложения ИТ-Новость

Новая версия Android Studio под номером 2023.1 получила имя Hedgehog. Появились возможности контролировать производительность приложений и управлять подключенными устройствами.

07.12.2023    961    VKuser24342747    2       

3

Новость GitHub ИТ-Новость

GitHub собрал данные об Open Source проектах в рамках ежегодного исследования Octoverse. Компания изучила географию репозиториев, используемые языки программирования и нейросети, а также активность сообщества.

15.11.2023    607    VKuser24342747    1       

2

Новость ИТ-компания ИТ-Новость

Компания «Сбер» заявила, что будет бесплатно предоставлять доступ к API нейросети для генерации текста GigaChat для некоммерческих проектов. Однако для них будет ограничено число доступных токенов.

01.11.2023    770    VKuser24342747    2       

3

Новость ИТ-Новость Программист

Вышла новая версия Geany 2.0. Обновление затронуло внешний вид программы, расширило поддержку файлов и сторонних проектов, добавило новые способы работы с кодом.

25.10.2023    791    VKuser24342747    0       

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Darklight 32 19.05.21 14:03 Сейчас в теме
14млн фрагментов? Всего-то! Надеюсь приложение "Hello World" хоть сможет написать? А при не стандартной постановке?
2. o.nikolaev 214 19.05.21 19:39 Сейчас в теме
(1) Смейся, смейся - кожаный мешок! Это начало конца нашей профессии. Как вовремя я решил выучиться на сварщика-то...
vsesam80; Артано; chg; +3 Ответить
3. Darklight 32 19.05.21 20:07 Сейчас в теме
(2)Роботы сварщики уже давно есть - Вы выучили не ту профессию
4. o.nikolaev 214 19.05.21 20:12 Сейчас в теме
(3) Да нет, это вы ошиблись с выбором.
5. chg 20.05.21 06:54 Сейчас в теме
(4)на сантехника вернее:
- видишь этот кран? Так вот он как стоил пузырь, так и будет стоить.
o.nikolaev; Артано; +2 Ответить
6. Артано 764 20.05.21 07:47 Сейчас в теме
На самом деле не повод для смеха, еще несколько лет назад давал прогноз, что через 20 лет, профессия кодера будет автоматизирована. Останутся архитекторы и сопричастные.
Сейчас всего лишь проводятся первые эксперименты для оценки трудоёмкости, возможных проблем и потенциальной коммерческой эффективности
o.nikolaev; +1 Ответить
7. Darklight 32 20.05.21 10:22 Сейчас в теме
(6)Кодеры - уйдут в прошлое! Но... вряд ли за 20 лет. Но за 100 - скорее всего! И это правильно. А языки программирования должны эволюционировать до более высокоуровневого состояния. 5-его поколение не предел - на него нужно выйти во второй половине XXI века (в массовой разработке прикладных приложений). А в XXII веке нужно будет выйти и на языки 6-го поколения (о них сейчас даже почти никто и не помышляет). Вот только после этого профессия кодера начнёт массово отмирать!
Может я силишкам пессимистичен в прогнозах! Или излишне пессимистичны те, кто предрекает смерть профессии кодера уже в XXI веке (не говоря уже о первой половине XXI века).
Да и много ли Вы знаете кодеров в 1С Предприятие 8? Кодингом да - многие занимаются - но не в меньшей степени чем разработкой, а многие такие "кодеры" ещё и архитекторы СУБД администраторы.
И это положение дел навряд ли сильно изменится даже если к середине века выйдет гипотетическая революционно новая платформа - 1С Предприятие 9 - тут нужно скакнуть аж "через две головы", чтобы свести кодинг в среде 1С Предприятие к минимуму! Но что-то уже не верится в то, что фирма 1С на такое будет способна (даже в 1С Предприятие 10, лет через 70-80-100). Скорее всего то новое поколение разработчиков прикладных решений на специализированных платформах уже перейдут на иные учётные системы - созданные молодыми и амбициозными командами, имеющих, в своём составе, если и не гениев, то хотя бы неординарных специалистов, готовых внедрять новые идеи и перенимать мировые достижения. Старым командам 1С это уже не подсилу... и не понять...
8. Артано 764 21.05.21 04:46 Сейчас в теме
(7)
Скорее всего то новое поколение разработчиков прикладных решений на специализированных платформах уже перейдут на иные учётные системы - созданные молодыми и амбициозными командами, имеющих, в своём составе, если и не гениев, то хотя бы неординарных специалистов, готовых внедрять новые идеи и перенимать мировые достижения. Старым командам 1С это уже не подсилу... и не понять...


Да, в недавнем споре подобный сценарий я и выдвигал как наиболее вероятный применительно к одинесникам. не будет новой платформы, будут принципиально иные решения не требующие штата программистов и кастомизируемых роботами под конкретного клиента. Разумеется, под присмотром архитектора =)

Если хотите знать своё конкретное будущее, то рано или поздно вам скажут, что мы купили новую программу для нашего учета, вместе с сервисом по доработкам и сопровождению. Получается намного дешевле и быстрее и багов меньше чем в твоей нетленке, которую ты пилишь уже 5-10-15 лет.
9. Darklight 32 21.05.21 10:03 Сейчас в теме
(8)
не будет новой платформы, будут принципиально иные решения не требующие штата программистов и кастомизируемых роботами под конкретного клиента

"Не в нашу смену" ;-) не стоит этого ждать в ближайшие лет 100, или я не понимаю вашего мнения.
До подобных систем ещё очень далеко (такого подобия нет ни у кого ещё), всё-таки платформы будут развиваться более плавно. Как я написал выше - моё мнение, что это уровень не ниже 1С Предприятие 10 (а в Вашем описании - технологии, скорее 11-го поколения) - т.е. это уже XXII век - таково моё мнение. Но я скептически отнёсся к тому, что 1С Предприятие доживёт до 10-ой генерации (а если вдруг доживёт - то на ней и загнётся, не в силу конкурировать - разве что Россия к тому времени не будет в полной изоляции и 1С будет иметь около 100% всего рынка за неимением доступа конкурентов извне, если только в России не появятся свои новые конкуренты к тому времени). Но в то, что рано или поздно выйдет 1С Предприятие 9 - я верю (не верю, что скоро выйдет, тут скорее руководство в 1С должно будет в корне поменяться, ну или перед своим уходом Б. Нуралиев выпустить прощальный подарок - своё последнее виденье новой платформы). Но при любом раскладе - вряд ли 1С Предприятие 9 далеко уйдёт от 8-ки - вообще фантазии на эту тему, наверное, достойный отдельной статьи, если эти фантазии, далёкого от компании 1С человека, интересны, а сотрудникам 1С - до сообщества дела нет, тем более до фантазий - от них ждать не стоит.

А моё мнение таково - что в 9-ке поменяется язык (вероятно на основе 1С Исполнителя - а он, лично мне по вкусу не пришёлся), поменяется движок: вероятно перейдёт на Java - что, в общем-то не плохо, возможно и язык конфигураций будет исполняться на Java платформе - что логично (хотя я бы выбрал LLVM или .NET(а для web будет компилироваться в Web-assembler). Вероятно внешнре компоненты можно будет подключать бесшовно, как на OneScript. Переработают язык запросов (но вряд ли он станет менее похотим на SQL). Уйдёт в прошлое 1С-конфигуратор (его заменит EDT - или что-то в этом духе). Появится много инструментов и смарт-помощников для программиста (для анализа, рефакторинга, кодинга...). Архитектура клиент-сервера перейдёт на микросервисы. Возможно, сделают свою СУБД (гибридную, с поддержкой реляционной и нереляционной алгебры) с миркросервисами, которые можно будет и расширять (на каком-то языке - возможно на Java, имея низкоуровневый доступ). Переработают дерево метаданных (не знаю - останется ли жёсткое разделена на справочники, документы и т.п. - считаю это всё пережитком прошлого, хоть это и ключевая фишка платформы - но её можно оставить через логические представления - видимые для пользователей). Структура метаданных станет более гибкой и вложенной. Появится голосовое управление. Появятся песевдо-AI-помшники для помощи в обработке данных и их анализу. Поддержка национальной локализации архитектуры станет ещё более гибкой. Пожалуй, наверное, всё - чего-то большего ждать за 20-30 лет от компании 1С не стоит. Ну разве, что появится гибкая поддержка модульности (особенно это нужно для национальной лаколизации) - как дальнейшее развитие идеи расширений (но это под вопросом, хотя многие больше всего ждут именно этого). Вероятнее всего поменяется лицензионная политика (не знаю в какую сторону, вероятно на разные микросервисы нужны будут свои лицензии, изменится и лицензионное масштабирование - став более прозрачным, но более дорогим).
В общем - тут много революционных идей, но в целом - ничего особенного и сверхъестественного. Всё уже давно назрело. Без многих идей делать новое поколение платформы просто бессмысленно. Ничего того, что можно было бы сделать уже сейчас тут нет. Бери - да делай - и тут просто нужно время.
И здесь нет ничего, что бы существенно сокращало штат программистов.

Если хотите знать своё конкретное будущее, то рано или поздно вам скажут, что мы купили новую программу для нашего учета, вместе с сервисом по доработкам и сопровождению

Перейдём в разработку таких систем и расширений к ним.
Оставьте свое сообщение