رمز لإعادة إنتاج الورقة "متعددة: النموذج متعدد اللغات الفعال".
فيما يلي منشور مدونة مع مقدمة إلى ورقتنا: http://nlp.fast.ai/classification/2019/09/10/multifit.html
يحتوي هذا المستودع على إطار صغير على رأس Fastai v1.0 ؛ الكود متوافق مع V1.0.47 حتى V1.0.59 (الحالي اعتبارًا من 2019.11.03). قد تختلف النتائج بين إصدارات Fastai بسبب التحسينات التي تمت إضافتها إلى Fastai. تم تدريب نماذجنا باستخدام 1.0.47.
أعيد كتابة الإطار لتسهيل استخدامه مع أحدث fastai.
أصدرنا 7 نماذج لغة مدربة على مقالب ويكيبيديا المقابلة:
لجلب النموذج فقط استخدام وظيفة multifit.from_pretrained . فيما يلي بعض الأمثلة على الحمام الذي يوضح كيفية تدريب مصنف باستخدام نماذج مسبقة.
نتائج تصنيف المستندات على مجموعة بيانات MLDOC Schwenk و LI ، 2018
| نموذج | دي | ES | الاب | هو - هي | جا | رو | ZH |
|---|---|---|---|---|---|---|---|
| الليزر | 92.70 | 88.75 | 90.80 | 85.93 | 85.15 | 84.65 | 88.98 |
| Multibert | 94.0 | 95.15 | 93.20 | 85.82 | 87.48 | 86.85 | 90.72 |
| متعدد | 95.90 | 96.07 | 94.77 | 90.25 | 90.03 | 87.65 | 92.52 |
نتائج تصنيف المشاعر على CLS DataSet Prettenhofer و Stein ، 2010
| دي | الاب | جا | |
|---|---|---|---|
| Multibert | 86.05 / 84.90 / 82.00 | 86.15 / 86.90 / 86.65 | 80.87 / 82.83 / 79.95 |
| متعدد | 93.19 / 90.54 / 93.00 | 91.25 / 89.55 / 93.40 | 86.29 / 85.75 / 86.59 |
يمكنك استخدام النماذج المسبقة مع مكتبة Fastai على النحو التالي:
from fastai.text import *
import multifit
exp = multifit.from_pretrained("name of the model")
fa_config = exp.pretrain_lm.tokenizer.get_fastai_config(add_open_file_processor=True)
data_lm = (TextList.from_folder(imdb_path, **fa_config)
.filter_by_folder(include=['train', 'test', 'unsup'])
.split_by_rand_pct(0.1)
.label_for_lm()
.databunch(bs=bs))
learn = exp.finetune_lm.get_learner(data_lm)
# learn is a preconfigured fastai learner with a pretrained model loaded
learn.fit_one_cycle(10)
learn.save_encoder("enc")
...
هذا المستودع عبارة عن إعادة كتابة للنصوص التدريبية الأصلية ، لذا فهو يفتقر إلى جميع البرامج النصية المستخدمة في الورقة. نحن نعمل على منفذ إلى Fastai v2.0 ومن ثم سنضيف البرامج النصية التي توضح كيفية إعادة إنتاج النتائج. في حال كنت بحاجة إلى استخدام البرامج النصية بشكل أسرع ، يمكنك الوصول إلى البرامج النصية الأصلية هنا.
@article{Eisenschlos2019MultiFit,
title={MultiFiT: Efficient Multi-lingual Language Model Fine-tuning},
author={Julian Eisenschlos, Sebastian Ruder, Piotr Czapla, Marcin Kardas, Sylvain Gugger, Jeremy Howard}
journal={Proceedings of EMNLP-IJCNLP 2019},
year={2019}
}