Root NationȘtiriștiri ITIBM a creat setul de date Project CodeNet: 14 milioane de mostre de cod vor învăța AI să programeze

IBM a creat setul de date Project CodeNet: 14 milioane de mostre de cod vor învăța AI să programeze

-

Unitate IBM de cercetare în Inteligența Artificială (AI) a prezentat un set de date de 14 milioane de mostre pentru a dezvolta modele de învățare automată care pot ajuta la sarcini de programare. Un set de date numit Proiectul CodeNet, își ia numele de la ImageNet, celebrul depozit de imagini care a revoluționat viziunea computerizată și învățarea profundă.

Programatorii descoperă noi probleme și explorează diferite soluții, folosind multe mecanisme ale gândirii conștiente și subconștiente. Majoritatea algoritmilor de învățare automată necesită sarcini bine definite și cantități mari de date adnotate pentru a dezvolta modele care pot rezolva aceleași probleme.

IBM Project CodeNet
Proiectul CodeNet este un set de date uriaș de ~ 14 milioane de exemple de cod împrăștiate în zeci de limbaje de programare.

S-a depus mult efort pentru a crea seturi de date și repere pentru dezvoltarea și evaluarea sistemelor AI-for-code de către comunitatea de experți. Dar, având în vedere natura creativă și deschisă a dezvoltării de software, este foarte dificil să se creeze setul de date perfect pentru programare. Cu Project CodeNet, cercetătorii IBM au încercat să creeze un set de date multifuncțional care poate fi folosit pentru a antrena modele de învățare automată pentru o varietate de sarcini. Creatorii CodeNet îl descriu drept „un set de date la scară foarte mare, divers și de înaltă calitate pentru accelerarea progreselor algoritmice în AI pentru cod”.

Setul de date conține 14 milioane de exemple de 500 de milioane de linii de cod scrise în 55 de limbaje de programare diferite. Exemple de cod au fost obținute din aproape 4000 de sarcini trimise postate pe platformele de codare online AIZU și AtCoder. Exemplele de cod includ atât răspunsuri corecte, cât și incorecte la sarcinile date.

Interesant de asemenea:

Una dintre caracteristicile cheie ale CodeNet este cantitatea de adnotări adăugate la exemple. Fiecare dintre sarcinile de codare incluse în setul de date are o descriere textuală, precum și timpul CPU și limitele de memorie. Fiecare trimitere de cod conține o duzină de informații, inclusiv limba, data trimiterii, dimensiunea, timpul de execuție, acceptarea și tipurile de erori. Cercetătorii IBM au făcut tot posibilul pentru a se asigura că setul de date este echilibrat pe o varietate de parametri, inclusiv limbajul de programare, acceptabilitatea și tipurile de erori.

IBM Project CodeNet

CodeNet nu este singurul set de date pentru antrenarea modelelor de învățare automată pentru sarcini de programare. Dar există mai multe caracteristici care îl deosebesc. Prima este dimensiunea totală a setului de date, inclusiv numărul de eșantioane și diversitatea limbilor. Dar poate mai importante sunt metadatele care vin cu mostrele de cod. Adnotările bogate adăugate la CodeNet îl fac potrivit pentru un set divers de sarcini, spre deosebire de alte seturi de date de codare care sunt specializate în sarcini specifice de programare.

Există mai multe moduri de a utiliza CodeNet. Una dintre ele este traducerea limbilor. Deoarece fiecare sarcină de codificare din setul de date conține reprezentări ale diferitelor limbaje de programare, oamenii de știință din date o pot folosi pentru a construi modele de învățare automată care traduc codul dintr-o limbă în alta. Acest lucru poate fi convenabil pentru organizațiile care doresc să port codul vechi în limbi noi și să le facă accesibile noilor generații de programatori.

Citeste si:

Inscrie-te
Notifică despre
oaspete

2 Comentarii
Cele mai noi
Cei mai mari Cel mai popular
Recenzii încorporate
Vezi toate comentariile
Victor
Victor
2 ani în urmă

Tradițiile și ereditatea ar trebui să joace împreună cu o gândire diferită, cu cele mai tinere generații de algoritmi neuronali și metode ML de a pune probleme, îmbunătățindu-se reciproc reciproc

Aasd
Aasd
2 ani în urmă

În timp, nivelul programatorilor va scădea și mai mult (comparativ cu acum). Adică se va putea scrie cod oblic, strâmb în „limbajul rahat”. Și apoi mașina se va optimiza și va fi posibil să obțineți codul optimizat al unui programator profesionist de asamblare (sau chiar mai bine).