Logo Lanfrica

KulmichaBullo/rendille-translator

Domain:

natural language processing

Record type:

model
Creator:
Kul
Host:
Speech-to-speech translation for Rendille language (East Cushitic) using Whisper ASR + NLLB MT + Coqui TTS # Rendille β†’ English Machine Translation Model A production-ready neural machine translation system for Rendille (rel), an East Cushitic language of Kenya (~60K speakers). ## πŸ“‹ Project Status **Current Phase:** Phase 1 β€” Data Collection & Baseline - βœ… Project plan documented in `PROJECT_PLAN.md` - βœ… Data collection scripts created - ⏳ Awaiting: Rendille Bible corpus download validation - ⏳ Next: Baseline NLLB evaluation & tokenizer expansion ## πŸ—οΈ Architecture ``` Rendille English NMT Pipeline β”œβ”€β”€ Data Layer β”‚ β”œβ”€β”€ eBible Corpus (BibleNLP) β€” Verse-aligned parallel Bible β”‚ β”œβ”€β”€ JW300 Dataset (OPUS) β€” Potential parallel source β”‚ └── Synthetic data β€” Back-translation via Somali/Oromo pivots β”œβ”€β”€ Model Layer β”‚ β”œβ”€β”€ Base: facebook/nllb-200-distilled-1.3B (if Rendille in vocab) β”‚ └── Extended tokenizer (if Rendille NOT in NLLB) β†’ expand embeddings β”œβ”€β”€ Training Layer β”‚ β”œβ”€β”€ LoRA fine-tuning (rank r=16) β€” parameter-efficient β”‚ β”œβ”€β”€ Mixed precision training (fp16/bf16) β”‚ └── Cross-lingual multi-task (Somali+Oromo+Rendille) optional └── Evaluation Layer β”œβ”€β”€ BLEU, chrF++ (on held-out Bible books) β”œβ”€β”€ COMET (neural metric) └── Human evaluation (fluency/adequacy) ``` ## πŸš€ Quick Start ### Prerequisites - Python 3.11+ - GPU (NVIDIA CUDA) recommended for fine-tuning; CPU okay for inference - Internet access for downloads (~5–10 GB) ### Installation ```bash # Clone / enter project cd ~/rendille-translation # Install dependencies (prefer editable) pip install -e . # Or manually: pip install torch transformers datasets peft accelerate sacrebleu sentencepiece requests ``` ### Step-by-Step Workflow #### 1. Check NLLB Language Coverage ```bash python scripts/check_nllb_langs.py ``` - If Rendille is listed β†’ mark `--add-token` = False in training - If NOT listed β†’ we MUST expand tokenizer + embedding layer #### 2. Download Rendille Bible Corpus ```bash python scripts/download_bible.py ``` Expected output: ``` Found Rendille (rel) β€” ~27,000 verses Saved rel_vre …