🚀 RoBERTa-印地语-古吉拉特语-梵语
本项目的模型是一个多语言模型,类似RoBERTa,在印地语、梵语和古吉拉特语的维基百科文章上进行训练。该模型能帮助处理多种印度语言相关的自然语言处理任务,具有一定的通用性和实用性。
🚀 快速开始
from transformers import AutoTokenizer, AutoModelWithLMHead, pipeline
tokenizer = AutoTokenizer.from_pretrained("surajp/RoBERTa-hindi-guj-san")
model = AutoModelWithLMHead.from_pretrained("surajp/RoBERTa-hindi-guj-san")
fill_mask = pipeline(
"fill-mask",
model=model,
tokenizer=tokenizer
)
fill_mask("ગુજરાતમાં ૧૯મી માર્ચ સુધી કોઈ સકારાત્મક (પોઝીટીવ) રીપોર્ટ આવ્યો <mask> હતો.")
'''
输出:
--------
[
{'score': 0.07849744707345963, 'sequence': '<s> ગુજરાતમાં ૧૯મી માર્ચ સુધી કોઈ સકારાત્મક (પોઝીટીવ) રીપોર્ટ આવ્યો જ હતો.</s>', 'token': 390},
{'score': 0.06273336708545685, 'sequence': '<s> ગુજરાતમાં ૧૯મી માર્ચ સુધી કોઈ સકારાત્મક (પોઝીટીવ) રીપોર્ટ આવ્યો ન હતો.</s>', 'token': 478},
{'score': 0.05160355195403099, 'sequence': '<s> ગુજરાતમાં ૧૯મી માર્ચ સુધી કોઈ સકારાત્મક (પોઝીટીવ) રીપોર્ટ આવ્યો થઇ હતો.</s>', 'token': 2075},
{'score': 0.04751499369740486, 'sequence': '<s> ગુજરાતમાં ૧૯મી માર્ચ સુધી કોઈ સકારાત્મક (પોઝીટીવ) રીપોર્ટ આવ્યો એક હતો.</s>', 'token': 600},
{'score': 0.03788900747895241, 'sequence': '<s> ગુજરાતમાં ૧૯મી માર્ચ સુધી કોઈ સકારાત્મક (પોઝીટીવ) રીપોર્ટ આવ્યો પણ હતો.</s>', 'token': 840}
]
✨ 主要特性
- 多语言支持:该模型能够处理印地语、梵语和古吉拉特语三种语言。
- 预训练与微调:先使用印地语进行预训练,再在梵语和古吉拉特语上进行微调,有助于模型学习相似语言。
📚 详细文档
模型描述
这是一个类似多语言RoBERTa的模型,在印地语、梵语和古吉拉特语的维基百科文章上进行训练。分词器在组合文本上进行训练。模型先使用印地语进行预训练,然后在梵语和古吉拉特语的组合文本上进行微调,期望通过印地语的预训练帮助模型学习相似语言。
配置
属性 |
详情 |
hidden_size |
768 |
num_attention_heads |
12 |
num_hidden_layers |
6 |
vocab_size |
30522 |
model_type |
roberta |
预期用途与限制
如何使用
上述快速开始部分已经给出了使用示例,通过transformers
库加载模型和分词器,并使用pipeline
进行掩码填充任务。
训练数据
模型使用了Kaggle上清理后的印地语、梵语和古吉拉特语的维基百科文章,这些数据包含训练和评估文本,也被用于 iNLTK。
训练过程
- 在TPU上(使用
xla_spawn.py
)进行训练。
- 用于语言建模任务。
- 在多个epoch中,将
--block_size
从128逐步增加到256。
- 分词器在组合文本上进行训练。
- 先使用印地语进行预训练,再在梵语和古吉拉特语文本上进行微调。
训练命令如下:
--model_type distillroberta-base \
--model_name_or_path "/content/SanHiGujBERTa" \
--mlm_probability 0.20 \
--line_by_line \
--save_total_limit 2 \
--per_device_train_batch_size 128 \
--per_device_eval_batch_size 128 \
--num_train_epochs 5 \
--block_size 256 \
--seed 108 \
--overwrite_output_dir \
评估结果
困惑度(perplexity) = 2.920005983224673
📄 许可证
本项目采用MIT许可证。
由 Suraj Parmar/@parmarsuraj99 创建 | 领英
🏳️🌈 于印度用心打造