Kazakh omniASR CTC 300M

Fine-tuned Meta omniASR CTC 300M on KSC2 + FLEURS Kazakh data (20,000 steps).

Training

  • Framework: fairseq2 0.6
  • Steps: 20,000
  • Final CTC Loss: 23.76
  • Mixed Precision: bfloat16
  • Grad Accumulation: 8

Evaluation on FLEURS Test Sets

Language Samples WER CER
Kazakh 856 16.42% 3.45%
English 647 21.47% 7.13%
Russian 775 28.51% 5.87%

How to Load

Requires fairseq2 0.6 and the cached omniASR tokenizer.

import torch
from fairseq2.models import load_model
from fairseq2.data.tokenizers import load_tokenizer

# Load base model and apply fine-tuned weights
model = load_model("omniASR_CTC_300M")
state_dict = torch.load("model.pt", map_location="cpu", weights_only=True)

# Strip FSDP prefix if present
clean = {}
for k, v in state_dict.items():
    k2 = k
    while k2.startswith("fsdp.") or k2.startswith("module."):
        k2 = k2[len("fsdp."):].lstrip("module.")
    clean[k2] = v
model.load_state_dict(clean, strict=False)
model.eval()

# Load tokenizer
tokenizer = load_tokenizer("omniASR_tokenizer_v1")
decoder = tokenizer.create_decoder()
sp_model = tokenizer._model

Training Data

  • KSC2: 157 parquet files (Kazakh Cyrillic)
  • FLEURS: 9 parquet files (Kazakh, English, Russian)
  • Total: 166 parquet files, hive-partitioned
Downloads last month
1
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support