Training multilingual language models on African languages including Amharic, Fulani, Hausa, Somali, Swahili, and Yoruba.
# African Language LLM Project
A comprehensive pipeline for training multilingual language models on African languages including Amharic, Fulani, Hausa, Somali, Swahili, and Yoruba.
## π Project Overview
This project aims to develop and train language models specifically for African languages, addressing the underrepresentation of these languages in current NLP research and applications. The pipeline includes data collection, preprocessing, tokenization, and model training with comprehensive logging and evaluation.
### Supported Languages
- **Amharic** (am) - Ethiopian Semitic language
- **Fulani** (af) - Niger-Congo language family
- **Hausa** (ha) - Chadic language family
- **Somali** (so) - Cushitic language family
- **Swahili** (sw) - Bantu language family
- **Yoruba** (yo) - Niger-Congo language family
## ποΈ Project Structure
```
african_llm_project/
βββ data/ # Data directory
β βββ raw/ # Raw downloaded corpora
β βββ processed/ # Cleaned and processed text files
β βββ augmented/ # Data augmentation outputs
βββ scripts/ # Data processing scripts
β βββ build_tokenized_dataset.py
βββ training/ # Training pipeline
β βββ configs/ # Training configurations
β βββ scripts/ # Training and data collection scripts
β βββ logs/ # Training logs
βββ tokenization/ # Tokenizer models and vocabularies
βββ evaluation/ # Model evaluation scripts
βββ deployment/ # Model deployment utilities
βββ docs/ # Additional documentation
βββ outputs/ # Trained models and checkpoints
```
## π Quick Start
### Prerequisites
- Python 3.8+
- Git
- DVC (for data versioning)
### Installation
1. **Clone the repository**
```bash
git clone
github.com
cd african_llm_projec β¦