This README describes parameter categories and how to override these parameters at the various (finetuning) stages of the experiment.
Parameters in each configuration yaml
file are divided into six categories / groups. You can find more details in the respective dataclasses inside utils/arguments.py:
training_arguments
: seeModelTrainingArguments
inutils/arguments.py
.data_arguments
: seeDataTrainingArguments
.model_arguments
: seeModelArguments
.experiment_arguments
: seeCommonExperimentArguments
.define_experiment_arguments
: seeDefineExperimentDataArguments
.numeric_experiment_arguments
: seeNumericExperimentDataArguments
.
For each stage of finetuning, you can override the parameters above using the following parameter groups:
first_stage_arguments
: This is an overriding dictionary for stage one of model training/finetuning, accepting parameters from different argument groups.second_stage_arguments
: This overriding dictionary is meant for stage two of finetuning.third_stage_arguments
: This overriding dictionary is used for stage three.
For example, you can set the parameter num_train_epochs
(normally part of training_arguments
) to 20 for the first stage and 10 for the second stage (see how this is done in configs/current_experiment.yaml).
The number of finetuning stages (1, 2, or 3) can be set using the n_stages
parameter in the experiment_arguments
parameter group.