banner
Casa / Blog / Presentazione di Code Llama, uno strumento AI per la codifica
Blog

Presentazione di Code Llama, uno strumento AI per la codifica

Sep 01, 2023Sep 01, 2023

Oggi rilasciamo Code Llama, un modello di linguaggio di grandi dimensioni (LLM) che può utilizzare istruzioni di testo per generare e discutere codice. Code Llama è all'avanguardia per i LLM disponibili al pubblico sulle attività di codifica. Ha il potenziale per rendere i flussi di lavoro più veloci ed efficienti per gli sviluppatori e abbassare la barriera all’ingresso per le persone che stanno imparando a programmare. Code Llama ha il potenziale per essere utilizzato come strumento educativo e di produttività per aiutare i programmatori a scrivere software più robusto e ben documentato.

Riteniamo che un approccio aperto all'intelligenza artificiale sia la soluzione migliore per sviluppare nuovi strumenti di intelligenza artificiale innovativi, sicuri e responsabili, quindi stiamo rilasciando Code Llama sia per la ricerca che per uso commerciale con la stessa licenza comunitaria di Llama 2.

Code Llama è una versione specializzata in codice di Llama 2 che è stata creata addestrando ulteriormente Llama 2 sui suoi set di dati specifici del codice, campionando più dati dallo stesso set di dati per un periodo più lungo. In sostanza, Code Llama offre funzionalità di codifica avanzate. Può generare codice e linguaggio naturale relativo al codice, sia da istruzioni in codice che in linguaggio naturale (ad esempio, "Scrivimi una funzione che restituisca la sequenza di Fibonacci"). Può anche essere utilizzato per il completamento del codice e il debug. Supporta molti dei linguaggi di programmazione più popolari utilizzati oggi, tra cui Python, C++, Java, PHP, Typescript (Javascript), C#, Bash e altri.

Stiamo rilasciando tre dimensioni di Code Llama rispettivamente con parametri 7B, 13B e 34B. Ciascuno di questi modelli viene addestrato con 500 miliardi di token di codice e dati relativi al codice. I modelli base e istruiti 7B e 13B sono stati inoltre addestrati con la funzionalità FIM (fill-in-the-middle), che consente loro di inserire codice nel codice esistente, il che significa che possono supportare attività come il completamento del codice immediatamente.

I tre modelli soddisfano diversi requisiti di servizio e latenza. Il modello 7B, ad esempio, può essere servito su una singola GPU. Il modello 34B restituisce i migliori risultati e consente una migliore assistenza nella codifica, ma i modelli più piccoli 7B e 13B sono più veloci e più adatti per attività che richiedono bassa latenza, come il completamento del codice in tempo reale.

Abbiamo inoltre perfezionato ulteriormente due varianti aggiuntive di Code Llama: Code Llama – Python e Code Llama – Instruct.

Code Llama – Python è una variante specializzata nel linguaggio di Code Llama, ulteriormente ottimizzata su token da 100 miliardi di codice Python. Poiché Python è il linguaggio più utilizzato per la generazione di codice e poiché Python e PyTorch svolgono un ruolo importante nella comunità dell'intelligenza artificiale, riteniamo che un modello specializzato fornisca ulteriore utilità.

Code Llama – Instruct è una variante ottimizzata e allineata di Code Llama. L'ottimizzazione delle istruzioni continua il processo di formazione, ma con un obiettivo diverso. Il modello riceve un input di istruzioni in linguaggio naturale e l'output atteso. Ciò migliora la comprensione di ciò che le persone si aspettano dai loro suggerimenti. Ti consigliamo di utilizzare le varianti Code Llama – Instruct ogni volta che utilizzi Code Llama per la generazione di codice poiché Code Llama – Instruct è stato ottimizzato per generare risposte utili e sicure in linguaggio naturale.

I programmatori stanno già utilizzando gli LLM per assistere in una varietà di attività. L’obiettivo è rendere più efficienti i flussi di lavoro degli sviluppatori in modo che possano concentrarsi sugli aspetti più incentrati sull’uomo del loro lavoro, piuttosto che sulle attività ripetitive. Riteniamo che i modelli di intelligenza artificiale, e in particolare i LLM per la codifica, traggano maggiori benefici da un approccio aperto, sia in termini di innovazione che di sicurezza. Modelli specifici del codice, disponibili al pubblico, possono facilitare lo sviluppo di nuove tecnologie che migliorano la vita delle persone. Rilasciando modelli di codice come Code Llama, l'intera comunità può valutare le proprie capacità, identificare problemi e correggere le vulnerabilità.

Code Llama è progettato per supportare gli ingegneri del software in tutti i settori, tra cui ricerca, industria, progetti open source, ONG e imprese. Ma ci sono ancora molti altri casi d’uso da supportare. Ci auguriamo che Code Llama ispiri altri a sfruttare Llama 2 per creare nuovi strumenti innovativi per la ricerca e prodotti commerciali.