Because seed
is a TrainingArgument, we can use it as in hyperparameter optimization if we’d want to, e.g.
def hparams_ray(trial):
from ray import tune
return {
"learning_rate": tune.loguniform(1e-6, 1e-3),
"per_device_train_batch_size": tune.choice([4, 8, 16, 32]),
"seed": tune.choice(range(1, 43)),
}
But I am looking for clarification what happens when we do not include seed
here. Is the seed (or any training argument for that matter), reset at each trial? This is important: if it is not reset, then every trial has a different starting seed and hyperparameter search is not independent.