BERT MLM model fine-tuning bad results on new dataset

I’m trying to fine tune a MLM model on new kind of small data (train.csv 43285 lines, validation.csv 3597), my data looks like this:

text
בראשית ברא אלהים את השמים ואת הארץ
והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים
ויאמר אלהים יהי אור ויהי אור
וירא אלהים את האור כי טוב ויבדל אלהים בין האור ובין החשך
ויקרא אלהים לאור יום ולחשך קרא לילה ויהי ערב ויהי בקר יום אחד
ויאמר אלהים יהי רקיע בתוך המים ויהי מבדיל בין מים למים
ויעש אלהים את הרקיע ויבדל בין המים אשר מתחת לרקיע ובין המים אשר מעל לרקיע ויהי כן

My results are poor, on old data everything works as expected, on my new data not so much:

PHRASE (old data): ומשה ואהרן עשו את כל המופתים האלה לפני פרעה ויחזק יהוה את לב פרעה ולא שלח את בני ישראל מארצו
PHRASE (with mask): ומשה ואהרן עשו את כל [MASK] האלה לפני פרעה ויחזק יהוה את לב פרעה ולא שלח את בני ישראל מארצו

>>> ומשה ואהרן עשו את כל המופתים האלה לפני פרעה ויחזק יהוה את לב פרעה ולא שלח את בני ישראל מארצו
>>> ומשה ואהרן עשו את כל האותות האלה לפני פרעה ויחזק יהוה את לב פרעה ולא שלח את בני ישראל מארצו
>>> ומשה ואהרן עשו את כל המעשים האלה לפני פרעה ויחזק יהוה את לב פרעה ולא שלח את בני ישראל מארצו
>>> ומשה ואהרן עשו את כל הדברים האלה לפני פרעה ויחזק יהוה את לב פרעה ולא שלח את בני ישראל מארצו
>>> ומשה ואהרן עשו את כל השפטים האלה לפני פרעה ויחזק יהוה את לב פרעה ולא שלח את בני ישראל מארצו

PHRASE (new data): ומשה ואהרן עבדו ית כל פליאתה אלין לקדם פרעה ותקף יהוה ית לב פרעה ולא שלח ית בני ישראל מן ארעה
PHRASE (with mask): ומשה ואהרן עבדו ית כל [MASK] אלין לקדם פרעה ותקף יהוה ית לב פרעה ולא שלח ית בני ישראל מן ארעה

>>> ומשה ואהרן עבדו ית כל פתגמיא אלין לקדם פרעה ותקף יהוה ית לב פרעה ולא שלח ית בני ישראל מן ארעה
>>> ומשה ואהרן עבדו ית כל ממלל אלין לקדם פרעה ותקף יהוה ית לב פרעה ולא שלח ית בני ישראל מן ארעה
>>> ומשה ואהרן עבדו ית כל עובדוי אלין לקדם פרעה ותקף יהוה ית לב פרעה ולא שלח ית בני ישראל מן ארעה
>>> ומשה ואהרן עבדו ית כל מלי אלין לקדם פרעה ותקף יהוה ית לב פרעה ולא שלח ית בני ישראל מן ארעה
>>> ומשה ואהרן עבדו ית כל אלין אלין לקדם פרעה ותקף יהוה ית לב פרעה ולא שלח ית בני ישראל מן ארעה

PHRASE (new data): ואמר משה אכהן אמר יהוה כפלגות ליליה אנה נפק בגו ארע מצרים
PHRASE (with mask): ואמר משה אכהן אמר יהוה כפלגות [MASK] אנה נפק בגו ארע מצרים

>>> ואמר משה אכהן אמר יהוה כפל ##גות ##ה אנה נפק בממ ##צית ארע מצרים
>>> ואמר משה אכהן אמר יהוה כפל ##גות הלא אנה נפק בממ ##צית ארע מצרים
>>> ואמר משה אכהן אמר יהוה כפל ##גות ##ן אנה נפק בממ ##צית ארע מצרים
>>> ואמר משה אכהן אמר יהוה כפל ##גות ##יה אנה נפק בממ ##צית ארע מצרים
>>> ואמר משה אכהן אמר יהוה כפל ##גות משה אנה נפק בממ ##צית ארע מצרים

PHRASE (new data): ואמר משה אכהן אמר יהוה כפלגות ליליה אנא נפק בגו ארע מצרים
PHRASE (with mask): ואמר משה אכהן אמר יהוה כפלגות ליליה אנא נפק בגו [MASK] מצרים

>>> ואמר משה אכהן אמר יהוה כפל ##גות לילי ##ה אנא נפק בגו ארע מצרים
>>> ואמר משה אכהן אמר יהוה כפל ##גות לילי ##ה אנא נפק בגו ארץ מצרים
>>> ואמר משה אכהן אמר יהוה כפל ##גות לילי ##ה אנא נפק בגו בארע מצרים
>>> ואמר משה אכהן אמר יהוה כפל ##גות לילי ##ה אנא נפק בגו משרית מצרים
>>> ואמר משה אכהן אמר יהוה כפל ##גות לילי ##ה אנא נפק בגו נהר מצרים

I have trained the model with the script run_mlm.py from transformers/examples/pytorch/language-modeling as follows:

python run_mlm.py --model_name_or_path dicta-il/BEREL_2.0 --train_file ./train.csv --validation_file ./validation.csv --line_by_line --num_train_epochs 5 --warmup_steps 500 --gradient_accumulation_steps 16 --per_device_train_batch_size 4 --per_device_eval_batch_size 4 --learning_rate 1e-4 --optim adamw_torch --evaluation_strategy steps --load_best_model_at_end --do_train --do_eval --push_to_hub --output_dir ./BEREL_2.0-sam-finetune-v4

My model: johnlockejrr/BEREL_2.0-sam-finetune-v4

What did I do wrong? In my dataset or my arguments to the trainer?