Lmaana 2.1: Clean Darija Adaptation with OmniASR CTC 1B

Lmaana 2.1 is a research checkpoint for Moroccan Darija automatic speech recognition. It continues the retained Lmaana V5 checkpoint with conservative mixed replay over Dataset13 and a cleaned Lmaana corpus derived from MoulSot. The Lmaana transcripts preserve Arabic/Latin code switching and correct a set of French expressions that had previously been written phonetically in Arabic.

Format: native fairseq2/OmniASR checkpoint. This is not a Transformers from_pretrained() export.

Model Summary

Property Value
Task Automatic speech recognition
Language Moroccan Darija (ary) with Arabic/Latin code switching
Architecture OmniASR CTC 1b_v2 (wav2vec2_asr)
Framework fairseq2
Tokenizer omniASR_tokenizer_written_v2 character tokenizer
Selected checkpoint 5,000 adaptation steps
Decoding used for evaluation Greedy CTC, no external language model

Dataset profile

Training Data

The training mixture contains two cleaned corpora:

Corpus Training examples Duration Effective sampling weight
Dataset13 52,892 263.76 h 74.21%
Lmaana clean 74,243 91.68 h 25.79%

Dataset13 provides the larger and more varied training domain. Lmaana clean is based on MoulSot audio with revised transcripts, especially for code-switched French and Latin-script spans. Validation and test partitions were excluded from training. Lmaana has more training examples but far fewer audio hours, because its segments average about 4.4 s versus about 18.0 s for Dataset13. Dataset13 therefore contributes broader acoustic duration, while Lmaana adds dense supervision from shorter, transcript-cleaned utterances.

Adaptation Procedure

Lmaana 2.1 starts from the retained Lmaana V5 checkpoint rather than from the official OmniASR base. A previous clean-curriculum experiment from the official base underperformed V5, so this run uses guarded continuation:

Parameter Value
Training steps 5,000
Peak learning rate 1e-7
Encoder freeze First 500 steps
Gradient accumulation 8 batches
beta_corpus / beta_language 1.0 / 1.0
Validation/checkpoint interval 500 steps

The retained V5 checkpoint was included as step 0 during selection. A candidate could regress by at most 0.05 CER/UER point and 0.10 WER point on either Dataset13 or Lmaana clean validation. Step 5,000 ranked first on all four validation error rates.

Validation Results

UER is the name emitted by fairseq2. With this character tokenizer it is used as the character-level error rate (CER/UER).

Checkpoint Dataset13 CER/UER Dataset13 WER Lmaana CER/UER Lmaana WER
Retained V5 baseline 17.3908% 43.2622% 13.1994% 40.4155%
Step 3,500 17.3347% 43.1245% 13.2053% 40.4015%
Lmaana 2.1, step 5,000 17.3252% 43.1238% 13.1925% 40.3535%

Validation progression

The validation curves show modest but consistent progress. Dataset13 improves more clearly because it contributes most of the sampled audio duration. Lmaana changes are smaller, but step 5,000 is still the best joint validation choice.

Held-Out Test Results

The test partitions were evaluated once after validation-based selection.

Model Test corpus CTC loss CER/UER WER Examples
Retained V5 Dataset13 183.8770 17.7674% 44.2243% 6,576
Lmaana 2.1 Dataset13 183.6260 17.7029% 44.0393% 6,576
Retained V5 Lmaana clean 75.2100 14.6099% 45.1385% 1,957
Lmaana 2.1 Lmaana clean 75.0515 14.6048% 45.1690% 1,957

Held-out test comparison

Held-out test deltas

Compared with V5, Lmaana 2.1 improves Dataset13 test CER by 0.0645 point and WER by 0.1850 point. Lmaana clean test CER improves by 0.0051 point, while WER regresses by 0.0305 point. The checkpoint is therefore the strongest balanced continuation in this experiment, but it is not an improvement on every individual metric.

Dataset13 and Lmaana scores should not be compared as if they were repeated measurements of one dataset. They contain different source material, segment lengths, transcript conventions, and code-switching patterns. The strongest evidence is the within-dataset comparison between V5 and Lmaana 2.1.

Download and Use

from huggingface_hub import snapshot_download

local_path = snapshot_download(repo_id="sailu4/lmaana-2.1")
print(local_path)

The model shard is stored at checkpoint/model/pp_00/tp_00/sdp_00.pt. Load it through the matching OmniASR/fairseq2 wav2vec2_asr recipe and use the tokenizer under tokenizer/. The repository also includes the training configuration and exact selection, validation, and test summaries under metadata/.

Intended Use

  • Research on Moroccan Darija speech recognition.
  • Darija transcription experiments involving Arabic/Latin code switching.
  • Continued fairseq2/OmniASR adaptation with a fresh optimizer.
  • Comparison of transcript cleaning and mixed-replay strategies.

This checkpoint has not been validated for high-stakes or fully automated decision-making.

Limitations

  • Results use greedy CTC decoding without a language model.
  • Improvements over V5 are small and come from one training run.
  • Performance can vary across accents, recording conditions, domains, and code-switching patterns not represented by the evaluation data.
  • The model can omit words or produce plausible but incorrect transcriptions.
  • Dataset and deployment licenses must be reviewed separately for the intended application.

Repository Contents

  • checkpoint/model/pp_00/tp_00/sdp_00.pt: selected model weights.
  • tokenizer/: OmniASR written-text character tokenizer.
  • metadata/: configuration and evaluation/selection summaries.
  • manifest.json: file sizes and SHA-256 integrity hashes.

Experiment code and the complete protocol are maintained in the Darija CTC project.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support