OpusTranslate
Collection
Collection of tiny models for the OpusTranslate mobile phone application. • 25 items • Updated • 5
Distilled model from a Tatoeba-MT Teacher:Tatoeba-MT-models/eng-ell/opusTCv20210807+bt_transformer-big_2022-03-13, which has been trained on the Tatoeba dataset.
We used the OpusDistillery to train new a new student with the tiny architecture, with a regular transformer decoder. For training data, we used Tatoeba. The configuration file fed into OpusDistillery can be found here.
from transformers import MarianMTModel, MarianTokenizer
model_name = "Helsinki-NLP/opus-mt_tiny_eng-ell"
tokenizer = MarianTokenizer.from_pretrained(model_name)
model = MarianMTModel.from_pretrained(model_name)
tok = tokenizer("The area is also home to species of animals and birds with a wide variety.", return_tensors="pt").input_ids
output = model.generate(tok)[0]
tokenizer.decode(output, skip_special_tokens=True)
| testset | BLEU | chr-F | COMET |
|---|---|---|---|
| Flores+ | 27.3 | 53.9 | 0.8809 |
| Bouquet | 43.4 | 65.7 | 0.9064 |
| testset | BLEU | chr-F | COMET |
|---|---|---|---|
| Flores+ | 25.2 | 52.2 | 0.8530 |
| Bouquet | 40.9 | 63.0 | 0.8784 |
We also provide Marian-compatible versions of this model. To use them, compile Marian and run decoding with marian-decoder, for example:
marian-decoder \
-i input.txt \
-c final.model.npz.best-perplexity.npz.decoder.yml \
-m final.model.npz.best-perplexity.npz \
-v vocab.spm vocab.spm