AI muutmine kodeerimisvõistluste probleemide lahendamisel paremaks

AI muutmine kodeerimisvõistluste probleemide lahendamisel paremaks

Intervjuu Kaubanduslike suurte keelte mudelite võimet lahendada konkureerivaid programmeerimisprobleeme saab märkimisväärselt suurendada, kui juhtida selle protsesse hoolikalt läbi nutika ja kiire inseneri.

Selle demonstreerimiseks ehitas Iisraelis asuv Codium AI AlphaCodium ja vabastatud tarkvara GitHubis sel kuul. AlphaCodium ei ole iseenesest suur keelemudel. Selle asemel on see meetod, mis parandab generatiivsete AI-tööriistade, nagu GPT-4, probleemide lahendamise võimeid, kasutades seda, mida tegevjuht Itamar Friedman nimetab "vootehnoloogiaks".

Esiteks suunatakse programmeerimise küsimus aluseks olevale suurele keelemudelile ning sellel palutakse probleemi kirjeldada ja kokkuvõte teha. See teave juhendab seejärel, kuidas see peaks probleemi lahendama hakkama. AlphaCodium määrab lahenduse leidmisel asjad, nagu sisendid ja väljundid. Kõik see on määratletud loomulikus keeles.

Seejärel hakkab mudel genereerima koodi, mis ühtib äsja kirjeldatud spetsifikatsioonidega. Programmeerimisvõistlused, kus kandidaatidel palutakse spetsifikatsiooni kodeerida, pakuvad tavaliselt teste, mis näitavad, mida skript peaks antud sisendi jaoks väljastama. AlphaCodium genereerib rohkem neid testjuhtumeid ja seejärel käivitab võimalikud lahendused, et kontrollida, kas kood töötab ootuspäraselt.

Kui see ei suuda ühtida üheski testis määratletud väljundiga, genereerib mudel erinevaid lahendusi, kuni need läbivad kõik testid või see ebaõnnestub. Vead võivad tekkida siis, kui selle koodi ei kompileerita või see on lihtsalt vale.

Alloleval diagrammil näete vootehnoloogia protsessi erinevaid etappe. See on suures osas jagatud eeltöötlusfaasiks, kus süsteem analüüsib probleemi loomulikus keeles, ja koodi iteratsiooni etapiks, kus see käivitab võimalikud lahendused avalike ja tehisintellekti loodud testide vastu.

alfakodium

Kõik üldised sammud, mis suunavad AlphaCodiumi probleemide lahendamiseks koodi genereerima

"Me ei võta probleemi, vaid läheme mudeli juurde ja ütleme talle: "Hei, palun genereerige lõplik lahendus," ütles Friedman. Register. "Palume mudelil see probleem täppides uuesti määratleda." Selle lihtsustamine ja asjade tükkideks jagamine muudab mudeli jaoks lihtsamaks hiljem koodi genereerimise algoritmi erinevate osade jaoks.

Põhimõtteliselt on vootehnoloogia protseduur, mis juhib mudeli probleemide lahendamise protsessi, jagades selle täpselt määratletud sammudeks. Meile öeldakse, et kui palutakse sellel "jagada loodud kood väikesteks alamfunktsioonideks, millel on tähenduslikud nimed ja funktsionaalsus", toob see kaasa vähem vigu ning muudab koodi testimise ja parandamise lihtsamaks.

"Põhimõtteliselt kulutasime 95 protsenti oma ajast voolutehnoloogiale ja ainult 5 protsenti kiirele projekteerimisele ning me ei muutnud viipasid iga [etapi] jaoks," lisas Friedman.

Codiumi insenerid testisid oma mudeli jõudlust sadade probleemidega, mida kasutati kaks aastat tagasi Google DeepMindi koostatud CodeForcesi andmekogumi kontrollimise ja testimise osades. Nad väidavad, et AlphaCodium oli kodeerimisprobleemide lahendamisel parem kui Google DeepMindi AlphaCode ja AlphaCode2 mudelid.

ArXiv-is esitatud tulemustes paber [PDF], AlphaCodium suutis õigesti vastata 44 protsendile küsimustest, võrreldes AlphaCode'i 24 protsendiga, genereerides samal ajal vaid viis lahendust, võrreldes AlphaCode'i kümne valitud lahendusega 107 valideerimisprobleemi jaoks. Huvitaval kombel vähenes vahe, kui tegemist oli 165 testiprobleemiga, mille AlphaCodium lahendas 29 protsenti, võrreldes AlphaCode'i 28 protsendiga.

AlphaCode valib kümnete tuhandete või sadade tuhandete võimalike skriptide hulgast välja kümme kõige lootustandvamat lahendust, muutes selle käitamise arvutuslikult intensiivseks.

"Keskendusime palju rohkem kogu testimise voolule, " ütles Friedman. "[Google'i] jaoks tegid nad põlvkonna kallal nii palju tööd. Nad püüavad luua sadu muid võimalusi ja meie loome väga vähe lahendusi, kuid testime neid väga hästi, et koodi täiustada.

Ta lisas, et AlphaCodium on pisut parem kui Google DeepMindi uusim AlphaCode2 mudel, mis on 10,000 XNUMX korda tõhusam kui tema eelkäija AlphaCode.

alphacodium_2

Kuidas AlphaCodium on täpsuse ja tõhususe poolest võrreldav teiste tipptasemel mudelitega

Friedman ütles, et on kindel, et AlphaCodiumi jõudlus ei ole tingitud andmete lekkest, mille aluseks olevat mudelit on samade probleemidega koolitatud ja testitud. GPT-4 versiooni, mis toidab AlphaCodiumit, koolitati kuni 2021. aasta septembrini Internetist väljakraabitud teksti põhjal, samas kui probleemid, mille puhul oma süsteemi testiti, võeti ülalmainitud CodeForcesi andmekogust, mis avaldati palju hiljem.

Parem õunte ja õunte võrdlus, mis hindab vootehnoloogia protsessi, on aga GPT-4 võime lahendada samu küsimusi nii AlphaCodiumiga kui ka ilma selleta. Tavaline vana GPT-4 suutis õigesti vastata ainult vastavalt 19 ja 12 protsendile valideerimis- ja testikomplektide probleemidest, samas kui AlphaCodiumiga töötava variandi puhul on need 44 ja 29 protsenti.

Lühidalt öeldes näib, et hoolika konveieri rakendamine, mis genereerib lisaandmeid koodi genereerimise suunamiseks ja testimisprotsessi täiustamiseks, võib olla tõhusam kui suure keelemudeli nullist väljaõpetamine.

Codium andis hiljuti välja uue tööriista Pythoni arendajate toetamiseks, kes saavad nüüd helistada AlphaCodiumile, et lahendada otse oma IDE kodeerimisprobleem. Saate sellega mängida siin. ®

Ajatempel:

Veel alates Register