Единица IBM, на истражувањето за вештачка интелигенција (ВИ) презентираше база на податоци од 14 милиони примероци за развој на модели за машинско учење кои можат да помогнат во програмските задачи. Дата на податоци именувана Проект CodeNet, го зема своето име од ImageNet, познатото складиште за слики што ја револуционизира компјутерската визија и длабокото учење.
Програмерите откриваат нови проблеми и истражуваат различни решенија, користејќи многу механизми на свесно и потсвесно размислување. Повеќето алгоритми за машинско учење бараат добро дефинирани задачи и големи количини на забележани податоци за да развијат модели кои можат да ги решат истите проблеми.
Многу напор е вложен во креирањето на збирки на податоци и одредници за развој и евалуација на системи AI-за-код од страна на експертската заедница. Но, со оглед на креативната и отворена природа на развојот на софтвер, многу е тешко да се создаде совршен сет на податоци за програмирање. Со Project CodeNet, истражувачите на IBM се обидоа да создадат повеќенаменска база на податоци што може да се користи за обука на модели за машинско учење за различни задачи. Креаторите на CodeNet го опишуваат како „многу голема, разновидна и висококвалитетна база на податоци за забрзување на алгоритамскиот напредок во ВИ за код“.
Базата содржи 14 милиони примери од 500 милиони линии код напишани на 55 различни програмски јазици. Примероците на кодови беа добиени од речиси 4000 поднесени задачи објавени на онлајн платформите за кодирање AIZU и AtCoder. Примерите за кодови вклучуваат и точни и неточни одговори на дадените задачи.
Исто така интересно:
- Хабл влезе во безбеден режим поради софтверска грешка на вградениот компјутер
- Уште една неволја за CD Projekt: Хакерите се закануваат дека ќе ги објават изворните кодови на игрите на мрежата
Една од клучните карактеристики на CodeNet е количината на прибелешки додадени на примерите. Секоја од задачите за кодирање вклучени во базата на податоци има текстуален опис, како и ограничувања на времето и меморијата на процесорот. Секој доставен код содржи десетина информации, вклучувајќи јазик, датум на поднесување, големина, време на извршување, прифаќање и типови на грешки. Истражувачите на IBM, исто така, направија огромни напори за да се осигураат дека збирот на податоци е избалансиран во различни параметри, вклучувајќи го програмскиот јазик, прифатливоста и типовите на грешки.
CodeNet не е единствената база на податоци за обука на модели за машинско учење за програмски задачи. Но, постојат неколку карактеристики кои го издвојуваат. Првата е огромната големина на збирот на податоци, вклучувајќи го и бројот на примероци и разновидноста на јазиците. Но, можеби поважни се метаподатоците што доаѓаат со примероците на кодот. Богатите прибелешки додадени на CodeNet го прават погоден за разновидни задачи, за разлика од другите збирки на податоци за кодирање кои се специјализирани за специфични програмски задачи.
Ова е ум што дува.
Со GPT-3, изградив генератор за распоред каде што само опишувате каков било распоред што сакате, и го генерира JSX-кодот за вас.
ШТО сликаtwitter.com/w8JkrZO4lk
- Шариф Шамем (@sharifshameem) Јули 13, 2020
Постојат неколку начини да се користи CodeNet. Еден од нив е преводот на јазици. Бидејќи секоја задача за кодирање во збирката на податоци содржи претстави на различни програмски јазици, научниците за податоци можат да ја користат за да изградат модели за машинско учење кои преведуваат код од еден јазик на друг. Ова може да биде погодно за организации кои сакаат да го пренесат стариот код на нови јазици и да ги направат достапни за новите генерации програмери.
Прочитајте исто така:
- IBM ја претстави првата технологија за производство на чипови од 2 nm во светот
- IBM развива вештачка интелигенција за да измисли нови антибиотици
Традициите и наследноста треба да играат заедно со различно размислување, со најмладите генерации на нервни алгоритми и ML-методи на поставување проблеми, меѓусебно меѓусебно подобрување
Со текот на времето, нивото на програмери ќе се намали уште повеќе (во споредба со сега). Односно, ќе може да се пишува кос, крив код на „гомниот јазик“. И тогаш машината ќе се оптимизира и ќе биде можно да се добие оптимизираниот код на професионален асемблер програмер (или уште подобро).