emilstabil commited on
Commit
88b2df2
·
verified ·
1 Parent(s): 48cb3df

Align Ekko Tiny benchmark scores

Browse files
Files changed (1) hide show
  1. README.md +36 -30
README.md CHANGED
@@ -43,7 +43,7 @@ model-index:
43
  split: test
44
  metrics:
45
  - type: wer
46
- value: 24.15
47
  - task:
48
  type: automatic-speech-recognition
49
  dataset:
@@ -53,7 +53,7 @@ model-index:
53
  split: test
54
  metrics:
55
  - type: wer
56
- value: 11.87
57
  - task:
58
  type: automatic-speech-recognition
59
  dataset:
@@ -63,7 +63,7 @@ model-index:
63
  split: test
64
  metrics:
65
  - type: wer
66
- value: 9.75
67
  - task:
68
  type: automatic-speech-recognition
69
  dataset:
@@ -72,7 +72,7 @@ model-index:
72
  split: test_balanced
73
  metrics:
74
  - type: wer
75
- value: 7.62
76
  ---
77
 
78
  ![Ekko v1 Tiny — offline Danish speech recognition](cover.png)
@@ -95,7 +95,7 @@ evaluated as a separate test set.
95
 
96
  ## Benchmark
97
 
98
- **12.37% mean WER** across 26,780 rows from five Danish test sets, evaluated
99
  with the leaderboard harness. Scores use the published defaults: NFKC
100
  normalization, spoken-number folding, Danish number-word normalization,
101
  lowercase, punctuation removal, symmetric filler removal, and whitespace
@@ -103,36 +103,38 @@ collapse. Lower is better.
103
 
104
  | Test set | Speech type | WER |
105
  |---|---|---:|
106
- | CoRal conversation | Spontaneous conversation | 24.15% |
107
- | CoRal read aloud | Read speech | 11.87% |
108
- | Common Voice Danish (CV 25.0 test subset) | Crowd-sourced read speech | 8.44% |
109
- | FLEURS `da_dk` | Read news-style speech | 9.75% |
110
- | FTSpeech | Parliamentary speech | 7.62% |
111
- | **Equal-weight mean** | | **12.37%** |
112
 
113
  The NeMo checkpoint processed the benchmark at **795.8x realtime** on one A100.
114
- The official run saved raw per-sample outputs, and an independent offline
115
- rescore reproduced 12.37% exactly.
 
116
 
117
- ### Comparison with models below 800M parameters
118
 
119
  ![Mean WER of Ekko v1 Tiny and all twelve open-weight leaderboard models below 800M parameters](comparison.png)
120
 
121
  The chart compares Tiny's Q5_0 release score with 12 open-weight models below
