Papers
arxiv:2407.01492

RegMix: Data Mixture as Regression for Language Model Pre-training

Published on Jul 1
ยท Submitted by SivilTaram on Jul 2
Authors:
,
,
,
,
,

Abstract

The data mixture for large language model pre-training significantly impacts performance, yet how to determine an effective mixture remains unclear. We propose RegMix to automatically identify a high-performing data mixture by formulating it as a regression task. RegMix involves training a set of small models with diverse data mixtures and fitting a regression model to predict their performance given their respective mixtures. With the fitted regression model, we simulate the top-ranked mixture and use it to train a large-scale model with orders of magnitude more compute. To empirically validate RegMix, we train 512 models with 1M parameters for 1B tokens of different mixtures to fit the regression model and find the optimal mixture. Using this mixture we train a 1B parameter model for 25B tokens (i.e. 1000x larger and 25x longer) which we find performs best among 64 candidate 1B parameter models with other mixtures. Further, our method demonstrates superior performance compared to human selection and achieves results that match or surpass DoReMi, while utilizing only 10% of the compute budget. Our experiments also show that (1) Data mixtures significantly impact performance with single-task performance variations of up to 14.6%; (2) Web corpora rather than data perceived as high-quality like Wikipedia have the strongest positive correlation with downstream performance; (3) Domains interact in complex ways often contradicting common sense, thus automatic approaches like RegMix are needed; (4) Data mixture effects transcend scaling laws, and our approach captures the complexity by considering all domains together. Our code is available at https://github.com/sail-sg/regmix.

Community

Paper author Paper submitter
โ€ข
edited 1 day ago

Very nice.

Given a high enough compute budget, it would very interesting to do this with more fine-granularity, and random segments. (I.E Divide each domain into x segments, now each time you run the experiment, randomly choose segments to include)

Hi @SivilTaram congrats on this work, and great to see a Spaces demo.

I see the data is currently hosted here: https://github.com/sail-sg/regmix/tree/main/data, would you be up for pushing it to the hub? See here on how to do that: https://huggingface.co/docs/datasets/loading#csv. You can then do dataset.push_to_hub. Additionally it can be linked to this paper, see here: https://huggingface.co/docs/hub/en/datasets-cards#linking-a-paper.

Kind regards,

Niels

Paper author Paper submitter

@nielsr Hi Niels! To clarify, the data folder contains the config files of data mixture and the target result (<1K rows, just some numbers). I have uploaded the sample data (the full dataset will be uploaded also) for the training. Do you think it would be meaningful to upload the mixture data points? Thanks!

https://huggingface.co/datasets/sail/regmix-data-sample

Sign up or log in to comment

Models citing this paper 1

Datasets citing this paper 1

Spaces citing this paper 1

Collections including this paper 3