Codificare o non codificare? Esplorando l'impatto del codice nel pre-addestramento
To Code, or Not To Code? Exploring Impact of Code in Pre-training
August 20, 2024
Autori: Viraat Aryabumi, Yixuan Su, Raymond Ma, Adrien Morisot, Ivan Zhang, Acyr Locatelli, Marzieh Fadaee, Ahmet Üstün, Sara Hooker
cs.AI
Abstract
Includere codice nella miscela di dati di pre-addestramento, anche per modelli non specificamente progettati per il codice, è diventata una pratica comune nel pre-addestramento di LLM. Sebbene ci sia un consenso aneddotico tra i professionisti sul fatto che i dati di codice svolgano un ruolo vitale nelle prestazioni generali degli LLM, ci sono solo lavori limitati che analizzano l'impatto preciso del codice su compiti non legati al codice. In questo lavoro, indaghiamo sistematicamente l'impatto dei dati di codice sulle prestazioni generali. Ci chiediamo "qual è l'impatto dei dati di codice utilizzati nel pre-addestramento su una vasta gamma di compiti a valle oltre la generazione di codice". Eseguiamo ampie ablazioni e valutiamo su un'ampia gamma di compiti di ragionamento in linguaggio naturale, compiti di conoscenza del mondo, benchmark di codice e tassi di vittoria LLM-as-a-judge per modelli con dimensioni che vanno da 470M a 2,8B parametri. In tutte le configurazioni, troviamo risultati coerenti che il codice è un elemento costitutivo critico per la generalizzazione ben oltre i compiti di codifica e che i miglioramenti alla qualità del codice hanno un impatto sproporzionato su tutti i compiti. In particolare, rispetto al pre-addestramento basato solo su testo, l'aggiunta di codice comporta un aumento relativo fino all'8,2% nel ragionamento in linguaggio naturale (NL), al 4,2% nella conoscenza del mondo, al 6,6% nei tassi di vittoria generativi e un aumento di 12 volte nelle prestazioni del codice, rispettivamente. Il nostro lavoro suggerisce che gli investimenti nella qualità del codice e la conservazione del codice durante il pre-addestramento hanno impatti positivi.
English
Including code in the pre-training data mixture, even for models not
specifically designed for code, has become a common practice in LLMs
pre-training. While there has been anecdotal consensus among practitioners that
code data plays a vital role in general LLMs' performance, there is only
limited work analyzing the precise impact of code on non-code tasks. In this
work, we systematically investigate the impact of code data on general
performance. We ask "what is the impact of code data used in pre-training on a
large variety of downstream tasks beyond code generation". We conduct extensive
ablations and evaluate across a broad range of natural language reasoning
tasks, world knowledge tasks, code benchmarks, and LLM-as-a-judge win-rates for
models with sizes ranging from 470M to 2.8B parameters. Across settings, we
find a consistent results that code is a critical building block for
generalization far beyond coding tasks and improvements to code quality have an
outsized impact across all tasks. In particular, compared to text-only
pre-training, the addition of code results in up to relative increase of 8.2%
in natural language (NL) reasoning, 4.2% in world knowledge, 6.6% improvement
in generative win-rates, and a 12x boost in code performance respectively. Our
work suggests investments in code quality and preserving code during
pre-training have positive impacts.