Jeg testet Metas Code Lama med 3 AI-kodingsutfordringer som ChatGPT klarte – og det var ikke bra

0
14
høyde mot treet L6 Bakgrunn Rocter/Getty Images

For noen uker siden, Meta CEO Mark Zuckerberg kunngjorde via Facebook at selskapet hans åpner for sin store språkmodell (LLM) Code Llama, som er en kunstig intelligens (AI)-motor som ligner på GPT-3.5 og GPT-4 i ChatGPT. 

Zuck annonserte tre interessante ting om denne LLM: den er åpen kildekode, den er designet for å hjelpe med å skrive og redigere kode, og modellen har 70B parametere. Håpet er at utviklere kan mate modellen med mer utfordrende problemer, og motoren vil være mer nøyaktig når den svarer.

Også: Hvorfor åpen kildekode generative AI-modeller fortsatt er et skritt bak GPT- 4

Problemet med åpen kildekode er interessant. Det er en tilnærming som innebærer at du kan laste ned hele greia, installere den på din egen server og bruke modellen til å få programmeringshjelp uten å ta risikoen for at Overlords of Facebook vil samle opp koden din for trening eller andre uhyggelige formål.

Å gjøre dette arbeidet innebærer å sette opp en Linux-server og gjøre alle slags bøylehopp. Det viser seg imidlertid at spesialistene hos Hugging Face allerede har implementert Code Llama 70B LLM i HuggingChat-grensesnittet. Så det er det jeg skal teste neste gang.

Komme i gang med Code Llama

For å komme i gang må du opprette en gratis konto på Hugging Face. Hvis du allerede har en (som jeg har), kan du bruke 70B Code Llama LLM med den kontoen.

Også: GitHub: AI hjelper utviklere med å skrive sikrere kode, men du må få det grunnleggende riktig

En ting som er viktig å merke seg er at mens du kan installere Code Llama på din egen server og dermed ikke dele noe av koden din, historien er helt annerledes på Hugging Face. Denne tjenesten sier at alt du skriver inn kan bli delt med modellforfatterne med mindre du slår av det alternativet i innstillingene:

advarsel Skjermbilde av David Gewirtz/ZDNET

Når du logger på HuggingChat, vil du bli presentert med en tom chat-skjerm. Som du kan se nedenfor, er min nåværende LLM openchat/openchat-3.5-0106, men jeg skal endre den til Code Llama – og jeg skal vise deg hvordan.

Du endrer din nåværende modell i innstillingene, som du kan komme til ved å trykke på tannhjulikonet:

< img src="https://www.zdnet.com/article/" width="1280" height="954.1061755146262" fetchpriority="low" alt="gear-ikon" height="0" width="0" tittel ="Jeg testet Metas Code Lama med 3 AI-kodingsutfordringer som ChatGPT klarte - og det var ikke bra" />Skjermbilde av David Gewirtz/ZDNET

Når du er i innstillingene, klikk (ved 1) codellama/CodeLlama-70b-Instruct-hf til venstre, bekreft (ved 2) at Code Llama LLM er valgt, og klikk deretter Aktiver (ved 3):

innstillinger Skjermbilde av David Gewirtz/ZDNET

Når du nå snakker med chat-grensesnittet, vil du bruke Code Llama-modellen, som bekreftet øverst i chat-grensesnittet:

topSkjermbilde av David Gewirtz/ZDNET

For å teste bestemte jeg meg for å hente ledetekster fra en tidligere kodetestkjøring jeg utførte med Bard (nå Gemini), og jeg kjørte de samme testene i HuggingChat.

Test 1: Skrive en WordPress-plugin

Min første test var opprettelsen av en WordPress-plugin. ChatGPT presterte ganske bra på denne oppgaven. Bard var svak, men prøvde sitt beste. Men hva med Code Llama? Vel, la oss se. Her er ledeteksten:

QUO Skriv en PHP 8-kompatibel WordPress-plugin som gir et tekstinntastingsfelt der en liste over linjer kan limes inn i det og en knapp, som når den trykkes, randomiserer linjene i listen og presenterer resultatene i et andre tekstinntastingsfelt uten tomme linjer og sørger for at ikke to identiske oppføringer er ved siden av hverandre (med mindre det ikke er noe annet alternativ)…med antall linjer som sendes inn og antall linjer i resultatet identisk med hverandre. Under det første feltet, vis tekst som sier “Linje for å randomisere: ” med antall ikke-tomme linjer i kildefeltet. Under det andre feltet, vis tekst som sier “Linjer som har blitt randomisert: ” med antall ikke-tomme linjer i destinasjonsfeltet.

