Downloads · 30 days
21
100% of all-time downloads
nsa01n/cohere-cs-decoder-middle
cohere-cs-decoder-middle is a automatic speech recognition model from nsa01n. Use it when you need speech turned into text. It is set up for transformers. The card lists the license as apache-2.0.
Decoder-only fine-tune of CohereLabs/cohere-transcribe-arabic-07-2026 for Arabic/English code-switching.
Downloads · 30 days
21
100% of all-time downloads
All-time downloads
21
Public
Parameters
2.1B
8.3 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors4.1 GB · 100%
From the Hugging Face model README
Decoder-only fine-tune of
CohereLabs/cohere-transcribe-arabic-07-2026
for Arabic/English code-switching.
Arabic podcast speech routinely borrows English words, and a plain Arabic ASR model transcribes them phonetically in Arabic script ("الويكند"). This model is trained to emit them in Latin script instead ("ال weekend"), which is what downstream consumers of the transcript actually want.
Variant middle — the middle third of the decoder layers were unfrozen. The Conformer audio
encoder is frozen in every variant of this series, including full; "full"
means the full decoder, not the full model.
| Decoder stack | model.decoder (8 layers) |
| Layers trained | [3, 4] |
| Encoder trainable params | 0 |
| Total params | 2066M |
| Trainable params | 70M (3.366%) |
Ahmed1/cohere-asr-cs — VAD-segmented Arabic podcast clips
(16 kHz mono), transcribed with the base model and then rewritten so English
loanwords appear in Latin script. Splits are grouped by source episode, so no
episode appears in more than one split.
Trained on 1,900 clips, validated on 454.
| parameter | value |
|---|---|
| gradient_accumulation_steps | 2 |
| learning_rate | 8e-05 |
| lr_scheduler_type | cosine |
| max_grad_norm | 1.0 |
| num_train_epochs | 6 |
| optim | adamw_bnb_8bit |
| per_device_train_batch_size | 16 |
| save_total_limit | 1 |
| warmup_ratio | 0.03 |
| weight_decay | 0.01 |
| effective batch size | 32 |
| precision | bf16 |
| seed | 42 |
Final metrics: {"train_runtime": 408.5423, "train_samples_per_second": 27.904, "train_steps_per_second": 0.881, "total_flos": 5.372639220298678e+19, "train_loss": 0.14237111575073666, "epoch": 6.0}
| metric | this model | base |
|---|---|---|
| clips it switched script on | 43/464 (9.3%) | 0/464 (0.0%) |
| clip-level recall | 0.304 | 0.000 |
| Latin word F1 | 0.335 | 0.000 |
| Latin word precision | 0.723 | 0.000 |
| Latin word recall | 0.218 | 0.000 |
| hallucinated Latin tokens | 18 | 0 |
Measured on 464 held-out clips, 125 of which contain English loanwords (216 Latin word tokens).
| metric | value |
|---|---|
| WER | 0.0536 |
| CER | 0.0293 |
WER rises relative to the base model, and that is expected. The references are the base model's own transcriptions with loanwords rewritten into Latin script, so the base reproduces them almost exactly (~1% WER) while never code-switching. Every script change this model makes correctly still counts as edits against a base-shaped reference.
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor
processor = AutoProcessor.from_pretrained("nsa01n/cohere-cs-decoder-middle")
model = AutoModelForSpeechSeq2Seq.from_pretrained("nsa01n/cohere-cs-decoder-middle")
Feed it 16 kHz mono audio, ideally VAD-segmented to under 30 s per clip — that is how it was trained and the base model caps at 35 s.
sawalef-business, soqrat); other domains and
dialects are out of distribution.