此存儲庫提供了我們論文的模型,代碼和數據:Linkbert:具有文檔鏈接的語言預處理模型(ACL 2022)。 [PDF] [HuggingFace模型]
Linkbert是一種新的預驗證的語言模型(BERT的改進),它捕獲了文檔鏈接,例如超鏈接和引文鏈接,以包括跨多個文檔跨越的知識。具體而言,除了使用與BERT中的單個文檔外,它是通過將鏈接的文檔饋送到相同語言模型上下文中的鑑定的。
Linkbert可以用作BERT的倒入替代品。它可以為一般語言理解任務(例如文本分類)獲得更好的性能,並且對於知識密集的任務(例如,問答)和跨文檔任務(例如閱讀理解,文檔檢索)也特別有效。

我們為通用域和生物醫學領域釋放了預告片的Linkbert(-base和-large尺寸)。這些模型具有與HuggingFace Bert模型相同的格式,您可以輕鬆地使用Linkbert模型切換它們。
| 模型 | 尺寸 | 領域 | 預訓練語料庫 | 下載鏈接(?huggingface) |
|---|---|---|---|---|
| Linkbert-base | 110m參數 | 一般的 | Wikipedia與超鏈接 | Michiyasunaga/Linkbert-base |
| Linkbert-Large | 340m參數 | 一般的 | Wikipedia與超鏈接 | 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和膠水):
| hotpotqa | Triviaqa | searchqa | NaturalQ | newsqa | 隊 | 膠水 | |
|---|---|---|---|---|---|---|---|
| F1 | F1 | F1 | F1 | F1 | F1 | 平均得分 | |
| 伯特基 | 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 |
| Bert-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等): 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專業醫學 | |
|---|---|
| GPT-3(175個參數) | 38.7 |
| UnifiedQA(11B參數) | 43.2 |
| Biolinkbert-large(340m參數) | 50.7 |
運行以下命令創建一個conda環境:
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.sh中的以下說明從原始來源下載RAW數據集scripts/preprocess_{mrqa,blurb,medqa,mmlu}.py 。 將工作目錄更改為src/ ,並按照以下說明的每個數據集更改。
要微調MRQA數據集(HOTPOTQA,TRIVIAQA,HOSTORQUESTIONS,SEARCHQA,NEWSQA,SEEKAD),在run_examples_mrqa_linkbert-{base,large}.sh中列出的run命令。
為了微調生物醫學數據集(PubMedqa,bioasq,hoc,chemprot,pico等),在run_examples_blurb_biolinkbert-{base,large}.sh中列出的run命令。
要微調MEDQA-USMLE數據集,請在run_examples_medqa_biolinkbert-{base,large}.sh中列出的run命令。
為了評估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) } ,
}