BioGPT
预训练语言模型在生物医学领域正受到越来越多的关注,这源于它们在通用自然语言领域取得的巨大成功。在通用语言领域的两大预训练模型分支中(即BERT及其变体与GPT及其变体),前者已在生物医学领域得到广泛研究,例如BioBERT和PubMedBERT。虽然这些模型在各种判别式下游生物医学任务中取得了显著成功,但生成能力的缺失限制了它们的应用范围。本文提出BioGPT——一个基于大规模生物医学文献预训练的领域专用生成式Transformer语言模型。我们在六项生物医学自然语言处理任务上评估BioGPT,结果表明该模型在多数任务上优于先前模型。特别是在BC5CDR、KD-DTI和DDI端到端关系抽取任务中分别取得44.98%、38.42%和40.76%的F1值,在PubMedQA上达到78.2%的准确率,创造了新纪录。通过文本生成的案例研究,我们进一步证明了BioGPT在生物医学文献中为专业术语生成流畅描述的独特优势。
您可以直接使用以下文本生成流程调用该模型。由于生成过程存在随机性,我们设置了随机种子以确保结果可复现:
>>> from transformers import pipeline, set_seed
>>> from transformers import BioGptTokenizer, BioGptForCausalLM
>>> model = BioGptForCausalLM.from_pretrained("microsoft/biogpt")
>>> tokenizer = BioGptTokenizer.from_pretrained("microsoft/biogpt")
>>> generator = pipeline('text-generation', model=model, tokenizer=tokenizer)
>>> set_seed(42)
>>> generator("COVID-19 is", max_length=20, num_return_sequences=5, do_sample=True)
[{'generated_text': 'COVID-19是一种全球传播的疾病,目前在人口中的感染比例持续上升'},
{'generated_text': 'COVID-19是全球规模最大的病毒性流行病之一'},
{'generated_text': 'COVID-19是常见病症,仅在美国就影响约110万人'},
{'generated_text': 'COVID-19是大流行病,其发病率增长模式与其他地区相似'},
{'generated_text': 'COVID-19通过飞沫传播、空气传播或气溶胶传播'}]
若需在PyTorch中获取文本特征,请使用以下方式:
from transformers import BioGptTokenizer, BioGptForCausalLM
tokenizer = BioGptTokenizer.from_pretrained("microsoft/biogpt")
model = BioGptForCausalLM.from_pretrained("microsoft/biogpt")
text = "请替换为任意文本"
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
束搜索解码示例:
import torch
from transformers import BioGptTokenizer, BioGptForCausalLM, set_seed
tokenizer = BioGptTokenizer.from_pretrained("microsoft/biogpt")
model = BioGptForCausalLM.from_pretrained("microsoft/biogpt")
sentence = "COVID-19是"
inputs = tokenizer(sentence, return_tensors="pt")
set_seed(42)
with torch.no_grad():
beam_output = model.generate(**inputs,
min_length=100,
max_length=1024,
num_beams=5,
early_stopping=True
)
tokenizer.decode(beam_output[0], skip_special_tokens=True)
'COVID-19是由严重急性呼吸综合征冠状病毒2型(SARS-CoV-2)引发的全球大流行疾病,该病毒作为2019冠状病毒病(COVID-19)的病原体,截至2020年3月11日已蔓延至200多个国家和地区,包括美国、加拿大、澳大利亚、新西兰、英国等,累计确诊病例超80万例,死亡病例超80万例。'
引用
如果您在研究中使用了BioGPT,请引用以下论文:
@article{10.1093/bib/bbac409,
author = {Luo, Renqian and Sun, Liai and Xia, Yingce and Qin, Tao and Zhang, Sheng and Poon, Hoifung and Liu, Tie-Yan},
title = "{BioGPT: generative pre-trained transformer for biomedical text generation and mining}",
journal = {Briefings in Bioinformatics},
volume = {23},
number = {6},
year = {2022},
month = {09},
abstract = "{预训练语言模型在生物医学领域正受到越来越多的关注,这源于它们在通用自然语言领域取得的巨大成功。在通用语言领域的两大预训练模型分支中(即BERT及其变体与GPT及其变体),前者已在生物医学领域得到广泛研究,例如BioBERT和PubMedBERT。虽然这些模型在各种判别式下游生物医学任务中取得了显著成功,但生成能力的缺失限制了它们的应用范围。本文提出BioGPT——一个基于大规模生物医学文献预训练的领域专用生成式Transformer语言模型。我们在六项生物医学自然语言处理任务上评估BioGPT,结果表明该模型在多数任务上优于先前模型。特别是在BC5CDR、KD-DTI和DDI端到端关系抽取任务中分别取得44.98
issn = {1477-4054},
doi = {10.1093/bib/bbac409},
url = {https://doi.org/10.1093/bib/bbac409},
note = {bbac409},
eprint = {https://academic.oup.com/bib/article-pdf/23/6/bbac409/47144271/bbac409.pdf},
}