HuggingFace镜像/Bio_Discharge_Summary_BERT
模型介绍文件和版本分析

ClinicalBERT - Bio + 出院小结 BERT 模型

Publicly Available Clinical BERT Embeddings 论文包含四个独特的 clinicalBERT 模型:初始化为 BERT-Base(cased_L-12_H-768_A-12)或 BioBERT(BioBERT-Base v1.0 + PubMed 200K + PMC 270K),并在所有 MIMIC 笔记或仅出院小结上进行训练。

本模型卡片介绍 Bio+出院小结 BERT 模型,该模型从 BioBERT 初始化,并仅在 MIMIC 的出院小结上进行训练。

预训练数据

Bio_Discharge_Summary_BERT 模型是在 [MIMIC III] 的所有出院小结上训练的,MIMIC III 是一个包含马萨诸塞州波士顿贝斯以色列医院 ICU 患者电子健康记录的数据库。有关 MIMIC 的更多详细信息,请参见 [here]。NOTEEVENTS 表中的所有笔记都被包含在内(约 8.8 亿词)。

模型预训练

笔记预处理

MIMIC 中的每个笔记首先使用基于规则的章节分割器进行章节分割(例如,出院小结笔记被分割为“现病史”、“家族史”、“简要住院过程”等章节)。然后使用 SciSpacy(en core sci md 分词器)将每个章节分割成句子。

预训练流程

该模型使用 Google 的 BERT 代码库在 Atlas 800T A2 上进行训练。模型参数初始化为 BioBERT(BioBERT-Base v1.0 + PubMed 200K + PMC 270K)。

预训练超参数

我们使用的批处理大小为 32,最大序列长度为 128,学习率为 5 × 10?5 来预训练我们的模型。在所有 MIMIC 笔记上训练的模型训练了 150,000 步。用于以不同掩码复制输入数据的重复因子设置为 5。所有其他默认参数均被使用(具体而言,掩码语言模型概率 = 0.15,每序列最大预测数 = 20)。

如何使用模型

通过 transformers 库加载模型:


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

    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)

更多信息

有关更多详细信息以及在NLI和NER任务上的性能,请参考原始论文《Publicly Available Clinical BERT Embeddings》(NAACL Clinical NLP Workshop 2019),链接:https://arxiv.org/abs/1904.03323。

下载使用量0