Кодировать или не кодировать? Исследование влияния кода в предварительном обучении
To Code, or Not To Code? Exploring Impact of Code in Pre-training
August 20, 2024
Авторы: Viraat Aryabumi, Yixuan Su, Raymond Ma, Adrien Morisot, Ivan Zhang, Acyr Locatelli, Marzieh Fadaee, Ahmet Üstün, Sara Hooker
cs.AI
Аннотация
Включение кода в смесь данных для предварительного обучения, даже для моделей, не специально предназначенных для работы с кодом, стало общей практикой в предварительном обучении языковых моделей с ограниченной памятью. Хотя среди практиков существует мнение о том, что данные с кодом играют важную роль в общей производительности языковых моделей с ограниченной памятью, существует лишь ограниченное количество работ, анализирующих точное влияние кода на задачи, не связанные с кодом. В данной работе мы систематически исследуем влияние данных с кодом на общую производительность. Мы задаем вопрос: "каково влияние данных с кодом, используемых в предварительном обучении, на широкий спектр последующих задач, не связанных с генерацией кода". Мы проводим обширные абляции и оцениваем на широком спектре задач по рассуждению на естественном языке, задачам на основе мировых знаний, бенчмаркам по коду и показателям побед для языковых моделей с размерами параметров от 470 миллионов до 2,8 миллиарда. В различных настройках мы приходим к однозначному выводу, что код является критическим строительным блоком для обобщения далеко за пределы задач, связанных с кодированием, и улучшения качества кода имеют значительное влияние на все задачи. В частности, по сравнению с предварительным обучением только на тексте, добавление кода приводит к относительному увеличению до 8,2% в рассуждениях на естественном языке, 4,2% в мировых знаниях, улучшению показателей генерации на 6,6% и в 12 раз большему ускорению производительности кода соответственно. Наша работа предполагает, что инвестиции в качество кода и сохранение кода во время предварительного обучения оказывают положительное воздействие.
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