Views
No views yet
<en> first aid </en> <yo> ni wọ́n ṣáré fún kí ó tó kú </yo>omniASR_CTC_300M (Meta Omnilingual ASR, ~330M params) fine-tuned on the
YECS Yoruba–English code-switching corpus, with four atomic tag tokens
(<yo> </yo> <en> </en>) added to the SentencePiece vocabulary (9812 → 9816) and the
CTC head resized accordingly. Language-boundary prediction is learned as an auxiliary
task at zero extra inference cost — one model does transcription + per-word LID.omniASR_CTC_300M models were fine-tuned identically (5 epochs, same 80,013
utterances / 95.6 h, same recipe) and scored with identical normalization on the same
full held-out 9,949-utterance YECS test set (tags stripped from both refs and hyps before WER):| Metric | Tag-injection | Plain baseline |
|---|---|---|
| WER (tone-aware) | 32.45% | 33.56% |
| WER (tone-insensitive) | 28.74% | 29.81% |
| CER (tone-aware) | 10.56% | 11.00% |
| CER (tone-insensitive) | 9.08% | 9.49% |
| Per-word LID accuracy | 98.04% | — |
| Per-word LID macro-F1 | 98.04% | — |
model.pt),
extended tokenizer (omniASR_tokenizer_v1.model) and cards are in this repo.1from omnilingual_asr.models.inference.pipeline import ASRInferencePipeline
2import torch
3pipe = ASRInferencePipeline(model_card="omniASR_CTC_300M_lid_ft",
4 device=torch.device("cuda"), dtype=torch.bfloat16)
5print(pipe.transcribe(["utt.wav"], batch_size=8))
6# -> ['<en> ... </en> <yo> ... </yo>']omniASR_CTC_300M; 5 epochs (3,125 steps), lr 1e-5, bf16, grad-accum 4, 1×H200.afroscale_ai_cmu_africa/yecs-lid (run ctc-tag-inject).test_metadata.csv ships with targets stripped), so these metrics are from an
internal evaluation and are not independently reproducible without those labels.