Pievienojieties mūsu ikdienas un nedēļas biļeteniem, lai iegūtu jaunākos atjauninājumus un ekskluzīvu saturu par nozares vadošo AI pārklājumu. Uzziniet vairāk
Kodēšana ar AI modeļu palīdzību turpina iegūt popularitāti, wager daudzi ir uzsvēruši Jautājumi, kas rodas, kad izstrādātāji paļaujas uz kodēšanas palīgiem.
Tomēr pētnieki no MITVerdzība Makgila universitāteVerdzība Eth CīriheVerdzība Džona Hopkinsa universitāteVerdzība Jeal un Mila-quebec Mākslīgā intelekta institūts ir izstrādājuši jaunu metodi, lai nodrošinātu, ka AI ģenerētie kodi ir precīzāki un noderīgāki. Šī metode aptver dažādas programmēšanas valodas un uzdod lielajam valodas modelim (LLM) ievērot katras valodas noteikumus.
Grupa atklāja, ka, pielāgojot jaunas paraugu ņemšanas metodes, AI modeļus var vadīt, lai ievērotu programmēšanas valodas noteikumus un pat uzlabotu mazu valodu modeļu (SLM) veiktspēju, kurus parasti izmanto kodu ģenerēšanai, pārsniedzot lielo valodu modeļus.
Par papīrpapīrsPētnieki izmantoja secīgu Monte Carlo (SMC), lai “risinātu vairākas izaicinošas semantiskas parsēšanas problēmas, vadot ģenerēšanu ar pieaugošu statisko un dinamisko analīzi”. Secīgais Monte Carlo attiecas uz algoritmu saimi, kas palīdz izdomāt risinājumus problēmu filtrēšanai.
João Loula, papīra līdzdalībnieks, sacīja intervijā ar MIT pilsētiņas papīrs ka metode “varētu uzlabot programmēšanas palīgus, ar AI darbināmu datu analīzi un zinātniskiem atklāšanas rīkiem”. Tas var arī samazināt skaitļošanas izmaksas un būt efektīvāks nekā atkārtotas izmantošanas metodes.
Pētnieki atzīmēja, ka AI ģenerēts kods var būt spēcīgs, taču tas bieži var izraisīt arī kodu, kas neņem vērā programmēšanas valodu semantiskos noteikumus. Citas metodes, kā to novērst, var izkropļot modeļus vai ir pārāk laikietilpīgas.
Viņu metode liek LLM ievērot programmēšanas valodas noteikumus, izmetot koda izvadi, kas, iespējams, nedarbosies procesa sākumā, un “piešķiriet pūles izejām, kas, visticamāk, ir derīgas un precīzas”.
SMC pielāgošana kodu ģenerēšanai
Pētnieki izstrādāja arhitektūru, kas SMC rada kodēšanas ģenerēšanu “dažādos sintaktiskos un semantiskos ierobežojumos”.
“Atšķirībā no daudziem iepriekšējiem ierobežotās dekodēšanas ietvariem, mūsu algoritms var integrēt ierobežojumus, kurus nevar pakāpeniski novērtēt visā marķiera vārdu krājumā, kā arī ierobežojumus, kurus paaudzes laikā var novērtēt tikai ar neregulāriem intervāliem,” pētnieki sacīja rakstā.
SMC paraugu ņemšanas galvenās iezīmes modeļa ģenerēšanai ietver priekšlikuma sadalījumu, kurā paraugu ņemšanu paņemšanas paraugu ņemšana vada ar lētiem ierobežojumiem, svarīgiem svariem, kas labo aizspriedumus, un atkārtota paraugu ņemšana, kas pārdalītājiem aprēķina centienus, lai panāktu daļēju paaudzes.
Pētnieki atzīmēja, ka, lai arī SMC var virzīt modeļus pareizākam un noderīgākam kodu, viņi atzina, ka metodei var būt dažas problēmas.
“Lai arī paraugu ņemšana pievēršas vairākiem vietējo dekodēšanas trūkumiem, tā arī cieš no būtiska vājuma: svara korekcijas un dārgie potenciāli nav integrēti, kamēr no priekšlikuma ir ģenerēta pilnīga secība. Tā ir kritiska informācija par to, vai secība var apmierināt ierobežojumu, bieži ir pieejama daudz agrāk un to var izmantot, lai izvairītos no lielas nederīgas aprēķināšanas summas,” viņi.
Modeļa pārbaude
Lai pierādītu savu teoriju, Loula un viņa komanda veica eksperimentus, lai noskaidrotu, vai SMC izmantošana, lai inženierijas būtu precīzāks kods.
Šie eksperimenti bija:
- Python koda ģenerēšana datu zinātnes uzdevumos, kas izmantoja LLAMA 3 70B, lai kodētu līnijas līniju un pārbaudītu agrīnās versijas
- Teksta-SQL paaudze ar LLAMA 3 8B-instruct
- Mērķa secinājums plānošanas uzdevumos paredzēt aģenta mērķa stāvokli, kā arī izmantoja LLAMA 3 8B
- Molekulārā sintēze zāļu atklāšanai
Viņi atklāja, ka SMC izmantošana uzlaboja mazo valodu modeļus, uzlaboja precizitāti un izturību un pārspēja lielākus modeļus.
Kāpēc tas ir svarīgi
AI modeļi ir likuši inženieriem un citiem kodētājiem darboties ātrāk un efektīvāk. Tas arī rada pilnīgi jauna veida programmatūras inženieri: The Vibe Coder. Guess ir bijušas bažas par koda kvalitāti, atbalsta trūkumu sarežģītākai kodēšanai un aprēķināšanas izmaksām vienkāršai kodu ģenerēšanai.
Jaunas metodes, piemēram, SMC pielāgošana, var padarīt AI darbināmu kodēšanu noderīgāku un ļautu inženieriem vairāk uzticēties modeļu ģenerētajam kodam.
Citi uzņēmumi ir izpētījuši veidus, kā uzlabot AI ģenerēto kodu. Kopā ai un Aģents Atbrīvots Deepcoder-14b, kas izmanto mazāk parametru. Google uzlaboja arī tā koda palīglīdzekļu funkciju, lai palīdzētu uzlabot koda kvalitāti.
avots