omniASR CTC 300M_v2 — fine-tuned on Chichewa/Nyanja (FLEURS)
Fine-tuned checkpoint of OmniLingual ASR CTC 300M_v2
on the FLEURS Chichewa/Nyanja train split (google/fleurs, config ny_mw).
Training used the fairseq2 wav2vec2 ASR recipe for 5,000 steps with the encoder
frozen for the first 1,000 steps. Tokenizer: omniASR_tokenizer_written_v2.
Results
| Dataset | WER (%) | CER (%) |
|---|---|---|
| FLEURS Chichewa test | 36.53 | 8.04 |
| Zambezi Voice Nyanja test | 61.93 | 13.61 |
For comparison, the zero-shot omniASR CTC 300M_v2 baseline reaches 51.92% WER on FLEURS. The fine-tuned model outperforms the zero-shot 1B variant (41.36%) by 4.8 pp, and beats the zero-shot 3B variant (62.10%) on the out-of-domain Zambezi Voice benchmark despite never seeing that data during training.
Training details
- Base model: omniASR_CTC_300M_v2
- Tokenizer: omniASR_tokenizer_written_v2
- Training data: FLEURS Chichewa/Nyanja train split (2,653 examples, ~7.2 h)
- Steps: 5,000 (best checkpoint at step 3,500 by FLEURS dev WER)
- Dev WER at best checkpoint: 38.33%
- Learning rate: 1e-5
- Encoder frozen: first 1,000 steps
- Gradient accumulation: 4 batches
- Mixed precision: bfloat16
- Framework: fairseq2
Checkpoint format
The checkpoint is stored in fairseq2's sharded format.
checkpoint/model/pp_00/tp_00/sdp_00.pt contains the full model state
(training used a single GPU, so there is only one shard).
To load the model, use the OmniLingual ASR inference pipeline with the
omniASR_CTC_300M_v2 model card and point the checkpoint path at sdp_00.pt.