此存储库提供了我们论文的模型,代码和数据: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) } ,
}