File size: 2,619 Bytes
6d47469 f338e91 6d47469 f338e91 6d47469 f338e91 6d47469 f338e91 6d47469 f338e91 6d47469 f338e91 6d47469 f338e91 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | # Hyperparameters — Whisper ATC Fine-tune (Run 9)
## Model
| Key | Value |
|-----|-------|
| Base model | `openai/whisper-large-v3` |
| Architecture | Whisper Large v3 |
| d_model | 1280 |
| Encoder layers | 32 |
| Decoder layers | 32 |
| Encoder attention heads | 20 |
| Decoder attention heads | 20 |
| Mel bins | 128 |
## Training
| Key | Value |
|-----|-------|
| Optimizer | AdamW (bitsandbytes 8-bit) |
| Learning rate | 1e-05 |
| LR scheduler | Linear |
| Warmup ratio | 0.05 |
| Adam β₁ / β₂ / ε | 0.9 / 0.999 / 1e-8 |
| Weight decay | 0.01 |
| Per-device train batch size | 1 |
| Per-device eval batch size | 8 |
| Gradient accumulation steps | 16 |
| Effective batch size | 16 |
| Gradient checkpointing | Yes (use_reentrant=False) |
| Mixed precision | fp16 |
| Max grad norm | 1.0 |
| Max epochs (configured) | 30 |
| Early stop patience | 7 epochs |
| Label smoothing | 0.0 |
| Freeze encoder | No |
| Seed | 42 |
## Data Sources
| Source | Role | Size |
|--------|------|------|
| axite_all.json | SG military ATC synthetic (4 voices + human) | ~15,716 |
| deepdml/conversations | Real Singapore Changi ATC VHF radio | ~1,443 |
| mnsc-part1-test | MNSC SG-accented read speech | ~3,000 |
## Augmentation
- Gaussian noise (p=0.4, amplitude 0.001–0.015)
- Time stretch (p=0.3, rate 0.9–1.1)
- Random silence padding (p=0.5, 0–0.7s each end)
- BandPassFilter (p=0.75, 300–3400 Hz, VHF radio simulation)
- Clip (p=0.2, ±0.8)
- Mp3Compression (p=0.3, 32–64 kbps)
- SpecAugment: FrequencyMasking(freq\_mask\_param=27) + TimeMasking(time\_mask\_param=100, p=0.05)
## Early stopping
| Key | Value |
|-----|-------|
| Metric | WER (lower is better) |
| Stopped at | Step 21185 / Epoch 19 |
| Patience | 7 epochs |
## Results
| Epoch | Eval loss | WER |
|-------|-----------|-----|
| 1.0 | 0.0838 | 11.46% |
| 2.0 | 0.0550 | 4.28% |
| 3.0 | 0.0406 | 2.79% |
| 4.0 | 0.0417 | 6.58% |
| 5.0 | 0.0381 | 5.46% |
| 6.0 | 0.0372 | 3.27% |
| 7.0 | 0.0375 | 1.39% |
| 8.0 | 0.0381 | 5.52% |
| 9.0 | 0.0188 | 0.83% |
| 10.0 | 0.0202 | 0.84% |
| 11.0 | 0.0185 | 1.05% |
| 12.0 | 0.0189 | **0.82%** ← best |
| 13.0 | 0.0189 | 0.95% |
| 14.0 | 0.0202 | 1.19% |
| 15.0 | 0.0206 | 0.91% |
| 16.0 | 0.0191 | 1.16% |
| 17.0 | 0.0169 | 1.12% |
| 18.0 | 0.0176 | 1.19% |
| 19.0 | 0.0185 | 1.19% |
Best checkpoint: `training/output_run9/checkpoint-13380` (epoch 12, WER 0.82%)
## Output
| Key | Value |
|-----|-------|
| Best HF checkpoint | `training/output_run9/best/` |
| CTranslate2 model | `training/saved_models/ct2_run9/` |
| Quantization | float16 |
| Inference backend | faster-whisper |
|