--- language: lo tags: - lao-roberta-base license: mit datasets: - oscar-corpus/OSCAR-2109 --- ## Lao RoBERTa Base Lao RoBERTa Base is a masked language model based on the [RoBERTa](https://arxiv.org/abs/1907.11692) model. It was trained on the [OSCAR-2109](https://huggingface.co/datasets/oscar-corpus/OSCAR-2109) dataset, specifically the `deduplicated_lo` subset. The model was trained from scratch and achieved an evaluation loss of 1.4556 and an evaluation perplexity of 4.287. This model was trained using HuggingFace's PyTorch framework and the training script found [here](https://github.com/huggingface/transformers/blob/master/examples/pytorch/language-modeling/run_mlm.py). All training was done on a TPUv3-8, provided by the [TPU Research Cloud](https://sites.research.google/trc/about/) program. You can view the detailed training results in the [Training metrics](https://huggingface.co/w11wo/lao-roberta-base/tensorboard) tab, logged via Tensorboard. ## Model | Model | #params | Arch. | Training/Validation data (text) | | ------------------ | ------- | ------- | ------------------------------------ | | `lao-roberta-base` | 124M | RoBERTa | OSCAR-2109 `deduplicated_lo` Dataset | ## Training procedure ### Training hyperparameters The following hyperparameters were used during training: - learning_rate: 0.0002 - train_batch_size: 128 - eval_batch_size: 128 - seed: 42 - distributed_type: tpu - num_devices: 8 - total_train_batch_size: 1024 - total_eval_batch_size: 1024 - optimizer: Adam with betas=(0.9,0.98) and epsilon=1e-08 - lr_scheduler_type: linear - lr_scheduler_warmup_steps: 1000 - num_epochs: 30.0 ### Training results | Training Loss | Epoch | Step | Validation Loss | | :-----------: | :---: | :--: | :-------------: | | No log | 1.0 | 216 | 5.8586 | | No log | 2.0 | 432 | 5.5095 | | 6.688 | 3.0 | 648 | 5.3976 | | 6.688 | 4.0 | 864 | 5.3562 | | 5.3629 | 5.0 | 1080 | 5.2912 | | 5.3629 | 6.0 | 1296 | 5.2385 | | 5.22 | 7.0 | 1512 | 5.1955 | | 5.22 | 8.0 | 1728 | 5.1785 | | 5.22 | 9.0 | 1944 | 5.1327 | | 5.1248 | 10.0 | 2160 | 5.1243 | | 5.1248 | 11.0 | 2376 | 5.0889 | | 5.0591 | 12.0 | 2592 | 5.0732 | | 5.0591 | 13.0 | 2808 | 5.0417 | | 5.0094 | 14.0 | 3024 | 5.0388 | | 5.0094 | 15.0 | 3240 | 4.9299 | | 5.0094 | 16.0 | 3456 | 4.2991 | | 4.7527 | 17.0 | 3672 | 3.6541 | | 4.7527 | 18.0 | 3888 | 2.7826 | | 3.4431 | 19.0 | 4104 | 2.2796 | | 3.4431 | 20.0 | 4320 | 2.0213 | | 2.2803 | 21.0 | 4536 | 1.8809 | | 2.2803 | 22.0 | 4752 | 1.7615 | | 2.2803 | 23.0 | 4968 | 1.6925 | | 1.8601 | 24.0 | 5184 | 1.6205 | | 1.8601 | 25.0 | 5400 | 1.5751 | | 1.6697 | 26.0 | 5616 | 1.5391 | | 1.6697 | 27.0 | 5832 | 1.5200 | | 1.5655 | 28.0 | 6048 | 1.4866 | | 1.5655 | 29.0 | 6264 | 1.4656 | | 1.5655 | 30.0 | 6480 | 1.4627 | ## How to Use ### As Masked Language Model ```python from transformers import pipeline pretrained_name = "w11wo/lao-roberta-base" prompt = "REPLACE WITH MASKED PROMPT" fill_mask = pipeline( "fill-mask", model=pretrained_name, tokenizer=pretrained_name ) fill_mask(prompt) ``` ### Feature Extraction in PyTorch ```python from transformers import RobertaModel, RobertaTokenizerFast pretrained_name = "w11wo/lao-roberta-base" model = RobertaModel.from_pretrained(pretrained_name) tokenizer = RobertaTokenizerFast.from_pretrained(pretrained_name) prompt = "ສະ​ບາຍ​ດີ​ຊາວ​ໂລກ." encoded_input = tokenizer(prompt, return_tensors='pt') output = model(**encoded_input) ``` ## Disclaimer Do consider the biases which came from pre-training datasets that may be carried over into the results of this model. ## Author Lao RoBERTa Base was trained and evaluated by [Wilson Wongso](https://w11wo.github.io/). All computation and development are done on Google's TPU-RC. ## Framework versions - Transformers 4.13.0.dev0 - Pytorch 1.9.0+cu102 - Datasets 1.16.1 - Tokenizers 0.10.3