Home Meta svela Code Llama, il modello di AI che genera codice dai...

Meta svela Code Llama, il modello di AI che genera codice dai prompt

Meta ha rilasciato Code Llama, un large language model (LLM) in grado di generare codice partendo da semplici prompt testuali in linguaggio naturale.

Code Llama – afferma Meta – rappresenta lo stato dell’arte degli LLM disponibili pubblicamente sui task relativi al codice e ha il potenziale per rendere i flussi di lavoro più veloci ed efficienti per gli attuali sviluppatori, così come per abbassare la barriera d’ingresso per le persone che stanno imparando a programmare.

Code Llama può dunque essere utilizzato sia come strumento formativo che di produttività, per aiutare i programmatori a scrivere software più robusto e ben documentato.

L’azienda sta rilasciando Code Llama con la stessa licenza di Llama 2.

Meta Code Llama è una versione di Llama 2 specializzata nel codice, creata addestrando ulteriormente Llama 2 sui suoi set di dati specifici per il codice, campionando più dati da quello stesso data set per un periodo più lungo. Essenzialmente, spiega Meta, Code Llama offre capacità di codifica migliorate, costruite sulla base di Llama 2.

È in grado di generare codice e linguaggio naturale sul codice, a partire da prompt sia di codice che di linguaggio naturale (ad esempio, “Write me a function that outputs the fibonacci sequence.“).

Il modello supporta molti dei linguaggi più diffusi oggi, tra cui Python, C++, Java, PHP, Typescript (Javascript), C# e Bash.

Meta Code Llama

Meta sta rilasciando Code Llama in tre dimensioni, con 7, 13 e 34 miliardi di parametri rispettivamente. Ognuno di questi modelli è stato addestrato con 500 miliardi di token di codice e dati relativi al codice. I modelli base e instruct da 7 e 13 miliardi sono stati addestrati anche con la capacità di fill-in-the-middle (FIM), che consente loro di inserire il codice nel codice esistente, il che significa che possono supportare compiti come il completamento del codice fin dall’inizio.

I tre modelli rispondono a diversi requisiti di servizio e latenza, mette in evidenza Meta. Il modello da 7 miliardi, ad esempio, può essere servito da una sola GPU. Il modello da 34 restituisce i risultati migliori e consente una migliore assistenza alla codifica, ma i modelli più piccoli da 7 e 13 sono più veloci e più adatti a compiti che richiedono una bassa latenza, come il completamento del codice in tempo reale.

I modelli Code Llama forniscono generazioni stabili con un contesto fino a 100.000 token. Tutti i modelli sono stati addestrati su sequenze di 16.000 token e mostrano miglioramenti su input fino a 100.000 token, sottolinea Meta.

Oltre a essere un prerequisito per la generazione di programmi più lunghi, la disponibilità di sequenze di input più lunghe sblocca nuovi casi d’uso interessanti per un LLM di codice. Ad esempio, gli utenti possono fornire al modello un contesto più ampio della loro base di codice per rendere le generazioni più rilevanti. Inoltre, ciò è utile per il debugging in codebase di grandi dimensioni, dove per gli sviluppatori può essere difficile tenere sotto controllo tutto il codice relativo a un problema concreto. Quando gli sviluppatori devono eseguire il debug di una grossa porzione di codice, possono passare l’intera lunghezza del codice nel modello.

Inoltre, Meta ha messo a punto altre due varianti di Code Llama: Code Llama – Python e Code Llama – Instruct.

Code Llama – Python è una variante di Code Llama specializzata nel linguaggio, ulteriormente perfezionata su 100 miliardi di token di codice Python. Dato che Python è il linguaggio più studiato per la generazione di codice e dato che Python e PyTorch svolgono un ruolo importante nella community dell’intelligenza artificiale, Meta ritiene che un modello specializzato fornisca un’utilità aggiuntiva.

Code Llama – Instruct è una variante di Code Llama con ottimizzazione e allineamento delle istruzioni. La messa a punto delle istruzioni prosegue il processo di training, ma con un obiettivo diverso. Al modello viene fornito un input di “istruzioni in linguaggio naturale” e l’output previsto. In questo modo il modello è in grado di comprendere meglio ciò che gli esseri umani si aspettano dai loro prompt. Meta consiglia di utilizzare le varianti di Code Llama – Instruct ogni volta che si utilizza Code Llama per la generazione di codice, poiché Code Llama – Instruct è stato messo a punto per generare risposte utili e sicure in linguaggio naturale.

Meta Code Llama

Non consiglia invece di utilizzare Code Llama o Code Llama – Python per eseguire compiti generali in linguaggio naturale, poiché nessuno di questi modelli è stato progettato per seguire istruzioni in linguaggio naturale. Code Llama è specializzato per compiti specifici del codice e non è adatto come modello foundation per altri task.

I test di benchmark di Meta – dichiara l’azienda – hanno dimostrato che Code Llama ha ottenuto risultati migliori rispetto agli LLM open source specifici per il codice, e ha superato anche Llama 2.

Come tutte le tecnologie all’avanguardia, sottolinea altresì Meta, anche Code Llama comporta dei rischi. Costruire modelli di intelligenza artificiale in modo responsabile è fondamentale e l’azienda ha intrapreso numerose misure di sicurezza prima di rilasciare Code Llama. Nell’ambito dei suoi sforzi di red teaming, Meta ha effettuato una valutazione quantitativa del rischio di Code Llama di generare codice maligno: ha creato richieste che cercavano di sollecitare codice maligno con un chiaro intento e ha valutato le risposte di Code Llama a tali richieste rispetto a quelle di ChatGPT (GPT3.5 Turbo). I risultati hanno dimostrato che Code Llama ha risposto in modo più sicuro, sostiene Meta.

I dettagli del lavoro di red teaming con esperti di AI responsabile, offensive security engineering, sviluppo di malware e ingegneria del software sono disponibili nel paper di ricerca di Meta.

Risorse ed esempi relativi a Code Llama sono disponibili sul repository GitHub e i download del modello sono accessibili sul sito Meta.

L’uso dell’AI generativa per lo sviluppo software sta esplodendo: solo negli ultimi giorni abbiamo visto, ad esempio, Hugging Face annunciare SafeCoder, l’assistente al codice basato su AI e IBM usare l’intelligenza artificiale per accelerare la modernizzazione delle applicazioni mainframe.

1 COMMENTO

  1. È interessante vedere come Meta sta facendo progressi nel campo dell’intelligenza artificiale con Code Llama. Questo modello linguistico di grandi dimensioni, specializzato nella generazione di codice da suggerimenti di linguaggio naturale, sembra che potrebbe essere di grande aiuto per gli sviluppatori, sia esperti che principianti. L’idea di rendere la programmazione più accessibile ed efficiente è davvero promettente. Inoltre, è bene sapere che Meta ha adottato rigide misure di sicurezza per garantire che Code Llama non generi codice dannoso. La responsabilità quando si utilizza l’intelligenza artificiale è essenziale.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato sulle novità tecnologiche
css.php