First of all, I came to the conclusion that using BertForMaskedLM can basically be considered as further/continual pretraining. Even though some may call it fine-tuning using MLM (instead of continual pretraining), it is more of a difference in the use of terminology.
Second and to answer your question, my understanding is that we can start with a pre-trained BERT checkpoint which means we start with the weights from the pre-trained model and not from randomly initialized weights (if you’re using the Trainer by setting model=pretrained_BERT_model_checkpoint ), not sure what you mean by how much weights. However, one point to keep in mind is that further training using BertForMaskedLM using new data does not necessarily make the model better (in terms of whatever metric you use to measure the quality of the model) since there is a possibility that the model forgets what it has already learned.