masakhane/mafand
Updated β’ 875 β’ 18
High-performance English β Luganda translation. Outperforms Google Translate. 918 MB. Fully offline.
| Benchmark (FLORES-200 devtest) | chrF++ | spBLEU |
|---|---|---|
| Google Translate | 41.29 | 14.45 |
| Luganda Translator V1 | 45.01 | 17.70 |
Results: Statistically significant lead over Google Translate (paired bootstrap, p β€ 0.001). Zero dependencies on APIs, internet, or GPUs. Optimized for CPU and Android (arm64).
pip install ctranslate2 transformers sentencepiece huggingface_hub
import ctranslate2
from huggingface_hub import snapshot_download
from transformers import AutoTokenizer
path = snapshot_download("kyleparrratt/luganda-translator-v1")
tok = AutoTokenizer.from_pretrained("facebook/nllb-200-distilled-600M", src_lang="eng_Latn")
translator = ctranslate2.Translator(path, device="cpu", compute_type="int8")
def translate(text, beam_size=4):
tokens = tok.convert_ids_to_tokens(tok.encode(text))
result = translator.translate_batch([tokens], target_prefix=[["lug_Latn"]], beam_size=beam_size)
return tok.decode(tok.convert_tokens_to_ids(result[0].hypotheses[0][1:]), skip_special_tokens=True)
print(translate("Where is the nearest hospital?"))
# Eddwaliro eriri okumpi liri ludda wa?