Sentence transformer use of evaluator

I came across this script which is second link on this page and this explanation

  1. I am having hard time understanding use of evaluator = EmbeddingSimilarityEvaluator.from_input_examples(dev_samples, name='sts-dev') . The documentation says that evaluator – An evaluator (sentence_transformers.evaluation) evaluates the model performance during training on held-out dev data. It is used to determine the best model that is saved to disc. But in this case,
    as we are fine tuning on our own examples, train_dataloaderhas
    train_samples which has our model sentences and scores. How is
    train_samples different that dev_samples?

  2. Also if the model is
    going to print performance against dev_samples then how is it
    going to help to determine the best model that is saved to disc.? Are we required to run dev_samples against the model saved on the disc and then compare scores?

  3. If my goal is to take a single model and then fine tune it, is it okay to skip parameters evaluator and evaluation_steps?

  4. also how to determine total steps in the model? i need to set
    evaluation_steps