Root NationНовиниIT новиниIBM създаде набора от данни Project CodeNet: 14 милиона кодови проби ще научат AI да програмира

IBM създаде набора от данни Project CodeNet: 14 милиона кодови проби ще научат AI да програмира

-

Мерна единица IBM Изследването на изкуствения интелект (AI) представи набор от данни от 14 милиона проби за разработване на модели за машинно обучение, които могат да помогнат при задачи по програмиране. Набор от данни с име Проект CodeNet, носи името си от ImageNet, известното хранилище на изображения, което революционизира компютърното зрение и дълбокото обучение.

Програмистите откриват нови проблеми и изследват различни решения, използвайки много механизми на съзнателно и подсъзнателно мислене. Повечето алгоритми за машинно обучение изискват добре дефинирани задачи и големи количества анотирани данни за разработване на модели, които могат да решат същите проблеми.

IBM Project CodeNet
Project CodeNet е огромен набор от данни от ~ 14 милиона примера на код, разпръснати в десетки езици за програмиране.

Бяха положени много усилия за създаване на набори от данни и бенчмаркове за разработване и оценка на системи AI-for-code от експертната общност. Но предвид креативния и отворен характер на разработката на софтуер е много трудно да се създаде перфектният набор от данни за програмиране. С Project CodeNet изследователите на IBM се опитаха да създадат многоцелеви набор от данни, който може да се използва за обучение на модели за машинно обучение за различни задачи. Създателите на CodeNet го описват като „много мащабен, разнообразен и висококачествен набор от данни за ускоряване на напредъка на алгоритмите в AI за код“.

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

Също интересно:

Една от ключовите характеристики на CodeNet е количеството анотации, добавени към примерите. Всяка от задачите за кодиране, включени в набора от данни, има текстово описание, както и ограничения за процесорно време и памет. Всяко подаване на код съдържа дузина информация, включително език, дата на подаване, размер, време за изпълнение, приемане и видове грешки. Изследователите на IBM също положиха големи усилия, за да гарантират, че наборът от данни е балансиран по различни параметри, включително език за програмиране, приемливост и типове грешки.

IBM Project CodeNet

CodeNet не е единственият набор от данни за обучение на модели за машинно обучение при задачи по програмиране. Но има няколко характеристики, които го отличават. Първият е самият размер на набора от данни, включително броя на извадките и разнообразието от езици. Но може би по-важни са метаданните, които идват с примерните кодове. Богатите анотации, добавени към CodeNet, го правят подходящ за разнообразен набор от задачи, за разлика от други набори от данни за кодиране, които са специализирани в специфични програмни задачи.

Има няколко начина за използване на CodeNet. Един от тях е езиковият превод. Тъй като всяка задача за кодиране в набора от данни съдържа представяния на различни езици за програмиране, специалистите по данни могат да я използват за изграждане на модели за машинно обучение, които превеждат код от един език на друг. Това може да бъде удобно за организации, които искат да пренесат стар код на нови езици и да ги направят достъпни за нови поколения програмисти.

Прочетете също:

Регистрирай се
Уведомете за
гост

2 Коментари
По-нови
По-старите Naypopulyarnіshі
Вградени рецензии
Вижте всички коментари
Виктор
Виктор
2 роки том

Традициите и наследствеността трябва да играят заедно с различното мислене, с най-младите поколения невронни алгоритми и ML-методи за поставяне на проблеми, взаимно подобряващи се взаимно

Aasd
Aasd
2 роки том

С течение на времето нивото на програмистите ще намалее още повече (в сравнение със сега). Тоест, ще бъде възможно да се пише наклонен, крив код на "лайн езика". И тогава машината ще се оптимизира и ще бъде възможно да получите оптимизирания код на професионален асемблер програмист (или дори по-добър).