Codificar ou Não Codificar? Explorando o Impacto do Código no Pré-treinamento
To Code, or Not To Code? Exploring Impact of Code in Pre-training
August 20, 2024
Autores: Viraat Aryabumi, Yixuan Su, Raymond Ma, Adrien Morisot, Ivan Zhang, Acyr Locatelli, Marzieh Fadaee, Ahmet Üstün, Sara Hooker
cs.AI
Resumo
Incluir código na mistura de dados de pré-treinamento, mesmo para modelos não especificamente projetados para código, tornou-se uma prática comum em pré-treinamentos de LLMs. Embora haja um consenso anedótico entre os praticantes de que dados de código desempenham um papel vital no desempenho geral de LLMs, há apenas um trabalho limitado analisando o impacto preciso do código em tarefas não relacionadas a código. Neste trabalho, investigamos sistematicamente o impacto dos dados de código no desempenho geral. Perguntamos "qual é o impacto dos dados de código usados no pré-treinamento em uma ampla variedade de tarefas subsequentes além da geração de código". Realizamos extensas ablações e avaliamos em uma ampla gama de tarefas de raciocínio em linguagem natural, tarefas de conhecimento do mundo, benchmarks de código e taxas de vitória de LLM-como-juiz para modelos com tamanhos variando de 470M a 2.8B parâmetros. Em diferentes configurações, encontramos resultados consistentes de que o código é um bloco de construção crítico para a generalização muito além das tarefas de codificação e melhorias na qualidade do código têm um impacto desproporcional em todas as tarefas. Em particular, em comparação com o pré-treinamento apenas com texto, a adição de código resulta em um aumento relativo de até 8,2% no raciocínio em linguagem natural (NL), 4,2% no conhecimento do mundo, 6,6% de melhoria nas taxas de vitória generativas e um aumento de 12 vezes no desempenho de código, respectivamente. Nosso trabalho sugere que investimentos na qualidade do código e na preservação do código durante o pré-treinamento têm impactos positivos.
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