Doubts regarding Tuner and SFTuner

I’m following some tutorials that FourthBrain and DeepLearningAI conducted a few weeks ago. However, I’m a little bit confused with the fact that they make the distinction between Supervised Instruct-tuning and Fine-tuning with an “unsupervised” approach.

The only difference that I can catch is the usage of SFTrainer and on the first notebook and Trainer on the second one. However, I noticed they are basically doing the same thing (ofc the data is different).

With this in mind, my questions are:

  • Is there a real difference between SFTrainer and Trainer in this scenario? I know SFTrainer is built on top of Trainer

  • How are these two approaches different? From what I understand this is basically doing a self-supervised fine-tuning (CausalLM)

Thank you for your time!