Jedinica IBM Istraživanje umjetne inteligencije (AI) predstavilo je skup podataka od 14 milijuna uzoraka za razvoj modela strojnog učenja koji mogu pomoći u programskim zadacima. Skup podataka pod nazivom Projekt CodeNet, ime je dobio po ImageNetu, poznatom spremištu slika koje je revolucioniralo računalni vid i duboko učenje.
Programeri otkrivaju nove probleme i istražuju različita rješenja, koristeći mnoge mehanizme svjesnog i podsvjesnog mišljenja. Većina algoritama strojnog učenja zahtijeva dobro definirane zadatke i velike količine označenih podataka za razvoj modela koji mogu riješiti iste probleme.
Stručna zajednica uložila je mnogo truda u stvaranje skupova podataka i mjerila za razvoj i procjenu sustava AI-for-code. No, s obzirom na kreativnu i otvorenu prirodu razvoja softvera, vrlo je teško stvoriti savršen skup podataka za programiranje. S projektom CodeNet IBM-ovi istraživači pokušali su stvoriti višenamjenski skup podataka koji se može koristiti za obuku modela strojnog učenja za različite zadatke. Tvorci CodeNeta opisuju ga kao "vrlo velik, raznolik i visokokvalitetan skup podataka za ubrzavanje algoritamskog napretka u AI za kod."
Skup podataka sadrži 14 milijuna primjera od 500 milijuna linija koda napisanih u 55 različitih programskih jezika. Uzorci koda dobiveni su iz gotovo 4000 poslanih zadataka objavljenih na AIZU i AtCoder online platformama za kodiranje. Primjeri kodova sadrže točne i netočne odgovore na zadane zadatke.
Također zanimljivo:
- Hubble je ušao u siguran način rada zbog softverske pogreške u on-board računalu
- Još jedna nevolja za CD Projekt: Hakeri prijete da će izvorne kodove igara procuriti na mrežu
Jedna od ključnih značajki CodeNeta je količina komentara dodanih primjerima. Svaki od zadataka kodiranja uključenih u skup podataka ima tekstualni opis, kao i CPU vrijeme i ograničenja memorije. Svako podnošenje koda sadrži desetak informacija, uključujući jezik, datum podnošenja, veličinu, vrijeme izvršenja, prihvaćanje i vrste pogrešaka. IBM-ovi istraživači također su uložili velike napore kako bi osigurali da skup podataka bude uravnotežen po raznim parametrima, uključujući programski jezik, prihvatljivost i vrste grešaka.
CodeNet nije jedini skup podataka za obuku modela strojnog učenja na programskim zadacima. Ali postoji nekoliko karakteristika koje ga izdvajaju. Prvi je sama veličina skupa podataka, uključujući broj uzoraka i raznolikost jezika. Ali možda su važniji metapodaci koji dolaze s uzorcima koda. Bogate bilješke dodane u CodeNet čine ga prikladnim za raznolik skup zadataka, za razliku od drugih skupova podataka kodiranja koji su specijalizirani za specifične zadatke programiranja.
Ovo je pametno.
S GPT-3 izradio sam generator izgleda u kojem samo opisujete bilo koji izgled koji želite i on generira JSX kôd za vas.
ŠTO slikatwitter.com/w8JkrZO4lk
- Sharif Shameem (@sharifshameem) Srpanj 13, 2020
Postoji nekoliko načina za korištenje CodeNeta. Jedan od njih je prijevod jezika. Budući da svaki zadatak kodiranja u skupu podataka sadrži prikaze različitih programskih jezika, znanstvenici koji se bave podacima mogu ga koristiti za izradu modela strojnog učenja koji prevode kod s jednog jezika na drugi. To može biti zgodno za organizacije koje žele prenijeti stari kod na nove jezike i učiniti ih dostupnima novim generacijama programera.
Pročitajte također:
- IBM je predstavio prvu 2nm tehnologiju proizvodnje čipova na svijetu
- IBM razvija umjetnu inteligenciju za izum novih antibiotika
Tradicija i naslijeđe trebaju se poigrati s drugačijim razmišljanjem, s najmlađim generacijama neuronskih algoritama i ML-metoda postavljanja problema, međusobno se unapređujući
S vremenom će se razina programera još više smanjiti (u odnosu na sada). Odnosno, bit će moguće pisati kosi, krivi kod na "sranom jeziku". A tada će se stroj optimizirati i bit će moguće dobiti optimizirani kod profesionalnog asemblerskog programera (ili čak i boljeg).