Coder, ou ne pas coder ? Exploration de l'impact du code dans la pré-entraînement
To Code, or Not To Code? Exploring Impact of Code in Pre-training
August 20, 2024
Auteurs: Viraat Aryabumi, Yixuan Su, Raymond Ma, Adrien Morisot, Ivan Zhang, Acyr Locatelli, Marzieh Fadaee, Ahmet Üstün, Sara Hooker
cs.AI
Résumé
Inclure du code dans le mélange de données de pré-entraînement, même pour les modèles non spécifiquement conçus pour le code, est devenu une pratique courante dans la pré-entraînement des LLMs. Alors qu'il existe un consensus anecdotique parmi les praticiens selon lequel les données de code jouent un rôle vital dans les performances générales des LLMs, il n'existe que peu de travaux analysant l'impact précis du code sur des tâches non liées au code. Dans ce travail, nous étudions systématiquement l'impact des données de code sur les performances générales. Nous nous demandons "quel est l'impact des données de code utilisées en pré-entraînement sur une grande variété de tâches ultérieures au-delà de la génération de code". Nous menons des ablations approfondies et évaluons un large éventail de tâches de raisonnement en langage naturel, de tâches de connaissances du monde, de référentiels de code et de taux de réussite des LLM en tant que juges pour des modèles de tailles allant de 470M à 2,8B de paramètres. Dans tous les contextes, nous constatons des résultats cohérents selon lesquels le code est un élément constitutif essentiel pour la généralisation bien au-delà des tâches de codage, et les améliorations de la qualité du code ont un impact disproportionné sur l'ensemble des tâches. En particulier, par rapport à un pré-entraînement basé uniquement sur du texte, l'ajout de code entraîne une augmentation relative allant jusqu'à 8,2% dans le raisonnement en langage naturel (NL), 4,2% dans les connaissances du monde, une amélioration de 6,6% dans les taux de réussite génératifs, et respectivement un gain de 12 fois dans les performances de code. Notre travail suggère que les investissements dans la qualité du code et la préservation du code pendant le pré-entraînement ont des impacts positifs.
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.Summary
AI-Generated Summary