Logo Lanfrica

simi-I/yoruba_asr_audio_llm

Domain:

natural language processing

Record type:

projectmodel
Creator:
sim
Host:
# Yoruba ASR — Qwen2-Audio-7B Fine-tuning Fine-tuning of Qwen2-Audio-7B-Instruct on Nigerian speech data from the NaijaSpeech / AfricanVoices corpus using LoRA (Low-Rank Adaptation). ## Project Structure ``` yoruba-qwen2-audio/ ├── src/ │ ├── dataset.py # AudioDataset class │ ├── collator.py # AudioDataCollator class │ └── utils.py # Audio loading helper ├── scripts/ │ ├── preprocess.py # Data extraction and split generation │ └── train_asr.py # LoRA fine-tuning script ├── notebooks/ │ └── merge_and_push.ipynb # Merge LoRA weights and push to Hugging Face Hub ├── configs/ │ └── train_asr.yaml # Training hyperparameters ├── data/ │ └── README.md # How to obtain and preprocess the data └── outputs/ # Checkpoints and logs (gitignored) ``` ## Setup ```bash pip install -r requirements.txt ``` ## Data See data/README.md for how to obtain the dataset and generate the splits. ## Training ```bash python scripts/train_asr.py --config configs/train_asr.yaml ``` To change hyperparameters or data paths, edit `configs/train_asr.yaml` — no need to touch the training script. ## Merging and Pushing to Hugging Face Hub After training, open `notebooks/merge_and_push.ipynb` to: 1. Merge the LoRA adapter weights into the base model 2. Save the Merged model 2. Push the merged model to the Hugging Face Hub ## Model - **Base model:** Qwen2-Audio-7B-Instruct - **Method:** LoRA fine-tuning (r=32, alpha=64, RSLoRA) - **Task:** Automatic Speech Recognition (ASR) - **Data:** NaijaSpeech / AfricanVoices corpus - **Precision:** bfloat16 ## Results | Metric | Score | |--------|-------| | WER | 44.4% |