4 ms·
When you run benchmarks while training, isn't that the definition of contamination? Asking because I am not sure if this is normal in big labs now.
by liuliu 12d ago
When you run benchmarks while training, isn't that the definition of contamination? Asking because I am not sure if this is normal in big labs now.
- lucrbvi 12d agoThey are using it to evaluate checkpoints during the training, they are probably not using the benchmarks for training the models. It's a common practice for big reinforcement learning runs.
- jampekka 12d agoKinda yes. The benchmarks become part of the validation set, which means the models get slightly overfit to them if they are used as criteria for stopping the training. But a lot less compared to using them in the training data. I'd guess everybody uses at least some benchmarks as stopping criteria, which is kinda sensible, but it also does induce some benchmaxxing, and explains partly why the newest models always tend to eke out in benchmarks. https://en.wikipedia.org/wiki/Training,_validation,_and_test_data_sets https://en.wikipedia.org/wiki/Training,_validation,_and_test...
- liuliu 12d agoCorrect. If just stopping criteria, that is less contaminated. The question gets muddier once you also use it to determine hyperparameters during small-scale runs.
- SwellJoe 12d agoYou gotta have something to aim at. And, presumably, the benchmark is not part of the training data, it is the test against which the model is tested at each stage; is behavior moving in the right direction?
- esafak 12d agoNot if you don't train against them.
- kingstnap 12d agoIt's implicitly trained against. There is like information leakage with researchers messing with the training parameters and checkpoints used. It's not the direct feedback loop of RL but its not far.
- brookst 11d agoIt’s pretty far. It’s the difference between “study law until you can pass any random bar exam” and “here are 200 legal questions and we’ll drill them, with me correcting and explaining when you get one wrong, until you can pass exactly these 200”. Your right that tuning can aim for a benchmark, but it does not leak any information about the answers.
- kingstnap 11d agoThe first implies generalization. It's not a test of generalization. It's actually close to the second. "Here are 200 software questions, will drill you on *other stuff* until you can pass exactly these 200. If the other stuff isn't improving your scores we will change ratios of it till it does." The reason it benchmaxes is that *other stuff* ends up looking more and more like SWE Bench without you realizing it.
- nodja 12d agoThey exist to detect degradation. Datasets are not perfect and if a batch contains too much bad data it can ruin a run, also an opportunity to find bad data and improve the dataset filtering.
- sspiff 11d agoThey run one step/iteration on an additional chunk of training data, then use the snapshot of the weights after that iteration in a separate validation benchmark while continuing to train on another chunk of data for the next iteration. They result of the benchmark does not feed back into the training, it simply serves to provide a measurement of progression over time.