As discussed in Section 5.1, instruction tuning is the process of training pre-trained language models with formatted demonstration data (instructions paired with desired outputs). At early exploration, instruction data was mainly collected from NLP tasks [67], while it has been now extended to more diverse supervision data that pairs input and output texts (_e.g._, the utterances of open-ended dialogues). Training with such paired texts is also called _supervised fine-tuning (SFT)_ in the context of LLMs [66]. In this part, we mainly use the abbreviation _SFT_ for discussion but not instruction tuning, due to the simplicity and popularity.