DigitalUmuganda/joeynmt-en-kin
English-to-Kinyarwanda Machine Translation
This model is an English-to-Kinyarwanda machine translation model, it was built and trained using JoeyNMT framework. The translation model uses transformer encoder-decoder based architecture. It was trained on a 47,211 long English-Kinyarwanda bitext dataset prepared by Digital Umuganda.
Model architecture
Encoder && Decoder
Type: Transformer
Numlayer: 6 Numheads: 8 Embeddingdim: 256 ffsize: 1024 Dropout: 0.1 Layer_norm: post Initializer: xavier Total params: 12563968
Pre-processing
Tokenizertype: subword-nmt nummerges: 4000 BPE encoding learned on the bitext, separate vocabularies for each language Pretokenizer: None No lowercase applied
Training
Optimizer: Adam Loss: crossentropy Epochs: 30 Batch_size: 256 Number of GPUs: 1
Evaluation
Evaluationmetrics: Bluescore, chrf Tokenization: None Beamwidth: 15 Beamalpha: 1.0
Tools
- joeyNMT 2.0.0
- datasets
- pandas
- numpy
- transformers
- sentencepiece
- pytorch(with cuda)
- sacrebleu
- protobuf>=3.20.1
How to train
Use the following link for more information
Translation
To install joeyNMT run:
$ git clone https://github.com/joeynmt/joeynmt.git
$ cd joeynmt $ pip install . -e
Interactive translation(stdin):
$ python -m joeynmt translate args.yaml
File translation:
$ python -m joeynmt translate args.yaml < srclang.txt > hypothesistrg_lang.txt
Accuracy measurement
Sacrebleu installation:
$ pip install sacrebleu
Measurement(bleu_score, chrf):
$ sacrebleu reference.tsv -i hypothesis.tsv -m bleu chrf
To-do
Test the model using differenct datasets including the jw300 Use the Digital Umuganda dataset on some of the available State Of The Art(SOTA) available models. * Expand the dataset
Result
The following result were obtained on using the sacrebleu.
English-to-Kinyarwanda:
Blue: 56.5
Chrf: 75.2
