Meta heeft Code Llama uitgebracht, een set van AI-modellen die geschikt zijn voor assistentie bij programmeren. Het is gebaseerd op het razend populaire open-source model Llama 2. Meta komt met imposante resultaten uit de AI-benchmarks terug: is Code Llama de beste codeerhulp?
In de wetenschappelijke paper spreken de onderzoekers van Meta over de rappe evolutie die LLM’s (large language models) hebben doorgemaakt. Een chatbot als ChatGPT kan verbluffend geloofwaardige antwoorden geven op allerlei vragen. Wat daar echter ontbreekt, is accuratesse: ondanks het reusachtige aantal parameters (naar verluidt ruim anderhalf biljoen) kan een LLM veel fouten maken. Een compacter AI-model dat theoretisch minder geavanceerd is, kan met hoogwaardige datasets beter scoren voor specifieke taken.
Inmiddels is Meta’s open-source Llama 2-model erg populair onder ontwikkelaars. Andere bedrijven halen het meermaals aan als fundament voor allerlei AI-doeleinden. Zo kunnen organisaties aan de slag met Llama 2 bij IBM en VMware om zelf een model te trainen met eigen bedrijfsdata.
Code Llama is dus zelf een doorontwikkeling van het Llama 2-model, en is specifiek getraind op programmeercode en de bijbehorende documentatie. Afhankelijk van de specifieke variant kan het computertaal aanvullen, genereren of uitleggen op basis van gebruikers-input. Het mag net als Llama 2 gebruikt worden: dus ook voor commerciële doeleinden.
Drie versies, drie formaten
Er zijn drie versies van Code Llama: het foundation model wordt aangeboden met 7, 13 of 34 miljard parameters. Hierdoor kunnen gebruikers kiezen welk formaat men kan en wil draaien, want hoe groter een model, hoe hoger de hardware-vereisten. De kleine modellen hebben dan wel weer een latency-voordeel: tijdsensitieve taken kunnen daar dus beter door uitgevoerd worden. Er is eveneens Code Llama – Python, dat zich specialiseert in de Python-taal. Meta legt uit dat dit de populairste taal is voor codegeneratie-benchmarks. Een gespecialiseerde tool levert wat dat betreft de beste resultaten. Code Llama – Instruct is bedoeld om code te genereren op basis van en met uitleg in menselijke taal. Het zou code produceren die veiliger is dan wat ChatGPT aanlevert. Dat is maar goed ook, want bij die chatbot waren de resultaten wat programmeren betreft zorgwekkend.
Overigens raadt Meta niet aan dat Code Llama voor andere doeleinden wordt ingezet dan programmeren. De dataset waar het op getraind is, zou ervoor zorgen dat het slecht uit de voeten kan met andere taken. Het betekent wel dat de Code Llama-varianten imposante resultaten scoren in benchmarks. Dit zal mede te maken hebben met de grote context window van de LLM: 10.000. Een token is meestal een paar cijfers of letters die het model gebruikt om zich te informeren over de input. Hoe meer tokens, hoe groter de context window en (in theorie) hoe beter toegespitst de antwoorden zijn.
HumanEval, MBPP (Mostly Basic Python Programming) en Multilingual Human Eval gelden als populaire benchmarks waar andere LLM’s eveneens mee getest zijn. Tegenover GPT-4 moet zelfs de grootste Code Llama – Python-versie het afleggen: daar waar het model van OpenAI 67 procent accuraat is, krijgt Meta’s beste LLM 53,7 procent. Wel scoort een Code Llama-model het hoogst bij de andere twee benchmarks.
Gebruik: debugging, educatief
Wat praktische doeleinden betreft stelt Meta dat Code Llama geschikt is voor debugging, het aanvullen van programmeercode, het genereren daarvan en onderwijs. Het helpt programmeurs dus met suggesties en correcties, die het in eenvoudige taal kan uitleggen. Het bedrijf heeft een Responsible Use Guide opgesteld voor het verder ontwikkelen van de LLM voor nog specifiekere toepassingen.
Lees ook: Meta’s Llama 2 AI-modellen beschikbaar via Amazon SageMaker JumpStart