nsa01n commited on
Commit
dd7cb17
·
verified ·
1 Parent(s): d966c05

model card (top)

Browse files
Files changed (1) hide show
  1. README.md +98 -0
README.md ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: CohereLabs/cohere-transcribe-arabic-07-2026
3
+ library_name: transformers
4
+ license: apache-2.0
5
+ language:
6
+ - ar
7
+ - en
8
+ pipeline_tag: automatic-speech-recognition
9
+ tags:
10
+ - automatic-speech-recognition
11
+ - arabic
12
+ - code-switching
13
+ - decoder-only-finetune
14
+ datasets:
15
+ - Ahmed1/cohere-asr-cs
16
+ ---
17
+
18
+ # nsa01n/cohere-cs-decoder-top
19
+
20
+ Decoder-only fine-tune of
21
+ [`CohereLabs/cohere-transcribe-arabic-07-2026`](https://huggingface.co/CohereLabs/cohere-transcribe-arabic-07-2026)
22
+ for **Arabic/English code-switching**.
23
+
24
+ Arabic podcast speech routinely borrows English words, and a plain Arabic ASR
25
+ model transcribes them phonetically in Arabic script ("الويكند"). This model is
26
+ trained to emit them in Latin script instead ("ال weekend"), which is what
27
+ downstream consumers of the transcript actually want.
28
+
29
+ ## What was trained
30
+
31
+ Variant **`top`** — the last third of the decoder layers were unfrozen. The Conformer audio
32
+ encoder is **frozen in every variant of this series**, including `full`; "full"
33
+ means the full *decoder*, not the full model.
34
+
35
+ | | |
36
+ |---|---|
37
+ | Decoder stack | `model.decoder` (8 layers) |
38
+ | Layers trained | [6, 7] |
39
+ | Encoder trainable params | 0 |
40
+ | Total params | 2066M |
41
+ | Trainable params | 70M (3.366%) |
42
+
43
+ ## Training data
44
+
45
+ [`Ahmed1/cohere-asr-cs`](https://huggingface.co/datasets/Ahmed1/cohere-asr-cs) — VAD-segmented Arabic podcast clips
46
+ (16 kHz mono), transcribed with the base model and then rewritten so English
47
+ loanwords appear in Latin script. Splits are grouped by source episode, so no
48
+ episode appears in more than one split.
49
+
50
+ Trained on 1,900 clips, validated on
51
+ 454.
52
+
53
+ ## Hyperparameters
54
+
55
+ | parameter | value |
56
+ |---|---|
57
+ | gradient_accumulation_steps | 2 |
58
+ | learning_rate | 8e-05 |
59
+ | lr_scheduler_type | cosine |
60
+ | max_grad_norm | 1.0 |
61
+ | num_train_epochs | 6 |
62
+ | optim | adamw_bnb_8bit |
63
+ | per_device_train_batch_size | 16 |
64
+ | save_total_limit | 1 |
65
+ | warmup_ratio | 0.03 |
66
+ | weight_decay | 0.01 |
67
+ | effective batch size | 32 |
68
+ | precision | bf16 |
69
+ | seed | 42 |
70
+
71
+ Final metrics: `{"train_runtime": 407.2033, "train_samples_per_second": 27.996, "train_steps_per_second": 0.884, "total_flos": 5.372639220298678e+19, "train_loss": 0.13692347241772546, "epoch": 6.0}`
72
+
73
+ ## Evaluation
74
+
75
+ | — | Pending. |
76
+
77
+
78
+ ## Usage
79
+
80
+ ```python
81
+ from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor
82
+
83
+ processor = AutoProcessor.from_pretrained("nsa01n/cohere-cs-decoder-top")
84
+ model = AutoModelForSpeechSeq2Seq.from_pretrained("nsa01n/cohere-cs-decoder-top")
85
+ ```
86
+
87
+ Feed it 16 kHz mono audio, ideally VAD-segmented to under 30 s per clip — that
88
+ is how it was trained and the base model caps at 35 s.
89
+
90
+ ## Limitations
91
+
92
+ - Two podcast shows only (`sawalef-business`, `soqrat`); other domains and
93
+ dialects are out of distribution.
94
+ - Training targets were machine-generated (base-model transcription + an LLM
95
+ rewrite pass), not human-verified, so its ceiling is the base model's accuracy
96
+ on this audio.
97
+ - The encoder was never trained, so acoustic robustness is unchanged from the
98
+ base model.