Production Whisper ASR fine-tuning for Ghana Speech (Asante/Akuapem Twi, Fante, Ewe) — Wisdom Dogah
# Ghana Speech ASR — Wisdom Dogah
Production-grade Whisper fine-tuning pipeline for the Ghana Speech dataset on NVIDIA H200 (Ghana NLP / AISCA).
**Author:** Wisdom Dogah
**License (models / data derivatives):** CC BY-NC 4.0
**Target languages (v1):** Asante Twi · Akuapem Twi · Fante · Ewe
This repository is intentionally structured like a serious ML training codebase — config-driven experiments, indexed manifests, reproducible splits, WER/CER evaluation, and Hub publishing — not a one-off notebook.
## Why this design
| Practice | Implementation |
|---|---|
| Config-driven runs | `configs/*.yaml` |
| Leakage-aware splits | Hash-bucket by `language + source_file` |
| Indexed I/O | Manifest stores `parquet_path` + `row_index` |
| Robust audio decode | `soundfile` on embedded bytes (no `torchcodec` required) |
| Standard trainer | Hugging Face `Seq2SeqTrainer` + Whisper |
| Metrics that matter | WER + CER via `evaluate` / `jiwer` |
| Session safety | Checkpoints + TensorBoard under `outputs/`; push to HF before wipe |
## Ghana NLP session rules (followed)
From the H200 quickstart / model-card template:
1. Dataset lives at `/data/ghana-speech` (42 language subsets, 16 kHz mono).
2. License is **CC BY-NC 4.0** — non-commercial only.
3. Share trained models with **`ghananlpcommunity`** on Hugging Face and include a model card.
4. `/workspace` is **wiped** at window end — export / push before the deadline.
5. Use **`tmux`** for long-running jobs.
## Repository layout
```text
configs/ Experiment YAML
src/ghana_asr/
cli/ prepare | train | evaluate | push
data/ manifests + indexed dataset + collator
evaluation/ WER/CER
training/ Seq2Seq training loop
utils/ seeding, audio, logging
model_card/MODEL_CARD.md Hub README template (Ghana NLP format)
scripts/ Thin wrappers for H200 / tmux
tests/ Unit tests for split hashing & config
```
## Q …