Og her er resultatene, slik de er:

aint-right Skjermbilde av David Gewirtz/ZDNET

Det er ikke riktig på så mange nivåer. For det første laget ikke Code Llama plugin-overskriften, et veldig enkelt sett med felter som kreves av alle plugins. Deretter genererte den kode som programmeringseditorens kodeformater ikke kunne tolke, noe som indikerer at det mangler elementer i koden. 

Koden kan dessuten ikke testes. Dette er en feil.

Test 2: Omskriving av en strengfunksjon

For denne testen brukte jeg en strengomskrivingsforespørsel jeg en gang ga ChatGPT. Jeg ønsket å fikse en feil i koden min som bare tillot heltall når den skulle ha tatt høyde for dollar og cent (med andre ord et antall sifre, muligens etterfulgt av en punktum, og så, hvis det er en punktum, to flere sifre).

Jeg matet inn den samme ledeteksten som jeg brukte i min forrige artikkel og fikk tilbake dette svaret:

regex Skjermbilde av David Gewirtz/ZDNET

Denne koden fungerer og jeg er fornøyd med den.

Test 3: Finner en feil jeg ikke fant 

Igjen brukte jeg en test jeg skrev om i en tidligere artikkel. Jeg vil henvise deg til den originale artikkelen hvis du vil ha detaljene om problemet jeg prøvde ut på Code Llama. Kodeproblemet er langt og ganske kronglete, og det er grunnen til at jeg ikke kunne finne ut hva som var galt.

ChatGPT løste problemet umiddelbart; Det gjorde ikke Bard. Bard mislyktes fordi den så på overflaten av problemet, ikke hvordan den generelle koden var konstruert og måtte kjøres. En analogi er å gå til legen med hodepine. En lege kan fortelle deg å ta to aspiriner og ikke ringe ham om morgenen. Den andre legen kan prøve å finne årsaken til hodepinen og hjelpe til med å løse det.

Også: Hvordan bruke ChatGPT til å skrive kode

ChatGPT nullet inn på rotårsaken, og jeg klarte å fikse feilen. Bard så bare på symptomene og kom ikke med en løsning.

Dessverre gjorde Code Llama nøyaktig det samme som Bard, og så bare på overflaten av problemet. AI kom med anbefalinger, men disse anbefalingene forbedret ikke situasjonen.

Og vinneren er…

Testpakken min er langt fra omfattende. Men hvis Code Llama mislykkes på to av de tre testene som ikke en gang bremset ChatGPT, ser det ut til at AI ikke er klar for beste sendetid.

Den eneste grunnen til at du kanskje vil bruke Code Llama over ChatGPT er hvis du installerer den på din egen server, fordi koden din ikke blir delt med Meta. Men hva hjelper personvernet hvis tingen ikke gir riktige svar?

Hvis ChatGPT ikke hadde vært så bra, ville jeg sannsynligvis gitt noen poeng til Code Llama. Men vi vet hva som er mulig med ChatGPT – og Code Llama er langt fra det nivået. Kort sagt, det ser ut som Facebook må samle det opp og gjøre noen forbedringer.

Også: Implementere AI i programvareutvikling? Her er alt du trenger å vite

For å være ærlig, forventet jeg bedre, og jeg er litt skuffet. Men hvis det er én ting tekniske spaltister blir vant til, så er det å bli litt skuffet over mange av produktene og prosjektene vi ser på. Jeg tror det er derfor vi blir så begeistret når noe skiller seg ut og rocker verden vår. Og Code Llama, dessverre, er ikke en av dem.

Har du prøvd noen av AI-ene for kodehjelp? Hvilke har du brukt? Hvordan har de fungert? Gi oss beskjed i kommentarene nedenfor.

Du kan følge mine daglige prosjektoppdateringer på sosiale medier. Sørg for å abonnere på mitt ukentlige oppdateringsnyhetsbrev på Substack, og følg meg på Twitter på @DavidGewirtz, på Facebook på Facebook.com/DavidGewirtz, på Instagram på Instagram.com/DavidGewirtz og på YouTube på YouTube.com/DavidGewirtzTV.< /p>