Trenutno opažamo porast različnih rešitev, ki se začenjajo ponujati v zvezi z ustvarjanjem kode z uporabo umetne inteligence (UI), področje obdelave naravnega jezika (NLP) pa je utrlo pot vrsti UI za ustvarjanje kode v različnih programskih jezikih.
Med njimi lahko izpostavimo GitHub Copilot, AlphaCode in Codex, zdaj pa lahko dodamo še novo rešitev raziskovalcev na Univerzi Carnegie Mellon, ki so nedavno predstavili »PolyCoder«, generator kode, ki temelji na jezikovnem modelu OpenAI GPT-2 in je bil usposobljen na 249 GB kodni bazi podatkov v 12 programskih jezikih.
O PolyCoderju
Avtorji PolyCoderja trdijo, da je sposoben pisati C z večjo natančnostjo kot kateri koli znani model, vključno s Codexom.
Umetna inteligenca, ki ustvarja kodo in lahko iz ukaznega poziva piše izvorno kodo v različnih programskih jezikih , obljublja zmanjšanje stroškov razvoja programske opreme, hkrati pa razvijalcem omogoča, da se osredotočijo na ustvarjalne in manj ponavljajoče se naloge.
PolyCoder je bil usposobljen z uporabo podatkov iz več repozitorijev GitHub, ki pokrivajo 12 priljubljenih programskih jezikov: C, C#, C++, Go, Java, JavaScript, PHP, Python, Ruby, Rust, Scala in TypeScript.
Nefiltriran nabor podatkov je obsegal 631 GB podatkov in 38,9 milijona datotek. Ekipa je povedala, da so se za učenje PolyCoderja z GPT-2 odločili zaradi proračunskih omejitev. PolyCoder je na voljo kot odprtokodna programska oprema in raziskovalci upajo, da bo lahko demokratiziral raziskave na področju ustvarjanja kode z umetno inteligenco, ki so ga doslej prevladovala dobro financirana podjetja.
Raziskovalci menijo, da PolyCoder pri ustvarjanju kode v jeziku C deluje bolje kot drugi modeli. Vendar pa ga Codex v drugih jezikih dosledno prekaša. "PolyCoder bistveno prekaša Codex in vse druge modele v jeziku C."
»Ko je Copilot lani poleti prišel na GitHub, je postalo jasno, da so ti zelo veliki jezikovni kodni modeli lahko zelo uporabni pri pomoči razvijalcem in povečanju njihove produktivnosti. Toda noben model niti blizu te lestvice ni bil javno dostopen," so raziskovalci povedali VentureBeatu po elektronski pošti. »Torej [PolyCoder] je začel tako, da je Vincent poskušal ugotoviti, kateri je največji model, ki bi ga bilo mogoče usposobiti na našem laboratorijskem strežniku, ki je na koncu znašal 2700 milijarde parametrov ... in ta model je bil ligo pred drugimi kodno usmerjenimi modeli, ki smo jih imeli . so bili takrat javno dostopni."
» Če primerjamo samo odprtokodne modele, PolyCoder v jezikih C, JavaScript, Rust, Scala in TypeScript prekaša podobno velik model GPT-Neo 2.7B,« ugotavljajo. »V ostalih 11 jezikih so vsi drugi odprtokodni modeli, vključno z našim, bistveno slabši (večja zmedenost) kot Codex,« so dodali raziskovalci CMU.
S tem je PolyCoder pozicioniran kot zelo zanimiva rešitev, saj so raziskovalni laboratoriji, kot sta OpenAI Elona Muska in Alphabetov DeepMind, razvili zmogljivo umetno inteligenco, ki generira kodo, mnogi najuspešnejši sistemi niso na voljo v odprtokodni različici. Podjetja z nizkimi dohodki do nje nimajo dostopa in ta situacija omejuje njihove raziskave na tem področju.
Na primer, podatki o usposabljanju iz kodeksa OpenAI, ki poganja GitHubovo funkcijo Copilot, niso bili objavljeni, kar raziskovalcem preprečuje, da bi izboljšali model AI ali preučili nekatere njegove vidike, kot je interoperabilnost.
"Velika tehnološka podjetja svojih modelov ne objavljajo javno, kar resnično ovira znanstvene raziskave in demokratizacijo tako velikih jezikovnih kodnih modelov," so povedali raziskovalci. »Do neke mere upamo, da bodo naša odprtokodna prizadevanja prepričala druge, da storijo enako. Toda velika slika je, da bi morala biti skupnost sposobna sama usposobiti te modele. Naš model je premaknil mejo tega, kar lahko trenirate na enem strežniku – vse, kar je večje, zahteva nabor strežnikov, kar dramatično poveča stroške.”
Nenazadnje, če vas zanima več o tem , lahko podrobnosti najdete na naslednji povezavi.