122
  800M parameters in the [Danish ASR Leaderboard](https://huggingface.co/datasets/RyeAI/danish-asr-leaderboard/tree/f7c930a30ac2f88e68421d88fc577c0cbafa8c31/results)
123
- as of 9 October 2026. Each score is an equal-weight mean WER across the same
124
- five Danish test sets (26,780 clips). Tiny scores 12.37%, 0.27 percentage
125
- points lower than Svale 600M at 12.64%. Rankings may change when new models
126
- or reruns are added.
127
 
128
  ### Native GGUF quantization
129
 
130
  The F32, F16, Q8_0, Q6_K, Q5_K, Q5_0, Q4_K, and Q4_0 files are
131
- scored on the same current 26,780-row matrix and normalization policy as the
132
- NeMo result above. All 40 variant/domain outputs completed and passed exact-row
133
- offline scoring.
 
134
 
135
- | Variant | Size | Mean WER | CPU speed |
136
  |---|---:|---:|---:|
137
  | **F16** | 248.2 MiB | **12.315%** | 74.4x |
138
  | F32 | 430.6 MiB | 12.318% | 71.8x |
@@ -152,9 +154,10 @@ reference tier.
152
 
153
  The model is available for sherpa-onnx and was evaluated on the same 26,780-row
154
  matrix with mandatory non-silent peak normalization to 0.95. The browser
155
- downloads the compact int8 export.
 
156
 
157
- | Export | Size | Mean WER | CPU speed |
158
  |---|---:|---:|---:|
159
  | FP32 ONNX | 450.6 MiB | 12.465% | 53.4x |
160
  | **INT8 ONNX** | **129.0 MiB** | **12.946%** | **49.2x** |
@@ -172,12 +175,15 @@ Clean-cache packaged download and inference tests passed on macOS arm64 and
172
  Linux x64 with native word timestamps. The Windows x64 artifact is mapped but
173
  has not been exercised against this release.
174
 
175
- | Format | Path | Measured mean WER |
176
  |---|---|---:|
177
- | NeMo | `ekko-v1-tiny.nemo` | 12.37% |
178
- | parakeet.cpp GGUF | `gguf-parakeet.cpp/ekko-v1-tiny-{f32,f16,q8_0,q6_k,q5_k,q5_0,q4_k,q4_0}.gguf` | 12.315-12.467% |
179
- | sherpa-onnx FP32 | `onnx-sherpa/{encoder,decoder,joiner}.onnx` | 12.465% |
180
- | sherpa-onnx INT8 | `onnx-sherpa/{encoder,decoder,joiner}.int8.onnx` | 12.946% |
 
 
 
181
 
182
  The browser loads `onnx-sherpa/runtime-config.json` with the INT8 files and
183
  checks its SHA-256 before using its audio and model settings.
@@ -219,7 +225,7 @@ pseudo-labelled audio.
219
  - The 44-token vocabulary does not contain uppercase or punctuation tokens.
220
  - Punctuation and capitalization require a separate restoration model such as
221
  `RyeAI/ekko-pnc`.
222
- - Spontaneous conversation remains the hardest benchmark domain (24.15% WER).
223
  - Noisy audio and overlapping speakers were not evaluated separately.
224
 
225
  ## License
 
43
  split: test
44
  metrics:
45
  - type: wer
46
+ value: 23.88
47
  - task:
48
  type: automatic-speech-recognition
49
  dataset:
 
53
  split: test
54
  metrics:
55
  - type: wer
56
+ value: 11.74
57
  - task:
58
  type: automatic-speech-recognition
59
  dataset:
 
63
  split: test
64
  metrics:
65
  - type: wer
66
+ value: 9.36
67
  - task:
68
  type: automatic-speech-recognition
69
  dataset:
 
72
  split: test_balanced
73
  metrics:
74
  - type: wer
75
+ value: 7.57
76
  ---
77
 
78
  ![Ekko v1 Tiny — offline Danish speech recognition](cover.png)
 
95
 
96
  ## Benchmark
97
 
98
+ **12.14% mean WER** across 26,780 rows from five Danish test sets, evaluated
99
  with the leaderboard harness. Scores use the published defaults: NFKC
100
  normalization, spoken-number folding, Danish number-word normalization,
101
  lowercase, punctuation removal, symmetric filler removal, and whitespace
 
103
 
104
  | Test set | Speech type | WER |
105
  |---|---|---:|
106
+ | CoRal conversation | Spontaneous conversation | 23.88% |
107
+ | CoRal read aloud | Read speech | 11.74% |
108
+ | Common Voice Danish (CV 25.0 test subset) | Crowd-sourced read speech | 8.15% |
109
+ | FLEURS `da_dk` | Read news-style speech | 9.36% |
110
+ | FTSpeech | Parliamentary speech | 7.57% |
111
+ | **Equal-weight mean** | | **12.14%** |
112
 
113
  The NeMo checkpoint processed the benchmark at **795.8x realtime** on one A100.
114
+ The official run saved raw per-sample outputs. Rescoring those same outputs with
115
+ the leaderboard normalization updated on 15 October 2026 gives 12.14%; no
116
+ model inference was rerun.
117
 
118
+ ### Comparison snapshot (9 October 2026)
119
 
120
  ![Mean WER of Ekko v1 Tiny and all twelve open-weight leaderboard models below 800M parameters](comparison.png)
121
 
122
  The chart compares Tiny's Q5_0 release score with 12 open-weight models below
123
  800M parameters in the [Danish ASR Leaderboard](https://huggingface.co/datasets/RyeAI/danish-asr-leaderboard/tree/f7c930a30ac2f88e68421d88fc577c0cbafa8c31/results)
124
+ as of 9 October 2026, before the normalization update. Each score is an
125
+ equal-weight mean WER across the same five Danish test sets (26,780 clips).
126
+ In this historical snapshot, Tiny scored 12.37% and Svale 600M scored 12.64%.
127
+ For current scores, use the live leaderboard.
128
 
129
  ### Native GGUF quantization
130
 
131
  The F32, F16, Q8_0, Q6_K, Q5_K, Q5_0, Q4_K, and Q4_0 files are
132
+ scored on the same 26,780 clips under the earlier normalization policy. Their
133
+ WER figures below have not yet been rescored with the 15 October 2026 update;
134
+ they should not be compared directly with the current NeMo score. All 40
135
+ variant/domain outputs completed and passed exact-row offline scoring.
136
 
137
+ | Variant | Size | Mean WER (earlier scoring) | CPU speed |
138
  |---|---:|---:|---:|
139
  | **F16** | 248.2 MiB | **12.315%** | 74.4x |
140
  | F32 | 430.6 MiB | 12.318% | 71.8x |
 
154
 
155
  The model is available for sherpa-onnx and was evaluated on the same 26,780-row
156
  matrix with mandatory non-silent peak normalization to 0.95. The browser
157
+ downloads the compact int8 export. The ONNX WER figures below also use the
158
+ earlier normalization policy and have not yet been rescored.
159
 
160
+ | Export | Size | Mean WER (earlier scoring) | CPU speed |
161
  |---|---:|---:|---:|
162
  | FP32 ONNX | 450.6 MiB | 12.465% | 53.4x |
163
  | **INT8 ONNX** | **129.0 MiB** | **12.946%** | **49.2x** |
 
175
  Linux x64 with native word timestamps. The Windows x64 artifact is mapped but
176
  has not been exercised against this release.
177
 
178
+ | Format | Path | Mean WER |
179
  |---|---|---:|
180
+ | NeMo | `ekko-v1-tiny.nemo` | 12.14% (current) |
181
+ | parakeet.cpp GGUF | `gguf-parakeet.cpp/ekko-v1-tiny-{f32,f16,q8_0,q6_k,q5_k,q5_0,q4_k,q4_0}.gguf` | 12.315-12.467% (earlier) |
182
+ | sherpa-onnx FP32 | `onnx-sherpa/{encoder,decoder,joiner}.onnx` | 12.465% (earlier) |
183
+ | sherpa-onnx INT8 | `onnx-sherpa/{encoder,decoder,joiner}.int8.onnx` | 12.946% (earlier) |
184
+
185
+ The GGUF and ONNX scores above use the earlier normalization policy; the NeMo
186
+ score uses the current leaderboard policy.
187
 
188
  The browser loads `onnx-sherpa/runtime-config.json` with the INT8 files and
189
  checks its SHA-256 before using its audio and model settings.
 
225
  - The 44-token vocabulary does not contain uppercase or punctuation tokens.
226
  - Punctuation and capitalization require a separate restoration model such as
227
  `RyeAI/ekko-pnc`.
228
+ - Spontaneous conversation remains the hardest benchmark domain (23.88% WER).
229
  - Noisy audio and overlapping speakers were not evaluated separately.
230
 
231
  ## License