# Multilingual Health QA — African Language Health Question Answering
Competition solution for the Zindi *Multilingual Health Question Answering in
Low-Resource African Languages* challenge. The master notebook
(`health_qa_master_1.ipynb`) documents the full 15-experiment progression from
a TF-IDF retrieval baseline (LB 0.496) to the best submission (LB 0.621).
## Experiment Progression
| # | Experiment | Method | Result | Key Insight |
|---|-----------|--------|--------|-------------|
| 1 | Retrieval baseline | TF-IDF nearest-train-answer | LB 0.496 | Copy ceiling; Ghana ~0.23 |
| 2 | Retriever selection | semantic vs TF-IDF vs best-of-3 | LB 0.543 | No single retriever wins |
| 3 | mT5 generator | fine-tuned mT5-base | LB 0.346 | Weak seq2seq loses to copying |
| 4 | 7B QLoRA + routing | Qwen2.5-7B QLoRA, per-subset | LB 0.594 | Generator wins on novel subsets |
| 5 | Beam vs greedy | beam decoding | Offline: lost every subset | Greedy wins on ROUGE |
| 6 | Epochs 1 vs 2 | training length | Offline: epoch 2 > epoch 1 | No overfitting |
| 7 | Per-subset token caps | max_new_tokens per subset | Offline: small gain | Length must track reference |
| 8 | Routing granularity | per-question router | LB 0.577 (-0.017) | Per-question regressed |
| 9 | Scale 7B to 14B | Qwen2.5-14B | LB 0.614 (+0.020) | Scale helps gen, not Ghana |
| 10 | Use-all-data (train) | train+val (7B) | LB 0.607 (+0.013) | Validation set is usable signal |
| 11 | Use-all-data (retrieval) | train+val corpus, no retrain | **LB 0.621** (best) | Free gain |
| 12 | Cross-subset retrieval | pool English for Ghana | Offline: 0.21 to 0.22 | No copyable Ghana answers |
| 13 | Aya-101 Akan | Africa-capable model | Offline: ~0.21 < ~0.30 | Fluency does not equal ROUGE |
| 14 | Ghana prompt structure | structure prompts vs P0 | Offline: P0 best | Structure can't lift Ghana |
| 15 | Length-trim | trim to reference length | Offline: 0 rows | Self-calibrated |
**Best submission: Experiment 11 (LB 0.621)** — 14 …