模型:

alabnii/jmedroberta-base-manbyo-wordpiece-vocab50000

英文

alabnii/jmedroberta-base-manbyo-wordpiece-vocab50000

模型描述

这是一个在日本科学技术振兴机构(JST)收集的医学科学学术文章上进行预训练的日语RoBERTa基础模型。

该模型采用 Creative Commons 4.0 International License (CC BY-NC-SA 4.0)许可发布。

引用

Ja:

@InProceedings{sugimoto_nlp2023_jmedroberta,
    author =    "杉本海人 and 壹岐太一 and 知田悠生 and 金沢輝一 and 相澤彰子",
    title =     "J{M}ed{R}o{BERT}a: 日本語の医学論文にもとづいた事前学習済み言語モデルの構築と評価",
    booktitle = "言語処理学会第29回年次大会",
    year =      "2023",
    url =       "https://www.anlp.jp/proceedings/annual_meeting/2023/pdf_dir/P3-1.pdf"
}

En:

@InProceedings{sugimoto_nlp2023_jmedroberta,
    author =    "Sugimoto, Kaito and Iki, Taichi and Chida, Yuki and Kanazawa, Teruhito and Aizawa, Akiko",
    title =     "J{M}ed{R}o{BERT}a: a Japanese Pre-trained Language Model on Academic Articles in Medical Sciences (in Japanese)",
    booktitle = "Proceedings of the 29th Annual Meeting of the Association for Natural Language Processing",
    year =      "2023",
    url =       "https://www.anlp.jp/proceedings/annual_meeting/2023/pdf_dir/P3-1.pdf"
}

用于预训练的数据集

  • 摘要(训练集:1.6GB(10M句子),验证集:0.2GB(1.3M句子))
  • 摘要和正文(训练集:0.2GB(1.4M句子))

如何使用

在使用模型之前,请确保 Manbyo Dictionary 已经下载到/usr/local/lib/mecab/dic/userdic目录下。

# download Manbyo-Dictionary

mkdir -p /usr/local/lib/mecab/dic/userdic
wget https://sociocom.jp/~data/2018-manbyo/data/MANBYO_201907_Dic-utf8.dic
mv MANBYO_201907_Dic-utf8.dic /usr/local/lib/mecab/dic/userdic

注意:如果您没有root权限,或者发现难以将Manbyo词典下载到/usr/local/lib/mecab/dic/userdic目录下,您仍然可以通过覆盖tokenizer设置来加载我们的模型,方法如下:

# download Manbyo-Dictionary wherever you like

wget https://sociocom.jp/~data/2018-manbyo/data/MANBYO_201907_Dic-utf8.dic
mv MANBYO_201907_Dic-utf8.dic /anywhere/you/like
from transformers import AutoModelForMaskedLM, AutoTokenizer

model = AutoModelForMaskedLM.from_pretrained("alabnii/jmedroberta-base-manbyo-wordpiece-vocab50000")
tokenizer = AutoTokenizer.from_pretrained("alabnii/jmedroberta-base-manbyo-wordpiece-vocab50000", **{
    "mecab_kwargs": {
        "mecab_option": "-u /anywhere/you/like/MANBYO_201907_Dic-utf8.dic"
    }
})

输入文本必须提前转换为全角字符(全角)。

您可以按照以下方式使用此模型进行遮蔽语言建模:

from transformers import AutoModelForMaskedLM, AutoTokenizer

model = AutoModelForMaskedLM.from_pretrained("alabnii/jmedroberta-base-manbyo-wordpiece-vocab50000")
model.eval()
tokenizer = AutoTokenizer.from_pretrained("alabnii/jmedroberta-base-manbyo-wordpiece-vocab50000")

texts = ['この患者は[MASK]と診断された。']
inputs = tokenizer.batch_encode_plus(texts, return_tensors='pt')
outputs = model(**inputs)
tokenizer.convert_ids_to_tokens(outputs.logits[0][1:-1].argmax(axis=-1))
# ['この', '患者', 'は', 'SLE', 'と', '診断', 'さ', 'れ', 'た', '。']

或者,您可以使用 Fill-mask pipeline

from transformers import pipeline

fill = pipeline("fill-mask", model="alabnii/jmedroberta-base-manbyo-wordpiece-vocab50000", top_k=10)
fill("この患者は[MASK]と診断された。")
#[{'score': 0.035826072096824646,
#  'token': 10840,
#  'token_str': 'SLE',
#  'sequence': 'この 患者 は SLE と 診断 さ れ た 。'},
# {'score': 0.020926717668771744,
#  'token': 10777,
#  'token_str': '統合失調症',
#  'sequence': 'この 患者 は 統合失調症 と 診断 さ れ た 。'},
# {'score': 0.02092057280242443,
#  'token': 8338,
#  'token_str': '糖尿病',
#  'sequence': 'この 患者 は 糖尿病 と 診断 さ れ た 。'},
# ...

您可以在下游任务中对该模型进行微调。

还可参考示例Colab笔记本: https://colab.research.google.com/drive/1p2770dXs0lge1IkuSHYLO-G-KJ4gZtou?usp=sharing

分词

预训练时使用了Mecab(搭配IPAdic和 Manbyo Dictionary )。每个词都通过 WordPiece 进行分词处理。

词汇表

词汇表包含50000个标记,包括单词(IPAdic和 Manbyo Dictionary )以及由 WordPiece 生成的子词。

训练过程

预训练时使用了以下超参数:

  • learning_rate: 0.0001
  • train_batch_size: 32
  • eval_batch_size: 32
  • seed: 42
  • distributed_type: multi-GPU
  • num_devices: 8
  • total_train_batch_size: 256
  • total_eval_batch_size: 256
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: linear
  • lr_scheduler_warmup_steps: 20000
  • training_steps: 2000000
  • mixed_precision_training: Native AMP

注意:为什么我们将模型称为RoBERTa而不是BERT?

根据配置文件的建议,我们的模型基于HuggingFace的BertForMaskedLM类。然而,出于以下原因,我们将我们的模型视为RoBERTa:

  • 我们仅使用最大序列长度(= 512)的标记进行训练。
  • 我们移除了下一句预测(NSP)的训练目标。
  • 我们引入了动态遮蔽(在每个训练迭代中改变遮蔽模式)。

致谢

这项工作得到了日本科学技术振兴机构(JST)AIP Trilateral AI Research(授权编号:JPMJCR20G9)和日本联合使用/研究信息基础设施(JHPCN)(项目ID:jh221004)的支持。在这项研究工作中,我们使用了“ mdx: a platform for the data-driven future ”。