Downloads · 30 days
65
6% of all-time downloads
w11wo/javanese-roberta-small
javanese-roberta-small is a fill-mask model from w11wo. Use it when you need the model to fill a missing word. It is set up for transformers. The card lists the license as mit.
Javanese RoBERTa Small is a masked language model based on the RoBERTa model. It was trained on the latest (late December 2020) Javanese Wikipedia articles.
Downloads · 30 days
65
6% of all-time downloads
All-time downloads
1K
Public
Parameters
125M
3 GB on disk
Likes
0
Public
Click a slice to open those files.
.h5653 MB · 30%
How the weights are stored.
F32125M · 100%
From the Hugging Face model README
Javanese RoBERTa Small is a masked language model based on the RoBERTa model. It was trained on the latest (late December 2020) Javanese Wikipedia articles.
The model was originally HuggingFace's pretrained English RoBERTa model and is later fine-tuned on the Javanese dataset. It achieved a perplexity of 33.30 on the validation dataset (20% of the articles). Many of the techniques used are based on a Hugging Face tutorial notebook written by Sylvain Gugger, and fine-tuning tutorial notebook written by Pierre Guillou.
Hugging Face's Transformers library was used to train the model -- utilizing the base RoBERTa model and their Trainer class. PyTorch was used as the backend framework during training, but the model remains compatible with TensorFlow nonetheless.
| Model | #params | Arch. | Training/Validation data (text) |
|---|---|---|---|
javanese-roberta-small | 124M | RoBERTa | Javanese Wikipedia (319 MB of text) |
The model was trained for 5 epochs and the following is the final result once the training ended.
| train loss | valid loss | perplexity | total time |
|---|---|---|---|
| 3.481 | 3.506 | 33.30 | 1:11:43 |
from transformers import pipeline
pretrained_name = "w11wo/javanese-roberta-small"
fill_mask = pipeline(
"fill-mask",
model=pretrained_name,
tokenizer=pretrained_name
)
fill_mask("Meja lan kursine lagi <mask>.")
from transformers import RobertaModel, RobertaTokenizerFast
pretrained_name = "w11wo/javanese-roberta-small"
model = RobertaModel.from_pretrained(pretrained_name)
tokenizer = RobertaTokenizerFast.from_pretrained(pretrained_name)
prompt = "Indonesia minangka negara gedhe."
encoded_input = tokenizer(prompt, return_tensors='pt')
output = model(**encoded_input)
Do remember that although the dataset originated from Wikipedia, the model may not always generate factual texts. Additionally, the biases which came from the Wikipedia articles may be carried over into the results of this model.
Javanese RoBERTa Small was trained and evaluated by Wilson Wongso. All computation and development are done on Google Colaboratory using their free GPU access.
If you use any of our models in your research, please cite:
@inproceedings{wongso2021causal,
title={Causal and Masked Language Modeling of Javanese Language using Transformer-based Architectures},
author={Wongso, Wilson and Setiawan, David Samuel and Suhartono, Derwin},
booktitle={2021 International Conference on Advanced Computer Science and Information Systems (ICACSIS)},
pages={1--7},
year={2021},
organization={IEEE}
}