HuggingFace镜像/biogpt
模型介绍文件和版本分析
下载使用量0

BioGPT

受预训练语言模型在通用自然语言领域取得巨大成功的启发,其在生物医学领域也受到了越来越多的关注。在通用语言领域的预训练语言模型的两大主要分支(即BERT及其变体和GPT及其变体)中,前者已在生物医学领域得到广泛研究,如BioBERT和PubMedBERT。尽管它们在各种判别性下游生物医学任务上取得了巨大成功,但生成能力的缺乏限制了其应用范围。在本文中,我们提出了BioGPT,这是一种在大规模生物医学文献上预训练的领域特定生成式Transformer语言模型。我们在六个生物医学自然语言处理任务上对BioGPT进行了评估,结果表明我们的模型在大多数任务上优于先前的模型。特别是,我们在BC5CDR、KD-DTI和DDI端到端关系提取任务上分别获得了44.98%、38.42%和40.76%的F1分数,在PubMedQA上获得了78.2%的准确率,创造了新的记录。我们关于文本生成的案例研究进一步证明了BioGPT在生物医学文献方面的优势,能够为生物医学术语生成流畅的描述。

如何使用

import argparse
from openmind import AutoModel, AutoTokenizer
from openmind import is_torch_npu_available

def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument("--model_name_or_path",type=str,help="Path to model",default=None,)
    args = parser.parse_args()
    return args


if __name__ == '__main__':
    if is_torch_npu_available():
        device = "npu:0"
    else:
        device = "cpu"
    args = parse_args()
    model_path = args.model_name_or_path

    # Note: CodeSage requires adding eos token at the end of
    # each tokenized sequence to ensure good performance
    tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True, add_eos_token=True)

    model = AutoModel.from_pretrained(model_path, trust_remote_code=True).to(device)

    inputs = tokenizer.encode("def print_hello_world():\tprint('Hello World!')", return_tensors="pt").to(device)
    embedding = model(inputs)[0]
    print(f'Dimension of the embedding: {embedding[0].size()}')
    print(embedding)