shaltielshmid / TorchSharp.PyBridge

A library enabling easy transfer and handling of PyTorch models between .NET and Python environments
MIT License
14 stars 3 forks source link

Not an issue and not related #14

Open johnlockejrr opened 4 months ago

johnlockejrr commented 4 months ago

Sorry but I couln't find another way to contact you...

I'm trying to fine tune the BEREL-2.0 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 My dataset: johnlockejrr/samv2

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

Can you be kind enough and tell me what were the arguments in traing the model? Did you use some script? Is my data too different from yours?

EDIT: maybe should I use "Whole Word Masking" to get the same results?

EDIT 2: I just trained the model with WWM, same problem...

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