Meta Platforms, già nota come Facebook, ha presentato il 24 agosto Code Llama, il suo nuovo modello generativo di linguaggio AI di grandi dimensioni (LLM) progettato specificamente per la programmazione; come il più generico LlaMa 2 è open source e ha una licenza per uso commerciale.
Code Llama è “progettato per supportare gli ingegneri del software in tutti i settori, tra cui la ricerca, l’industria, i progetti open source, le ONG e le aziende”, spiega Meta nel suo post sul blog che annuncia i modelli.
Code Llama, un insidioso rivale per Codex di OpenAI
Lo strumento diventa immediatamente un importante rivale del Codex di OpenAI (alimentato da un GPT-3 modificato), del Codex powered Github Copilot di Microsoft e ad altri assistenti LLM specifici per la codifica, come Overflow di Stack OverflowAI.
In un post sul blog, Meta spiega che Code LlaMa è una versione “specializzata in codice” di LlaMa 2, in grado di generare codice, completare codice, creare note e documentazione per gli sviluppatori, essere utilizzata per il debug e altro ancora. Supporta Python, C++, Java, PHP, Typescript (Javascript), C# e Bash. È possibile leggere l’intero documento di ricerca di Meta sulle sue prestazioni qui, che descrive Code LlaMA come una “famiglia” di LLM per il codice.
Fonte: Meta AI
La “famiglia” di Code Llama per il codice
Partendo da questa analogia, la famiglia comprende tre membri principali, tre modelli da 7, 13 e 34 miliardi di parametri, ciascuno addestrato su 500 miliardi di token. I modelli più piccoli sono progettati per essere eseguiti su un minor numero di GPU (il modello da 7 miliardi può essere eseguito su una sola), un attributo vantaggioso data la presunta scarsità di questo pezzo di hardware critico al momento, e Meta afferma che entrambi sono più veloci del suo modello grande da 34 miliardi.
Tutti i modelli supportano fino a 100.000 token per le loro richieste. Ciò significa che “gli utenti possono fornire al modello un contesto più ampio dalla loro base di codice per rendere le generazioni più rilevanti”, secondo Meta.
Fonte: Meta AI
La famiglia estesa di Llama comprende anche due modelli perfezionati, uno per Python e l’altro per Instruct, quest’ultimo “perfezionato per generare risposte utili e sicure in linguaggio naturale” e che quindi, secondo Meta, dovrebbe essere usato quando si genera nuovo codice da richieste in linguaggio naturale. In altre parole, restituisce risposte più sicure, più attese e forse meno creative.
Fonte: Meta AI
Tutti i modelli sono addestrati su sequenze di token 16k e mostrano miglioramenti sugli input con un massimo di 100k token. Code Llama raggiunge prestazioni all’avanguardia tra i modelli open su diversi benchmark di codice, con punteggi fino al 53% e al 55% rispettivamente su HumanEval e MBPP. In particolare, Code Llama – Python 7B supera Llama 2 70B su HumanEval e MBPP, e tutti i modelli superano ogni altro modello disponibile pubblicamente su MultiPL-E.
Meta AI rilascia Code Llama sotto una licenza permissiva che consente sia la ricerca che l’uso commerciale.
Si può scaricare Code LlamA da Meta qui e trovare il codice sorgente su Github qui.