이 repo는 논문의 모델, 코드 및 데이터를 제공합니다. Linkbert : 문서 링크 (ACL 2022)가있는 사전 여신 언어 모델. [PDF] [Huggingface 모델]
Linkbert는 여러 문서에 걸쳐있는 지식을 포함하기 위해 하이퍼 링크 및 인용 링크와 같은 문서 링크를 캡처하는 새로운 사전 법적 언어 모델 (BERT 개선)입니다. 구체적으로, 그것은 Bert에서와 같이 단일 문서를 사용하는 것 외에도 연결된 문서를 동일한 언어 모델 컨텍스트로 공급하여 사전에 사기를했습니다.
Linkbert는 Bert의 드롭 인 교체로 사용할 수 있습니다. 일반적인 언어 이해 작업 (예 : 텍스트 분류)에 대한 성능 향상을 달성하며, 특히 지식 집약적 인 작업 (예 : 질문 응답) 및 교차 용 문서 작업 (예 : 독해 이해, 문서 검색)에 특히 효과적입니다.

우리는 일반 영역과 생물 의학 영역 모두에 대해 사전에 미리 된 Linkbert (-base 및 -large 크기)를 해제합니다. 이 모델은 Huggingface Bert 모델과 동일한 형식을 가지고 있으며 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 및 접착제) :
| Hotpotqa | Triviaqa | searchQa | 자연적 q | Newsqa | 분대 | 아교 | |
|---|---|---|---|---|---|---|---|
| F1 | F1 | F1 | F1 | F1 | F1 | AVG 점수 | |
| 버트베이스 | 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 |
| 베르트 라지 | 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는 새로운 최첨단 예술가를 얻습니까?
| Blurb 점수 | PubMedqa | 바이오 Q | 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 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.sh 의 지침에 따라 원래 소스에서 원시 데이터 세트를 다운로드하십시오.scripts/preprocess_{mrqa,blurb,medqa,mmlu}.py 실행하십시오. 작업 디렉토리를 src/ 로 변경하고 각 데이터 세트의 아래 지침을 따르십시오.
MRQA 데이터 세트 (hotpotqa, triviaqa, naturalquestions, searchqa, newsqa, squad), run_examples_mrqa_linkbert-{base,large}.sh 에 나열된 명령을 미세 조정하기 위해.
Blurb Biomedial DataSets (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) } ,
}