يوفر هذا الريبو النموذج والرمز والبيانات الخاصة بورقة: Linkbert: نماذج اللغة المسبقة مع روابط المستندات (ACL 2022). [PDF] [نماذج Huggingface]
Linkbert هو نموذج لغوي جديد (تحسين BERT) الذي يلتقط روابط المستندات مثل الارتباطات التشعبية وروابط الاقتباس لتشمل المعرفة التي تمتد عبر مستندات متعددة. على وجه التحديد ، تم تجهيزه عن طريق تغذية المستندات المرتبطة في سياق نموذج اللغة نفسه ، إلى جانب استخدام مستند واحد كما في BERT.
يمكن استخدام Linkbert كبديل إسقاط لـ Bert. إنه يحقق أداء أفضل لمهام فهم اللغة العامة (مثل تصنيف النص) ، وهو أيضًا فعال بشكل خاص للمهام المكثفة للمعرفة (على سبيل المثال الإجابة على الأسئلة) والمهام المتقاطعة (على سبيل المثال فهم القراءة ، استرجاع المستندات).

نطلق سراح Linkbert (أحجام القاعدة والكارجة) لكل من المجال العام والمجال الطبي الحيوي. هذه النماذج لها نفس تنسيق نماذج Bert Huggingface ، ويمكنك تبديلها بسهولة مع نماذج Linkbert.
| نموذج | مقاس | اِختِصاص | مجموعة ما قبل | رابط تنزيل (؟ Huggingface) |
|---|---|---|---|---|
| Linkbert-base | 110m المعلمات | عام | ويكيبيديا مع الارتباطات التشعبية | Michiyasunaga/Linkbert-Base |
| Linkbert-Large | 340M المعلمات | عام | ويكيبيديا مع الارتباطات التشعبية | Michiyasunaga/Linkbert-Large |
| Biolinkbert-base | 110m المعلمات | الطب الحيوي | PubMed مع روابط الاقتباس | Michiyasunaga/biolinkbert-base |
| Biolinkbert-Large | 340M المعلمات | الطب الحيوي | PubMed مع روابط الاقتباس | Michiyasunaga/Biolinkbert-Large |
لاستخدام هذه النماذج في؟ محولات:
from transformers import AutoTokenizer , AutoModel
tokenizer = AutoTokenizer . from_pretrained ( 'michiyasunaga/LinkBERT-large' )
model = AutoModel . from_pretrained ( 'michiyasunaga/LinkBERT-large' )
inputs = tokenizer ( "Hello, my dog is cute" , return_tensors = "pt" )
outputs = model ( ** inputs ) لضبط النماذج ، انظر القسم 2 و 3 أدناه. عند ضبطها على مهام المصب ، يحقق Linkbert النتائج التالية.
المعايير العامة (MRQA و Glue):
| Hotpotqa | Triviaqa | Searchqa | الطبيعة | Newsqa | فريق | غراء | |
|---|---|---|---|---|---|---|---|
| F1 | F1 | F1 | F1 | F1 | F1 | درجة AVG | |
| bert-base | 76.0 | 70.3 | 74.2 | 76.5 | 65.7 | 88.7 | 79.2 |
| Linkbert-base | 78.2 | 73.9 | 76.8 | 78.3 | 69.3 | 90.1 | 79.6 |
| بيرت large | 78.1 | 73.7 | 78.3 | 79.0 | 70.9 | 91.1 | 80.7 |
| Linkbert-Large | 80.8 | 78.2 | 80.5 | 81.0 | 72.6 | 92.7 | 81.1 |
المعايير الطبية الحيوية (blurb ، medqa ، mmlu ، etc): Biolinkbert يصل إلى أحدث ما حدث؟
| نقاط النزعة | PubMedqa | Bioasq | medqa-usmle | |
|---|---|---|---|---|
| PubMedbert-Base | 81.10 | 55.8 | 87.5 | 38.1 |
| Biolinkbert-base | 83.39 | 70.2 | 91.4 | 40.0 |
| Biolinkbert-Large | 84.30 | 72.2 | 94.8 | 44.6 |
| الطب MMLU-Professional | |
|---|---|
| GPT-3 (175 params) | 38.7 |
| UnifiedQA (11b params) | 43.2 |
| Biolinkbert-Large (340m params) | 50.7 |
قم بتشغيل الأوامر التالية لإنشاء بيئة كوندا:
conda create -n linkbert python=3.8
source activate linkbert
pip install torch==1.10.1+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
pip install transformers==4.9.1 datasets==1.11.0 fairscale==0.4.0 wandb sklearn seqevalيمكنك تنزيل مجموعات البيانات المعالجة مسبقًا والتي قمنا بتقييم Linkbert من [هنا] . ما عليك سوى تنزيل ملف zip هذا وفك ضغطه. وهذا يشمل:
يتم معالجتها مسبقًا بتنسيق مجموعة بيانات HuggingFace.
إذا كنت ترغب في المعالجة المسبقة للبيانات الأولية من نقطة الصفر ، فيمكنك اتخاذ الخطوات التالية:
scripts/download_raw_data.shscripts/preprocess_{mrqa,blurb,medqa,mmlu}.py . قم بتغيير دليل العمل إلى src/ ، واتبع الإرشادات أدناه لكل مجموعة بيانات.
لضبط مجموعات بيانات MRQA (Hotpotqa ، TriviaQa ، NaturalQuesions ، SearchQa ، NewsQa ، Squad) ، تشغيل أوامر تشغيل في run_examples_mrqa_linkbert-{base,large}.sh .
للضبط على مجموعات البيانات الطبية الحيوية (PubMedQA ، BioAsq ، Hoc ، Chemprot ، Pico ، إلخ) ، قم بتشغيل الأوامر المدرجة في run_examples_blurb_biolinkbert-{base,large}.sh .
لضبط مجموعة بيانات MedQA-usmle ، قم بتشغيل الأوامر المدرجة في run_examples_medqa_biolinkbert-{base,large}.sh .
لتقييم النموذج الذي تم ضبطه بشكل إضافي على الطب المهني MMLU ، قم بتشغيل الأوامر المدرجة في أسفل run_examples_medqa_biolinkbert-large.sh .
نقدم أيضًا ورقة عمل Codalab ، والتي نسجل تجاربنا عليها. قد تجدها مفيدة لتكرار التجارب باستخدام نفس النموذج والرمز والبيانات والبيئة.
إذا وجدت عملنا مفيدًا ، فيرجى الاستشهاد بما يلي:
@InProceedings { yasunaga2022linkbert ,
author = { Michihiro Yasunaga and Jure Leskovec and Percy Liang } ,
title = { LinkBERT: Pretraining Language Models with Document Links } ,
year = { 2022 } ,
booktitle = { Association for Computational Linguistics (ACL) } ,
}