日语RoBERTa基础模型

本仓库提供基础尺寸的日语RoBERTa模型。该模型由rinna株式会社使用Github仓库rinnakk/japanese-pretrained-models中的代码训练而成。
模型加载方式
from transformers import AutoTokenizer, AutoModelForMaskedLM
tokenizer = AutoTokenizer.from_pretrained("rinna/japanese-roberta-base", use_fast=False)
tokenizer.do_lower_case = True
model = AutoModelForMaskedLM.from_pretrained("rinna/japanese-roberta-base")
掩码词预测使用说明
注意1:使用[CLS]
标记
进行掩码词预测时,务必在句子前添加[CLS]
标记,因为模型训练时使用了该标记进行编码。
注意2:在分词后使用[MASK]
A) 直接在输入字符串中输入[MASK]
和B) 分词后将某个词替换为[MASK]
会产生不同的词序列,从而导致不同的预测结果。更合适的方式是在分词后使用[MASK]
(与模型预训练方式一致)。但Huggingface推理API仅支持在输入字符串中直接输入[MASK]
,预测结果可能不够稳健。
注意3:显式提供position_ids
参数
当未为Roberta*
模型提供position_ids
时,Huggingface的transformers
会自动构建,但会从padding_idx
而非0
开始(参见问题和Huggingface实现中的create_position_ids_from_input_ids()
函数)。由于该tokenizer的padding_idx
不是0
,请务必自行构建position_ids
并从位置ID0
开始。
使用示例
以下示例展示了本模型作为掩码语言模型的工作原理。请注意运行以下代码示例与运行Huggingface推理API的区别。
text = "4年に1度オリンピックは開かれる。"
text = "[CLS]" + text
tokens = tokenizer.tokenize(text)
print(tokens)
masked_idx = 5
tokens[masked_idx] = tokenizer.mask_token
print(tokens)
token_ids = tokenizer.convert_tokens_to_ids(tokens)
print(token_ids)
import torch
token_tensor = torch.LongTensor([token_ids])
position_ids = list(range(0, token_tensor.size(1)))
print(position_ids)
position_id_tensor = torch.LongTensor([position_ids])
with torch.no_grad():
outputs = model(input_ids=token_tensor, position_ids=position_id_tensor)
predictions = outputs[0][0, masked_idx].topk(10)
for i, index_t in enumerate(predictions.indices):
index = index_t.item()
token = tokenizer.convert_ids_to_tokens([index])[0]
print(i, token)
"""
0 総会
1 サミット
2 ワールドカップ
3 フェスティバル
4 大会
5 オリンピック
6 全国大会
7 党大会
8 イベント
9 世界選手権
"""
模型架构
基于12层、768隐藏层大小的Transformer掩码语言模型。
训练过程
模型在Japanese CC-100和Japanese Wikipedia上训练,优化掩码语言建模目标,使用8*V100 GPU训练约15天。在从CC-100采样的开发集上达到约3.9的困惑度。
分词方式
模型使用基于sentencepiece的分词器,词汇表使用官方sentencepiece训练脚本在日语维基百科上训练而成。
发布日期
2021年8月25日
引用方式
@misc{rinna-japanese-roberta-base,
title = {rinna/japanese-roberta-base},
author = {Zhao, Tianyu and Sawada, Kei},
url = {https://huggingface.co/rinna/japanese-roberta-base}
}
@inproceedings{sawada2024release,
title = {Release of Pre-Trained Models for the {J}apanese Language},
author = {Sawada, Kei and Zhao, Tianyu and Shing, Makoto and Mitsui, Kentaro and Kaga, Akio and Hono, Yukiya and Wakatsuki, Toshiaki and Mitsuda, Koh},
booktitle = {Proceedings of the 2024 Joint International Conference on Computational Linguistics, Language Resources and Evaluation (LREC-COLING 2024)},
month = {5},
year = {2024},
pages = {13898--13905},
url = {https://aclanthology.org/2024.lrec-main.1213},
note = {\url{https://arxiv.org/abs/2404.01657}}
}
许可证
MIT许可证