I modelli di linguaggio di grandi dimensioni (LLM) sono spesso addestrati con enormi set di dati che includono sia testo che codice. Anche se il codice è fondamentale per i modelli progettati per la programmazione, sempre più spesso viene incluso anche nei modelli destinati ad altre applicazioni. Recentemente, i ricercatori di Cohere hanno esaminato come i dati di codice influenzano le prestazioni degli LLM in compiti che non riguardano direttamente la codifica.
Sebbene molti professionisti ritengano che il codice sia importante per le prestazioni degli LLM, esistevano poche ricerche sistematiche su come questo impatti attività non di codifica. Il team di Cohere ha condotto uno studio approfondito per chiarire questo aspetto.
I ricercatori hanno condotto esperimenti per valutare come diverse quantità di codice nei dati di addestramento influenzano le prestazioni degli LLM. Hanno usato un processo in due fasi:
- Pre-Addestramento Continuo: I modelli pre-addestrati su grandi set di dati di testo e codice sono stati ulteriormente addestrati su nuovi dati con proporzioni variabili di testo e codice.
- Fase di Raffreddamento: In questa fase finale, hanno dato maggiore peso ai dati di alta qualità per migliorare le prestazioni del modello.
Hanno testato modelli con vari rapporti di testo e codice e con dimensioni che andavano da 470 milioni a 2,8 miliardi di parametri, utilizzando diversi benchmark per valutare conoscenza generale, ragionamento del linguaggio naturale e capacità di codifica.
Lo studio ha dimostrato che l’inclusione di codice nei dati di pre-addestramento migliora significativamente le prestazioni degli LLM, anche in compiti non legati alla codifica:
- Ragionamento in Linguaggio Naturale: I modelli addestrati con codice hanno ottenuto risultati migliori rispetto a quelli addestrati solo con testo. In particolare, i modelli addestrati esclusivamente con codice hanno mostrato prestazioni superiori nei benchmark di ragionamento.
- Conoscenza del Mondo: Un mix bilanciato di codice e testo nei dati di pre-addestramento ha prodotto i migliori risultati. Questo suggerisce che una combinazione di dati è ideale per sviluppare una solida comprensione generale.
- Attività Generative: Sia i modelli addestrati solo con codice che quelli bilanciati hanno generato testi di migliore qualità rispetto ai modelli addestrati solo con testo.
Inoltre, i benefici del codice sembrano aumentare con la dimensione del modello, migliorando particolarmente nelle aree della conoscenza del mondo e delle capacità di codifica.
I ricercatori hanno anche osservato che l’aggiunta di codice sintetico di alta qualità, creato attraverso problemi e soluzioni verificate formalmente, ha portato a miglioramenti significativi. Questo approccio potrebbe essere particolarmente vantaggioso, considerando le limitazioni nel volume di codice umano disponibile.
Inoltre, l’inclusione di dati adiacenti al codice, come richieste pull e commit di GitHub, può migliorare ulteriormente le capacità di ragionamento dei modelli.
Infine, la fase di raffreddamento dell’addestramento, che include codice di alta qualità, ha mostrato guadagni nelle prestazioni che possono essere molto utili per le aziende. Piuttosto che addestrare modelli da zero, le aziende possono perfezionare i modelli esistenti con i propri dati per ottenere risultati ottimali.
Il team di Cohere prevede che queste scoperte influenzeranno la creazione di nuovi modelli LLM e la loro applicazione pratica. L’inclusione di codice nei dati di pre-addestramento potrebbe non solo migliorare le prestazioni nei compiti di codifica ma anche potenziare una varietà di altre applicazioni. I risultati dello studio potrebbero guidare lo sviluppo di modelli più avanzati e performanti, beneficiando così sviluppatori e ricercatori nel loro lavoro quotidiano.