Different Trainers, when to use which?

There’s a few *Trainer objects available from transformers, trl and setfit.

Other than the standard answer of ā€œit depends on the task and which library you want to useā€, what is the best practice or general guidelines when choosing which *Trainer object to use to train/tune our models?

Together with the *Trainer object, sometimes we see suggestions to use *TrainingArguments or the vanilla TrainingArguments.


For reference, we have: