Thank you so much for your explaination!  I think I understand now whenever we call a pretrained model with checkpoint/model name  we start with the weights from pretrained models, while if we leave --model_name_or_path to None we randomly initial the weight for training from scratch.