KIVI KidsTV
Root NationНовиниНовини ITIBM створила набір даних Project CodeNet: 14 млн зразків коду навчать ШІ програмувати

IBM створила набір даних Project CodeNet: 14 млн зразків коду навчать ШІ програмувати

-

Підрозділ IBM з досліджень штучного інтелекту (ШІ) представив набір даних з 14 млн вибірок для розробки моделей машинного навчання, які можуть допомогти в задачах програмування. Набір даних, який отримав назву Project CodeNet, отримав свою назву від ImageNet, знаменитого сховища помічених фотографій, яке зробило революцію в комп’ютерному зорі і глибокому навчанні.

Програмісти відкривають нові проблеми і досліджують різні рішення, використовуючи безліч механізмів свідомого і підсвідомого мислення. Більшість алгоритмів машинного навчання вимагають чітко визначених завдань і великої кількості анотованих даних для розробки моделей, які можуть вирішувати ті ж проблеми.

IBM Project CodeNet
Project CodeNet – це величезний набір даних з ~ 14 млн прикладів коду, розкиданих по десятках мов програмування.

Експертним співтовариством було докладено багато зусиль для створення наборів даних і тестів для розробки та оцінки систем «ШІ для коду». Але, з огляду на творчий і відкритий характер розробки програмного забезпечення, дуже складно створити ідеальний набір даних для програмування. За допомогою Project CodeNet дослідники IBM спробували створити багатоцільовий датасет, який можна використовувати для навчання моделей машинного навчання різним завданням. Творці CodeNet описують його як «дуже великомасштабний, різноманітний і високоякісний набір даних для прискорення алгоритмічних досягнень в області ШІ для коду».

Набір даних містить 14 млн прикладів з 500 млн рядків коду, написаних на 55 різних мовах програмування. Зразки кодів були отримані з представлених майже 4000 завдань, розміщених на онлайн-платформах кодування AIZU і AtCoder. Приклади коду включають як правильні, так і неправильні відповіді на поставлені завдання.

Теж цікаво:

Одна з ключових особливостей CodeNet – це кількість анотацій, доданих до прикладів. Кожне із завдань кодування, включених в набір даних, має текстовий опис, а також час процесора і обмеження пам’яті. Кожна відправка коду містить дюжину частин інформації, включаючи мову, дату відправки, розмір, час виконання, прийняття і типи помилок. Дослідники з IBM також доклали величезних зусиль, щоб забезпечити збалансованість набору даних за різними параметрами, включаючи мову програмування, прийнятність і типи помилок.

IBM Project CodeNet

CodeNet – не єдиний набір даних для навчання моделей машинного навчання завданням програмування. Але є кілька характеристик, які виділяють його. По-перше, це величезний розмір набору даних, включаючи кількість зразків і різноманітність мов. Але, можливо, важливіші метадані, які йдуть зі зразками коду. Багаті анотації, додані в CodeNet, роблять його придатним для різноманітного набору завдань на відміну від інших наборів даних кодування, які спеціалізуються на конкретних завданнях програмування.

Є кілька способів використання CodeNet. Один з них – мовний переклад. Оскільки кожна задача кодування в наборі даних містить представлення різних мов програмування, фахівці з даними можуть використовувати її для створення моделей машинного навчання, які переводять код з однієї мови на іншу. Це може бути зручно для організацій, які хочуть перенести старий код на нові мови і зробити їх доступними для нових поколінь програмістів.

Читайте також:

Джерелоanalyticsindiamag
Підписатися
Сповістити про
guest

2 Comments
Найновіше
Найстаріші Найбільше голосів
Зворотній зв'язок в режимі реального часу
Переглянути всі коментарі
Віктор
Віктор
3 роки тому назад

Традиції та спадковість мають прайювати разом з іншим мисленням, з наймолодшими поколіннями нейроподібних алгоритмів та ML- методами постановки задач, взаємно покращуючи один одного

Аasd
Аasd
3 роки тому назад

З часом рівень програмістів буде ще більше знижуватись (в порівнянні з теперішнім). Тобто можна буде на “говно-мові” написати косий, кривий код. А далі машина оптимізує, і навиході можна буде отримати оптимізований код професійного Ассемблер програміста (або навіть краще).

Підписатися на оновлення