模型:

alabnii/jmedroberta-base-manbyo-wordpiece

英文

alabnii/jmedroberta-base-manbyo-wordpiece

模型描述

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

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

参考文献

日文:

@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"
}

英文:

@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(1000万个句子),验证集:0.2GB(130万个句子))
  • 摘要和全文(训练集:0.2GB(140万个句子))

如何使用

在使用该模型之前,请确保已下载 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 目录中遇到困难,您仍然可以按照以下方式覆盖令牌化设置来加载我们的模型:

# 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")
tokenizer = AutoTokenizer.from_pretrained("alabnii/jmedroberta-base-manbyo-wordpiece", **{
    "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")
model.eval()
tokenizer = AutoTokenizer.from_pretrained("alabnii/jmedroberta-base-manbyo-wordpiece")

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))
# ['この', '患者', 'は', 'ALS', 'と', '診断', 'さ', 'れ', 'た', '。']

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

from transformers import pipeline

fill = pipeline("fill-mask", model="alabnii/jmedroberta-base-manbyo-wordpiece", top_k=10)
fill("この患者は[MASK]と診断された。")
#[{'score': 0.020739275962114334,
#  'token': 11474,
#  'token_str': 'ALS',
#  'sequence': 'この 患者 は ALS と 診断 さ れ た 。'},
# {'score': 0.0193060003221035,
#  'token': 10777,
#  'token_str': '統合失調症',
#  'sequence': 'この 患者 は 統合失調症 と 診断 さ れ た 。'},
# {'score': 0.014001614414155483,
#  'token': 27318,
#  'token_str': 'Fabry病',
#  'sequence': 'この 患者 は Fabry病 と 診断 さ れ た 。'},
# ...

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

另请参考示例Colab笔记本: https://colab.research.google.com/drive/1yqUaqLf0Lf_imRT9TXPXEt1dowfK_2CS?usp=sharing

令牌化

在预训练过程中使用了Mecab(带有IPAdic和 Manbyo Dictionary )。每个词由 WordPiece 令牌化为子词。

词汇表

词汇表包含30000个词汇,包括单词(IPAdic和 Manbyo Dictionary )和 WordPiece 产生的子词。

训练过程

在预训练过程中使用了以下超参数:

  • 学习率:0.0001
  • 训练批次大小:32
  • 评估批次大小:32
  • 种子:42
  • 分布式类型:多GPU
  • 设备数量:8
  • 总训练批次大小:256
  • 总评估批次大小:256
  • 优化器:Adam,beta=(0.9,0.999),epsilon=1e-08
  • 学习率调度程序类型:线性
  • 学习率调度程序预热步数:20000
  • 训练步数:2000000
  • 混合精度训练:本机AMP

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

如配置文件所示,我们的模型基于HuggingFace的 BertForMaskedLM 类。然而,我们将我们的模型视为RoBERTa,原因如下:

  • 我们一直使用最大序列长度(=512)的令牌进行训练。
  • 我们去除了下一句预测(NSP)的训练目标。
  • 我们引入了动态掩码(每个训练迭代中更改掩码模式)。

致谢

本研究得到日本国家科学技术振兴机构(JST)AIP Trilateral AI Research(Grant Number: JPMJCR20G9)以及日本的Joint Usage/Research Center for Interdisciplinary Large-scale Information Infrastructures (JHPCN)(Project ID: jh221004)的支持。在这项研究工作中,我们使用了 " mdx: a platform for the data-driven future "。