eth-easl / modyn

Modyn is a research-platform for training ML models on growing datasets.
MIT License
25 stars 3 forks source link

Improve Evaluation (Matrix) Infrastructure #335

Open MaxiBoether opened 9 months ago

MaxiBoether commented 9 months ago

Before #334, we were only supporting evaluating the model on a single fixed evaluation dataset.

In #334, we introduce a evaluation matrix in which we evaluate each trained model on each trigger training set at the end. However, the current implementation is quite hacky:

  1. We extended the evaluation code path with some optionals that indicate the use of the OnlineDataset in the evaluator. We might just want to have two different kinds of evaluation requests instead of checking for Nones everywhere. The control flow needs cleaning.

  2. We can parallelize the evaluations (depending on GPU capacity) and also overlap evaluation and training. We need to make the supervisor (server) less sequential anyways, and implement a queue of requests that we want to do per pipeline after the supervisor server is implemented. This avoids doing the entire matrix at the end.

  3. In the matrix scenario, we currently take some settings from training and some from evaluation of the pipeline, which is not very clean. We should instead add the evaluation options to the pipeline and differentiate between fixed evaluation and matrix evaluation.

  4. We need to add tests for this.

MaxiBoether commented 8 months ago

PR #354 contains the (not yet good) code we used for the arXiv submission.