wq2012 commited on
Commit
ffb2f6b
·
verified ·
1 Parent(s): 0a3c2f4

v0.4.0: full-convergence checkpoints (S_safe = X + 2 epochs), TFLite exports, and updated evaluation archives

Browse files
Files changed (5) hide show
  1. README.md +19 -19
  2. config.json +13 -11
  3. eval_results.json +502 -165
  4. flax_model.msgpack +1 -1
  5. model.safetensors +1 -1
README.md CHANGED
@@ -35,15 +35,15 @@ metrics:
35
  > - **ATP** (pooling head repurposed from a *language identification* paper): *Attentive Temporal Pooling for Conformer-based Streaming Language Identification in Long-form Speech* ([arXiv:2202.12163](https://arxiv.org/abs/2202.12163))
36
  > - **PFAS**: *Parameter-Free Attentive Scoring for Speaker Verification* ([arXiv:2203.05642](https://arxiv.org/abs/2203.05642))
37
  >
38
- > The experiments in those papers were run on Google-internal infrastructure and data, not with this library. **This is a 400-step demonstration checkpoint, not a reproduction of the papers' results** -- see *Training budget* and *Deviations from the source papers* below.
39
 
40
  ## Training Budget (read this first)
41
 
42
- This model was trained for **400 gradient steps** with mini-batches of 32 utterances (8 speakers x 4 utterances), i.e. about 1.35 epochs over the 9,447-utterance universal corpus, on a CPU workstation, with a single seed (42). Losses are not converged at this budget. All EERs below are therefore far from state of the art and are only meaningful for *relative* comparisons between FlaxSpeaker checkpoints trained under the same budget.
43
 
44
- **Training-crop provenance.** This checkpoint was trained with **fixed 180-frame (1.8 s) crops and all-ones validity masks**, not with the `U(90, 180)` variable-length crops that are the current pipeline default: the training code in use at the time defaulted the batchers to `variable_length=False` and the benchmark driver did not pass the flag. The shipped `config.json` / YAML therefore set `variable_length_training: false`, which re-creates this regime. Step-0 loss fingerprint at the released seed (`scripts/fingerprint_released_checkpoints.py`, `pretrained_models/step0_fingerprints.json`): archived `2.09`; current code with fixed 180-frame crops `2.09`, with `U(90, 180)` crops `2.1332` (match: `fixed`). Evaluating the released weights with the current code reproduces the archived metrics in `eval_results.json`. The seed-to-seed standard deviation of pooled 1-utt EER at this budget is about 0.7-0.8 % absolute, so sub-1.5 % differences between checkpoints are not rankings.
45
 
46
- For orientation only: published ECAPA-TDNN systems trained on VoxCeleb2-dev reach about 0.9% EER on the full VoxCeleb1-O list (Desplanques et al., 2020), and sub-1M-parameter systems about 2% (Wang et al., EfficientTDNN, 2022). The 400-step checkpoints released here are 10-30x worse than that and are intended for relative comparisons within the FlaxSpeaker benchmark, not as state-of-the-art models.
47
 
48
  ## Model Summary
49
 
@@ -60,8 +60,8 @@ For orientation only: published ECAPA-TDNN systems trained on VoxCeleb2-dev reac
60
  | **Verification Scorer** | Cosine similarity (`cosine`) |
61
  | **Output Representation Dim** | `128` |
62
  | **Inference Parameters (encoder + scoring head; excludes training-only classifier weights)** | `693,126` |
63
- | **Training Data** | LibriSpeech only (232 speakers) |
64
- | **Training Steps / Batch** | `400` steps x 32 utterances, seed 42 |
65
  | **Audio Frontend** | `80`-dim natural-log Mel @ `16000` Hz + frame-level energy VAD + CMVN (`flaxspeaker.AudioFrontend`; **not** a Hugging Face `AutoFeatureExtractor`) |
66
 
67
  ## Model Files Included
@@ -75,7 +75,7 @@ For orientation only: published ECAPA-TDNN systems trained on VoxCeleb2-dev reac
75
 
76
  ### Python API (from Hugging Face Hub or Local Directory)
77
 
78
- Requires `flaxspeaker >= 0.3.0` (`pip install -U flaxspeaker`); the `0.2.0` wheel on PyPI predates the released checkpoints and cannot load them.
79
 
80
  ```python
81
  from flaxspeaker import load_pretrained
@@ -101,12 +101,12 @@ Trial lists are 50/50 target/impostor over held-out speakers (LibriSpeech 40, CN
101
 
102
  | Evaluation Split | Trials | EER (%) | 95% Bootstrap CI (%) | minDCF@0.01 | minDCF@0.10 | ROC-AUC |
103
  | :--- | :---: | :---: | :---: | :---: | :---: | :---: |
104
- | **LibriSpeech (English Read)** | 3,000 | **10.53%** | [9.40, 11.53] | 0.7720 | 0.4893 | 0.9608 |
105
- | **CN-Celeb2 (Chinese Multi-Genre)** | 3,000 | **30.00%** | [28.65, 31.87] | 0.9993 | 0.9547 | 0.7787 |
106
- | **VoxCeleb1 (In-the-Wild Celebrity)** | 2,000 | **25.70%** | [23.90, 27.48] | 0.9380 | 0.8950 | 0.8282 |
107
- | **Universal Pooled (All 3 Domains)** | 8,000 | **21.91%** | [21.05, 22.81] | 0.9968 | 0.8525 | 0.8711 |
108
- | **Universal Macro-Average (3 Domains)** | — | **22.08%** | — | 0.9031 | 0.7797 | 0.8559 |
109
- | **VoxCeleb1-O 10-speaker subset** (see caveat) | 2,500 | **28.66%** | [26.59, 30.61] | 0.9838 | 0.9193 | 0.7962 |
110
 
111
  Caveat: VoxCeleb1-O **10-speaker subset**: the official `veri_test2.txt` list filtered to trials whose enrollment and test speakers are both among the 10 held-out evaluation speakers (2,500 trials, ~72% target). **Not comparable to published VoxCeleb1-O numbers**; the other 30 of the 40 official test speakers are used as training data by `vox_*` and `univ_*` models.
112
 
@@ -114,17 +114,17 @@ Caveat: VoxCeleb1-O **10-speaker subset**: the official `veri_test2.txt` list fi
114
 
115
  | Evaluation Split | Trials | 3-Utt EER (%) | 95% Bootstrap CI (%) | minDCF@0.01 | ROC-AUC |
116
  | :--- | :---: | :---: | :---: | :---: | :---: |
117
- | **LibriSpeech (3-Utt)** | 1,000 | **6.20%** | [4.80, 7.95] | 0.4880 | 0.9845 |
118
- | **CN-Celeb2 (3-Utt)** | 1,000 | **25.80%** | [23.20, 28.80] | 0.8960 | 0.8256 |
119
- | **VoxCeleb1 (3-Utt)** | 1,000 | **21.60%** | [19.00, 23.91] | 0.9100 | 0.8708 |
120
- | **Universal Pooled (3-Utt)** | 3,000 | **18.07%** | [16.50, 19.33] | 0.8647 | 0.9049 |
121
- | **Universal Macro-Average (3-Utt)** | — | **17.87%** | — | 0.7647 | 0.8936 |
122
 
123
  Single seed; the 95% bootstrap CIs resample trials (not speakers). Differences below about 1% absolute EER between FlaxSpeaker checkpoints are within the seed-to-seed variation measured in `pretrained_models/r2_seed_and_control_results.json` (see the GitHub README) and should not be interpreted as rankings.
124
 
125
  ## Deviations from the Source Papers
126
 
127
- - **Training regime**: 400 gradient steps x 32 utterances (N = 8 speakers x M = 4) on <= 25 utterances/speaker from 381 (universal) or fewer speakers; the source papers train for ~500k steps with N = 16-64 / M = 8-10 on thousands of speakers.
128
  - **Augmentation**: synthetic log-Mel-domain noise + one-tap smoothing (`specaug.apply_feature_mtr_augmentation`), not waveform MTR with recorded noise/RIR corpora.
129
  - **Conformer**: parallel linear + Conv1D stem, no positional encoding, 2 blocks x 128-D, 4 heads, kernel 15, mask-aware GroupNorm(2), no dropout, multi-layer feature aggregation; the Google papers use 12 x 512 blocks, 4-8 heads, kernel 32, relative positional encoding and dropout.
130
  - **ATP pooling**: 4 heads with a tanh bottleneck (128-D) and `subspace_heads = True`; the papers use a single head with a linear-sigmoid weight (`attention_dim = 0`). Note that arXiv:2202.12163 is a language-identification paper whose pooling head is repurposed here.
 
35
  > - **ATP** (pooling head repurposed from a *language identification* paper): *Attentive Temporal Pooling for Conformer-based Streaming Language Identification in Long-form Speech* ([arXiv:2202.12163](https://arxiv.org/abs/2202.12163))
36
  > - **PFAS**: *Parameter-Free Attentive Scoring for Speaker Verification* ([arXiv:2203.05642](https://arxiv.org/abs/2203.05642))
37
  >
38
+ > The experiments in those papers were run on Google-internal infrastructure and data, not with this library. **This is a converged small-corpus benchmark checkpoint (2,400 steps / ~13.27 epochs on 5,788 utterances from 232 speakers), not a full-corpus reproduction of the papers' large-scale results** -- see *Training budget* and *Deviations from the source papers* below.
39
 
40
  ## Training Budget (read this first)
41
 
42
+ This model was trained to convergence for **2,400 gradient steps** (`S_safe = X + 2 epochs` safety margin, warmup `240` steps) with mini-batches of 32 utterances (8 speakers x 4 utterances), i.e. **~13.27 epochs** over the 5,788-utterance LibriSpeech training pool (232 speakers), on a CPU workstation with seed 42. Across the training trajectory, in-domain LibriSpeech EER progressed from step `400`: **13.07%** (1-utt) / **7.90%** (3-utt) -> step `2000` (knee): **7.57%** (1-utt) / **4.30%** (3-utt) -> step `2400` (final): **7.87%** (1-utt) / **4.60%** (3-utt) (Universal Pooled final: **20.70%** 1-utt / **18.20%** 3-utt). While training loss and validation EER have reached their small-corpus convergence plateau on this 232-speaker open split (<= 25 utterances/speaker), absolute EERs remain bounded by training speaker diversity compared to industrial benchmarks trained on thousands of speakers (see below).
43
 
44
+ **Training-crop provenance.** This checkpoint was trained with `U(90, 180)`-frame variable-length crops and an exact validity mask (the current pipeline default); the shipped `config.json` / YAML (`variable_length_training: true`) describes the released weights. Step-0 loss fingerprint at the released seed (`scripts/fingerprint_released_checkpoints.py`, `pretrained_models/step0_fingerprints.json`): archived `2.1332`; current code with fixed 180-frame crops `2.09`, with `U(90, 180)` crops `2.1332` (match: `variable`). Evaluating the released weights with the current code reproduces the archived metrics in `eval_results.json`. At the converged `S_safe` budget, the seed-to-seed standard deviation of pooled 1-utt EER across seeds 0-2 is 0.08-0.41 % absolute (`pretrained_models/r2_seed_and_control_results.json`), while the 8,000-trial 95 % bootstrap CI half-width is ~0.8 %.
45
 
46
+ For orientation only: published ECAPA-TDNN systems trained on VoxCeleb2-dev reach about 0.9% EER on the full VoxCeleb1-O list (Desplanques et al., 2020), and sub-1M-parameter systems about 2% (Wang et al., EfficientTDNN, 2022). The checkpoints released here are trained to convergence (including a +2-epoch safety margin) on the self-contained 381-speaker (<=25 utterances/speaker) benchmark corpus rather than VoxCeleb2-dev (5,994 speakers, ~1.1M utterances), and are intended for controlled relative comparisons within the FlaxSpeaker benchmark, not as state-of-the-art models trained on thousand-speaker corpora.
47
 
48
  ## Model Summary
49
 
 
60
  | **Verification Scorer** | Cosine similarity (`cosine`) |
61
  | **Output Representation Dim** | `128` |
62
  | **Inference Parameters (encoder + scoring head; excludes training-only classifier weights)** | `693,126` |
63
+ | **Training Data** | LibriSpeech only (232 speakers, 5,788 utterances) |
64
+ | **Training Steps / Batch** | `2,400` steps x 32 utterances (~13.27 epochs), seed 42 |
65
  | **Audio Frontend** | `80`-dim natural-log Mel @ `16000` Hz + frame-level energy VAD + CMVN (`flaxspeaker.AudioFrontend`; **not** a Hugging Face `AutoFeatureExtractor`) |
66
 
67
  ## Model Files Included
 
75
 
76
  ### Python API (from Hugging Face Hub or Local Directory)
77
 
78
+ Requires `flaxspeaker >= 0.4.0` (`pip install -U flaxspeaker`) for full `margin_warmup_steps` config compatibility with the v0.4.0 converged checkpoints (`>= 0.3.0` introduced `load_pretrained`; the legacy `0.2.0` wheel cannot load Hub checkpoints).
79
 
80
  ```python
81
  from flaxspeaker import load_pretrained
 
101
 
102
  | Evaluation Split | Trials | EER (%) | 95% Bootstrap CI (%) | minDCF@0.01 | minDCF@0.10 | ROC-AUC |
103
  | :--- | :---: | :---: | :---: | :---: | :---: | :---: |
104
+ | **LibriSpeech (English Read)** | 3,000 | **7.87%** | [6.88, 8.85] | 0.6067 | 0.3727 | 0.9761 |
105
+ | **CN-Celeb2 (Chinese Multi-Genre)** | 3,000 | **29.43%** | [27.70, 30.90] | 0.9980 | 0.9400 | 0.7878 |
106
+ | **VoxCeleb1 (In-the-Wild Celebrity)** | 2,000 | **26.30%** | [24.45, 28.58] | 0.8970 | 0.8220 | 0.8184 |
107
+ | **Universal Pooled (All 3 Domains)** | 8,000 | **20.70%** | [19.88, 21.64] | 0.9930 | 0.8000 | 0.8787 |
108
+ | **Universal Macro-Average (3 Domains)** | — | **21.20%** | — | 0.8339 | 0.7116 | 0.8608 |
109
+ | **VoxCeleb1-O 10-speaker subset** (see caveat) | 2,500 | **29.96%** | [27.65, 32.15] | 0.9816 | 0.8884 | 0.7831 |
110
 
111
  Caveat: VoxCeleb1-O **10-speaker subset**: the official `veri_test2.txt` list filtered to trials whose enrollment and test speakers are both among the 10 held-out evaluation speakers (2,500 trials, ~72% target). **Not comparable to published VoxCeleb1-O numbers**; the other 30 of the 40 official test speakers are used as training data by `vox_*` and `univ_*` models.
112
 
 
114
 
115
  | Evaluation Split | Trials | 3-Utt EER (%) | 95% Bootstrap CI (%) | minDCF@0.01 | ROC-AUC |
116
  | :--- | :---: | :---: | :---: | :---: | :---: |
117
+ | **LibriSpeech (3-Utt)** | 1,000 | **4.60%** | [3.25, 6.00] | 0.4800 | 0.9903 |
118
+ | **CN-Celeb2 (3-Utt)** | 1,000 | **25.20%** | [22.60, 27.95] | 0.9360 | 0.8397 |
119
+ | **VoxCeleb1 (3-Utt)** | 1,000 | **22.30%** | [19.85, 24.90] | 0.7720 | 0.8691 |
120
+ | **Universal Pooled (3-Utt)** | 3,000 | **18.20%** | [16.70, 19.48] | 0.9127 | 0.9127 |
121
+ | **Universal Macro-Average (3-Utt)** | — | **17.37%** | — | 0.7293 | 0.8997 |
122
 
123
  Single seed; the 95% bootstrap CIs resample trials (not speakers). Differences below about 1% absolute EER between FlaxSpeaker checkpoints are within the seed-to-seed variation measured in `pretrained_models/r2_seed_and_control_results.json` (see the GitHub README) and should not be interpreted as rankings.
124
 
125
  ## Deviations from the Source Papers
126
 
127
+ - **Training regime**: 2,400 gradient steps x 32 utterances (N = 8 speakers x M = 4, ~13.27 epochs) on <= 25 utterances/speaker from 232 speakers (5,788 utterances); the source papers train for ~500k steps with N = 16-64 / M = 8-10 on thousands of speakers.
128
  - **Augmentation**: synthetic log-Mel-domain noise + one-tap smoothing (`specaug.apply_feature_mtr_augmentation`), not waveform MTR with recorded noise/RIR corpora.
129
  - **Conformer**: parallel linear + Conv1D stem, no positional encoding, 2 blocks x 128-D, 4 heads, kernel 15, mask-aware GroupNorm(2), no dropout, multi-layer feature aggregation; the Google papers use 12 x 512 blocks, 4-8 heads, kernel 32, relative positional encoding and dropout.
130
  - **ATP pooling**: 4 heads with a tanh bottleneck (128-D) and `subspace_heads = True`; the papers use a single head with a linear-sigmoid weight (`attention_dim = 0`). Note that arXiv:2202.12163 is a language-identification paper whose pooling head is repurposed here.
config.json CHANGED
@@ -66,6 +66,7 @@
66
  "ge2e_split_batch": false,
67
  "loss_type": "ge2e_softmax",
68
  "margin": 0.2,
 
69
  "multi_row_window": 0,
70
  "num_speakers_per_batch": 8,
71
  "num_utts_per_speaker": 4,
@@ -213,7 +214,7 @@
213
  "use_positional_encoding": false
214
  },
215
  "use_transformer": false,
216
- "variable_length_training": false
217
  },
218
  "train": {
219
  "batch_size": 32,
@@ -232,6 +233,7 @@
232
  "ge2e_split_batch": false,
233
  "loss_type": "ge2e_softmax",
234
  "margin": 0.2,
 
235
  "multi_row_window": 0,
236
  "num_speakers_per_batch": 8,
237
  "num_utts_per_speaker": 4,
@@ -249,7 +251,7 @@
249
  "min_learning_rate": 1.5e-05,
250
  "num_processes": 4,
251
  "num_spks_per_batch": 8,
252
- "num_steps": 400,
253
  "num_utts_per_spk": 4,
254
  "optimizer": "adamw",
255
  "save_model_frequency": 0,
@@ -267,7 +269,7 @@
267
  "use_specaug": true
268
  },
269
  "triplet_alpha": 0.1,
270
- "warmup_steps": 40,
271
  "waveform_aug": {
272
  "aug_prob": 0.35,
273
  "enabled": true,
@@ -306,17 +308,17 @@
306
  "scoring_type": "cosine",
307
  "seq_len": 180,
308
  "size_variant": "tiny",
309
- "transformers_version": "5.17.0",
310
  "training_provenance": {
311
- "variable_length_training_actual": false,
312
- "crop_frames": 180,
313
- "training_code": "uncommitted working tree before 1cb90c7 (2026-10-15): get_batched_nm_input / get_batched_classification_input defaulted to variable_length=False and run_research_benchmarks.py did not pass the flag, so crops were fixed seq_len=180 frames with all-ones masks although the serialized config said variable_length_training=True",
314
- "step0_fingerprint_match": "fixed",
315
- "released_initial_loss": 2.09,
316
  "head_fixed_step0_loss": 2.09,
317
  "head_variable_step0_loss": 2.1332,
318
- "fingerprint_code_commit": "ea7ebcc+dirty",
319
  "fingerprint_source": "pretrained_models/step0_fingerprints.json",
320
  "note": "How the released weights were actually trained. Evaluating the released weights with the current code reproduces the archived metrics; re-training the shipped recipe reproduces the archived step-0 loss only under 'crop_frames'. See README.md 'Training-crop provenance'."
321
- }
 
322
  }
 
66
  "ge2e_split_batch": false,
67
  "loss_type": "ge2e_softmax",
68
  "margin": 0.2,
69
+ "margin_warmup_steps": 0,
70
  "multi_row_window": 0,
71
  "num_speakers_per_batch": 8,
72
  "num_utts_per_speaker": 4,
 
214
  "use_positional_encoding": false
215
  },
216
  "use_transformer": false,
217
+ "variable_length_training": true
218
  },
219
  "train": {
220
  "batch_size": 32,
 
233
  "ge2e_split_batch": false,
234
  "loss_type": "ge2e_softmax",
235
  "margin": 0.2,
236
+ "margin_warmup_steps": 0,
237
  "multi_row_window": 0,
238
  "num_speakers_per_batch": 8,
239
  "num_utts_per_speaker": 4,
 
251
  "min_learning_rate": 1.5e-05,
252
  "num_processes": 4,
253
  "num_spks_per_batch": 8,
254
+ "num_steps": 2400,
255
  "num_utts_per_spk": 4,
256
  "optimizer": "adamw",
257
  "save_model_frequency": 0,
 
269
  "use_specaug": true
270
  },
271
  "triplet_alpha": 0.1,
272
+ "warmup_steps": 240,
273
  "waveform_aug": {
274
  "aug_prob": 0.35,
275
  "enabled": true,
 
308
  "scoring_type": "cosine",
309
  "seq_len": 180,
310
  "size_variant": "tiny",
 
311
  "training_provenance": {
312
+ "variable_length_training_actual": true,
313
+ "crop_frames": "90-180",
314
+ "training_code": "9accf95 (2026-10-18) or later: variable_length_training honoured by the benchmark driver (T ~ U(min_seq_len, seq_len) crops with an exact validity mask)",
315
+ "step0_fingerprint_match": "variable",
316
+ "released_initial_loss": 2.1332,
317
  "head_fixed_step0_loss": 2.09,
318
  "head_variable_step0_loss": 2.1332,
319
+ "fingerprint_code_commit": "9b091a5+dirty",
320
  "fingerprint_source": "pretrained_models/step0_fingerprints.json",
321
  "note": "How the released weights were actually trained. Evaluating the released weights with the current code reproduces the archived metrics; re-training the shipped recipe reproduces the archived step-0 loss only under 'crop_frames'. See README.md 'Training-crop provenance'."
322
+ },
323
+ "transformers_version": "5.17.0"
324
  }
eval_results.json CHANGED
@@ -8,158 +8,455 @@
8
  "scoring_type": "cosine",
9
  "embedding_dim": 128,
10
  "num_parameters": 693126,
11
- "num_steps": 400,
12
- "train_time_sec": 288.25,
13
- "initial_loss": 2.09,
14
- "final_loss": 0.3523,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  "in_domain_eval": {
16
- "eer": 0.1053333333333333,
17
- "eer_percent": 10.5333,
18
- "eer_ci95_low_percent": 9.4,
19
- "eer_ci95_high_percent": 11.5333,
20
- "eer_threshold": 0.6059616804122925,
21
- "min_dcf_001": 0.772,
22
- "min_dcf_005": 0.6207,
23
- "min_dcf_01": 0.4893,
24
- "roc_auc": 0.9608,
25
  "num_trials": 3000,
26
  "num_unique_utterances": 999,
27
- "latency_ms_per_utterance": 17.21,
28
- "eval_time_sec": 18.924,
29
  "scoring_type": "cosine"
30
  },
31
  "multi_enroll_3utt_eval": {
32
- "eer": 0.06200000000000003,
33
- "eer_percent": 6.2,
34
- "eer_ci95_low_percent": 4.8,
35
- "eer_ci95_high_percent": 7.9525,
36
- "eer_threshold": 0.664314866065979,
37
- "min_dcf_001": 0.488,
38
- "min_dcf_005": 0.34,
39
- "min_dcf_01": 0.28,
40
- "roc_auc": 0.9845,
41
  "num_trials": 1000
42
  },
43
- "cross_dataset_eval": {
44
- "cnceleb2_zero_shot": {
45
- "eer": 0.30000000000000004,
46
- "eer_percent": 30.0,
47
- "eer_ci95_low_percent": 28.6492,
48
- "eer_ci95_high_percent": 31.8667,
49
- "eer_threshold": 0.6296399831771851,
50
- "min_dcf_001": 0.9993,
51
- "min_dcf_005": 0.9993,
52
- "min_dcf_01": 0.9547,
53
- "roc_auc": 0.7787,
54
- "num_trials": 3000,
55
- "num_unique_utterances": 739,
56
- "latency_ms_per_utterance": 17.479,
57
- "eval_time_sec": 14.073,
58
- "scoring_type": "cosine"
59
- },
60
- "vox1_o_10spk_subset": {
61
- "eer": 0.28655661768000884,
62
- "eer_percent": 28.6557,
63
- "eer_ci95_low_percent": 26.5857,
64
- "eer_ci95_high_percent": 30.6141,
65
- "eer_threshold": 0.5835728645324707,
66
- "min_dcf_001": 0.9838,
67
- "min_dcf_005": 0.9334,
68
- "min_dcf_01": 0.9193,
69
- "roc_auc": 0.7962,
70
- "num_trials": 2500,
71
- "num_unique_utterances": 937,
72
- "latency_ms_per_utterance": 4.532,
73
- "eval_time_sec": 4.8,
74
- "scoring_type": "cosine",
75
- "num_target_trials": 1789,
76
- "num_impostor_trials": 711,
77
- "num_eval_speakers": 10,
78
- "protocol": "veri_test2_10spk_subset_2500trials",
79
- "vad_energy_db_threshold": 26.0
80
- }
81
- },
82
- "config_yaml": "configs/ls_conformer_tiny_ge2e.yml",
83
  "multi_domain_eval": {
84
  "domains_1utt": {
85
  "librispeech": {
86
- "eer": 0.1053333333333333,
87
- "eer_percent": 10.5333,
88
- "eer_ci95_low_percent": 9.4,
89
- "eer_ci95_high_percent": 11.5333,
90
- "eer_threshold": 0.6059616804122925,
91
- "min_dcf_001": 0.772,
92
- "min_dcf_005": 0.6207,
93
- "min_dcf_01": 0.4893,
94
- "roc_auc": 0.9608,
95
  "num_trials": 3000,
96
  "num_unique_utterances": 999,
97
- "latency_ms_per_utterance": 17.21,
98
- "eval_time_sec": 18.924,
99
  "scoring_type": "cosine"
100
  },
101
  "cnceleb2": {
102
- "eer": 0.30000000000000004,
103
- "eer_percent": 30.0,
104
- "eer_ci95_low_percent": 28.6492,
105
- "eer_ci95_high_percent": 31.8667,
106
- "eer_threshold": 0.6296399831771851,
107
- "min_dcf_001": 0.9993,
108
- "min_dcf_005": 0.9993,
109
- "min_dcf_01": 0.9547,
110
- "roc_auc": 0.7787,
111
  "num_trials": 3000,
112
  "num_unique_utterances": 739,
113
- "latency_ms_per_utterance": 17.479,
114
- "eval_time_sec": 14.073,
115
  "scoring_type": "cosine"
116
  },
117
  "voxceleb1": {
118
- "eer": 0.257,
119
- "eer_percent": 25.7,
120
- "eer_ci95_low_percent": 23.9,
121
- "eer_ci95_high_percent": 27.4763,
122
- "eer_threshold": 0.5478366613388062,
123
- "min_dcf_001": 0.938,
124
- "min_dcf_005": 0.918,
125
- "min_dcf_01": 0.895,
126
- "roc_auc": 0.8282,
127
  "num_trials": 2000,
128
  "num_unique_utterances": 250,
129
- "latency_ms_per_utterance": 21.465,
130
- "eval_time_sec": 6.525,
131
  "scoring_type": "cosine"
132
  },
133
  "universal_pooled": {
134
- "eer": 0.219125,
135
- "eer_percent": 21.9125,
136
- "eer_ci95_low_percent": 21.05,
137
- "eer_ci95_high_percent": 22.8125,
138
- "eer_threshold": 0.6035156846046448,
139
- "min_dcf_001": 0.9968,
140
- "min_dcf_005": 0.899,
141
- "min_dcf_01": 0.8525,
142
- "roc_auc": 0.8711,
143
  "num_trials": 8000,
144
  "num_unique_utterances": 1988,
145
  "latency_ms_per_utterance": 0.0,
146
- "eval_time_sec": 3.448,
147
  "scoring_type": "cosine"
148
  },
149
  "vox1_o_10spk_subset": {
150
- "eer": 0.28655661768000884,
151
- "eer_percent": 28.6557,
152
- "eer_ci95_low_percent": 26.5857,
153
- "eer_ci95_high_percent": 30.6141,
154
- "eer_threshold": 0.5835728645324707,
155
- "min_dcf_001": 0.9838,
156
- "min_dcf_005": 0.9334,
157
- "min_dcf_01": 0.9193,
158
- "roc_auc": 0.7962,
159
  "num_trials": 2500,
160
  "num_unique_utterances": 937,
161
- "latency_ms_per_utterance": 4.532,
162
- "eval_time_sec": 4.8,
163
  "scoring_type": "cosine",
164
  "num_target_trials": 1789,
165
  "num_impostor_trials": 711,
@@ -169,73 +466,113 @@
169
  }
170
  },
171
  "universal_macro_avg_1utt": {
172
- "eer_percent": 22.08,
173
- "min_dcf_001": 0.9031,
174
- "min_dcf_01": 0.7797,
175
- "roc_auc": 0.8559
176
  },
177
  "domains_3utt": {
178
  "librispeech": {
179
- "eer": 0.06200000000000003,
180
- "eer_percent": 6.2,
181
- "eer_ci95_low_percent": 4.8,
182
- "eer_ci95_high_percent": 7.9525,
183
- "eer_threshold": 0.664314866065979,
184
- "min_dcf_001": 0.488,
185
- "min_dcf_005": 0.34,
186
- "min_dcf_01": 0.28,
187
- "roc_auc": 0.9845,
188
  "num_trials": 1000
189
  },
190
  "cnceleb2": {
191
- "eer": 0.258,
192
- "eer_percent": 25.8,
193
- "eer_ci95_low_percent": 23.2,
194
- "eer_ci95_high_percent": 28.8,
195
- "eer_threshold": 0.7029243111610413,
196
- "min_dcf_001": 0.896,
197
- "min_dcf_005": 0.884,
198
- "min_dcf_01": 0.862,
199
- "roc_auc": 0.8256,
200
  "num_trials": 1000
201
  },
202
  "voxceleb1": {
203
- "eer": 0.21599999999999997,
204
- "eer_percent": 21.6,
205
- "eer_ci95_low_percent": 19.0,
206
- "eer_ci95_high_percent": 23.905,
207
- "eer_threshold": 0.6436901688575745,
208
- "min_dcf_001": 0.91,
209
- "min_dcf_005": 0.91,
210
- "min_dcf_01": 0.876,
211
- "roc_auc": 0.8708,
212
  "num_trials": 1000
213
  },
214
  "universal_pooled": {
215
- "eer": 0.1806666666666667,
216
- "eer_percent": 18.0667,
217
- "eer_ci95_low_percent": 16.5,
218
- "eer_ci95_high_percent": 19.3333,
219
- "eer_threshold": 0.6769924759864807,
220
- "min_dcf_001": 0.8647,
221
- "min_dcf_005": 0.8347,
222
- "min_dcf_01": 0.7707,
223
- "roc_auc": 0.9049,
224
  "num_trials": 3000
225
  }
226
  },
227
  "universal_macro_avg_3utt": {
228
- "eer_percent": 17.87,
229
- "min_dcf_001": 0.7647,
230
- "min_dcf_01": 0.6727,
231
- "roc_auc": 0.8936
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
232
  }
233
  },
 
234
  "hf_pretrained_dir": "pretrained_models/ls_conformer_tiny_ge2e",
235
  "hf_repo_id": "wq2012/ls_conformer_tiny_ge2e",
236
  "hf_url": "https://huggingface.co/wq2012/ls_conformer_tiny_ge2e",
237
  "hf_collection_url": "https://huggingface.co/collections/wq2012/flaxspeaker",
238
- "vox1_o_10spk_subset_eer_percent": 28.6557,
239
- "vox1_o_10spk_subset_min_dcf_001": 0.9838,
240
- "vox1_o_10spk_subset_roc_auc": 0.7962
241
  }
 
8
  "scoring_type": "cosine",
9
  "embedding_dim": 128,
10
  "num_parameters": 693126,
11
+ "num_steps": 2400,
12
+ "knee_step": 2000,
13
+ "safety_margin_steps": 400,
14
+ "warmup_steps": 240,
15
+ "margin_warmup_steps": 0,
16
+ "train_epochs": 13.27,
17
+ "train_time_sec": 742.39,
18
+ "initial_loss": 2.1332,
19
+ "final_loss": 0.2095,
20
+ "final_loss_last_20": 0.2049,
21
+ "loss_curve_100": [
22
+ {
23
+ "step": 100,
24
+ "epochs": 0.55,
25
+ "mean_loss_last_100": 1.4005,
26
+ "step_loss": 1.1362
27
+ },
28
+ {
29
+ "step": 200,
30
+ "epochs": 1.11,
31
+ "mean_loss_last_100": 0.9651,
32
+ "step_loss": 0.9078
33
+ },
34
+ {
35
+ "step": 300,
36
+ "epochs": 1.66,
37
+ "mean_loss_last_100": 0.8555,
38
+ "step_loss": 0.6599
39
+ },
40
+ {
41
+ "step": 400,
42
+ "epochs": 2.21,
43
+ "mean_loss_last_100": 0.6899,
44
+ "step_loss": 0.7487
45
+ },
46
+ {
47
+ "step": 500,
48
+ "epochs": 2.76,
49
+ "mean_loss_last_100": 0.6756,
50
+ "step_loss": 0.5935
51
+ },
52
+ {
53
+ "step": 600,
54
+ "epochs": 3.32,
55
+ "mean_loss_last_100": 0.5563,
56
+ "step_loss": 0.2987
57
+ },
58
+ {
59
+ "step": 700,
60
+ "epochs": 3.87,
61
+ "mean_loss_last_100": 0.5475,
62
+ "step_loss": 0.9328
63
+ },
64
+ {
65
+ "step": 800,
66
+ "epochs": 4.42,
67
+ "mean_loss_last_100": 0.4753,
68
+ "step_loss": 0.7237
69
+ },
70
+ {
71
+ "step": 900,
72
+ "epochs": 4.98,
73
+ "mean_loss_last_100": 0.4726,
74
+ "step_loss": 0.465
75
+ },
76
+ {
77
+ "step": 1000,
78
+ "epochs": 5.53,
79
+ "mean_loss_last_100": 0.3988,
80
+ "step_loss": 0.3727
81
+ },
82
+ {
83
+ "step": 1100,
84
+ "epochs": 6.08,
85
+ "mean_loss_last_100": 0.3754,
86
+ "step_loss": 0.3667
87
+ },
88
+ {
89
+ "step": 1200,
90
+ "epochs": 6.63,
91
+ "mean_loss_last_100": 0.3834,
92
+ "step_loss": 0.3186
93
+ },
94
+ {
95
+ "step": 1300,
96
+ "epochs": 7.19,
97
+ "mean_loss_last_100": 0.3611,
98
+ "step_loss": 0.2688
99
+ },
100
+ {
101
+ "step": 1400,
102
+ "epochs": 7.74,
103
+ "mean_loss_last_100": 0.3126,
104
+ "step_loss": 0.3597
105
+ },
106
+ {
107
+ "step": 1500,
108
+ "epochs": 8.29,
109
+ "mean_loss_last_100": 0.2897,
110
+ "step_loss": 0.4084
111
+ },
112
+ {
113
+ "step": 1600,
114
+ "epochs": 8.85,
115
+ "mean_loss_last_100": 0.2738,
116
+ "step_loss": 0.1689
117
+ },
118
+ {
119
+ "step": 1700,
120
+ "epochs": 9.4,
121
+ "mean_loss_last_100": 0.3008,
122
+ "step_loss": 0.5918
123
+ },
124
+ {
125
+ "step": 1800,
126
+ "epochs": 9.95,
127
+ "mean_loss_last_100": 0.2531,
128
+ "step_loss": 0.0934
129
+ },
130
+ {
131
+ "step": 1900,
132
+ "epochs": 10.5,
133
+ "mean_loss_last_100": 0.2542,
134
+ "step_loss": 0.2018
135
+ },
136
+ {
137
+ "step": 2000,
138
+ "epochs": 11.06,
139
+ "mean_loss_last_100": 0.2307,
140
+ "step_loss": 0.2308
141
+ },
142
+ {
143
+ "step": 2100,
144
+ "epochs": 11.61,
145
+ "mean_loss_last_100": 0.2365,
146
+ "step_loss": 0.4082
147
+ },
148
+ {
149
+ "step": 2200,
150
+ "epochs": 12.16,
151
+ "mean_loss_last_100": 0.2227,
152
+ "step_loss": 0.8825
153
+ },
154
+ {
155
+ "step": 2300,
156
+ "epochs": 12.72,
157
+ "mean_loss_last_100": 0.2235,
158
+ "step_loss": 0.338
159
+ },
160
+ {
161
+ "step": 2400,
162
+ "epochs": 13.27,
163
+ "mean_loss_last_100": 0.2095,
164
+ "step_loss": 0.1908
165
+ }
166
+ ],
167
+ "convergence_checkpoints": {
168
+ "step_400": {
169
+ "step": 400,
170
+ "epochs": 2.21,
171
+ "mean_loss_last_100": 0.6899,
172
+ "in_domain_1utt_eer_percent": 13.0667,
173
+ "in_domain_3utt_eer_percent": 7.9,
174
+ "pooled_1utt_eer_percent": 24.475,
175
+ "pooled_3utt_eer_percent": 19.2667,
176
+ "macro_avg_1utt_eer_percent": 22.71,
177
+ "macro_avg_3utt_eer_percent": 18.1,
178
+ "domains_1utt_eer_percent": {
179
+ "librispeech": 13.0667,
180
+ "cnceleb2": 32.3667,
181
+ "voxceleb1": 22.7
182
+ },
183
+ "domains_3utt_eer_percent": {
184
+ "librispeech": 7.9,
185
+ "cnceleb2": 27.2,
186
+ "voxceleb1": 19.2
187
+ },
188
+ "in_domain_1utt_full": {
189
+ "eer": 0.13066666666666668,
190
+ "eer_percent": 13.0667,
191
+ "eer_ci95_low_percent": 11.7333,
192
+ "eer_ci95_high_percent": 14.3,
193
+ "eer_threshold": 0.8140120506286621,
194
+ "min_dcf_001": 0.8767,
195
+ "min_dcf_005": 0.7193,
196
+ "min_dcf_01": 0.5693,
197
+ "roc_auc": 0.9476,
198
+ "num_trials": 3000,
199
+ "num_unique_utterances": 999,
200
+ "latency_ms_per_utterance": 8.931,
201
+ "eval_time_sec": 9.801,
202
+ "scoring_type": "cosine"
203
+ },
204
+ "in_domain_3utt_full": {
205
+ "eer": 0.07899999999999999,
206
+ "eer_percent": 7.9,
207
+ "eer_ci95_low_percent": 6.1,
208
+ "eer_ci95_high_percent": 9.6525,
209
+ "eer_threshold": 0.8586741089820862,
210
+ "min_dcf_001": 0.434,
211
+ "min_dcf_005": 0.386,
212
+ "min_dcf_01": 0.304,
213
+ "roc_auc": 0.98,
214
+ "num_trials": 1000
215
+ },
216
+ "universal_macro_avg_1utt": {
217
+ "eer_percent": 22.71,
218
+ "min_dcf_001": 0.9242,
219
+ "min_dcf_01": 0.782,
220
+ "roc_auc": 0.8475
221
+ },
222
+ "universal_macro_avg_3utt": {
223
+ "eer_percent": 18.1,
224
+ "min_dcf_001": 0.7467,
225
+ "min_dcf_01": 0.662,
226
+ "roc_auc": 0.8928
227
+ }
228
+ },
229
+ "step_X_knee": {
230
+ "step": 2000,
231
+ "epochs": 11.06,
232
+ "mean_loss_last_100": 0.2307,
233
+ "in_domain_1utt_eer_percent": 7.5667,
234
+ "in_domain_3utt_eer_percent": 4.3,
235
+ "pooled_1utt_eer_percent": 20.7875,
236
+ "pooled_3utt_eer_percent": 18.2667,
237
+ "macro_avg_1utt_eer_percent": 21.13,
238
+ "macro_avg_3utt_eer_percent": 17.63,
239
+ "domains_1utt_eer_percent": {
240
+ "librispeech": 7.5667,
241
+ "cnceleb2": 30.0667,
242
+ "voxceleb1": 25.75
243
+ },
244
+ "domains_3utt_eer_percent": {
245
+ "librispeech": 4.3,
246
+ "cnceleb2": 25.9,
247
+ "voxceleb1": 22.7
248
+ },
249
+ "in_domain_1utt_full": {
250
+ "eer": 0.07566666666666669,
251
+ "eer_percent": 7.5667,
252
+ "eer_ci95_low_percent": 6.5667,
253
+ "eer_ci95_high_percent": 8.5333,
254
+ "eer_threshold": 0.544470489025116,
255
+ "min_dcf_001": 0.6467,
256
+ "min_dcf_005": 0.5007,
257
+ "min_dcf_01": 0.388,
258
+ "roc_auc": 0.9743,
259
+ "num_trials": 3000,
260
+ "num_unique_utterances": 999,
261
+ "latency_ms_per_utterance": 7.254,
262
+ "eval_time_sec": 7.936,
263
+ "scoring_type": "cosine"
264
+ },
265
+ "in_domain_3utt_full": {
266
+ "eer": 0.04300000000000002,
267
+ "eer_percent": 4.3,
268
+ "eer_ci95_low_percent": 2.8475,
269
+ "eer_ci95_high_percent": 5.5525,
270
+ "eer_threshold": 0.592853307723999,
271
+ "min_dcf_001": 0.484,
272
+ "min_dcf_005": 0.232,
273
+ "min_dcf_01": 0.172,
274
+ "roc_auc": 0.9904,
275
+ "num_trials": 1000
276
+ },
277
+ "universal_macro_avg_1utt": {
278
+ "eer_percent": 21.13,
279
+ "min_dcf_001": 0.83,
280
+ "min_dcf_01": 0.7309,
281
+ "roc_auc": 0.8574
282
+ },
283
+ "universal_macro_avg_3utt": {
284
+ "eer_percent": 17.63,
285
+ "min_dcf_001": 0.7433,
286
+ "min_dcf_01": 0.5833,
287
+ "roc_auc": 0.8967
288
+ }
289
+ },
290
+ "step_S_safe_final": {
291
+ "step": 2400,
292
+ "epochs": 13.27,
293
+ "mean_loss_last_100": 0.2095,
294
+ "in_domain_1utt_eer_percent": 7.8667,
295
+ "in_domain_3utt_eer_percent": 4.6,
296
+ "pooled_1utt_eer_percent": 20.7,
297
+ "pooled_3utt_eer_percent": 18.2,
298
+ "macro_avg_1utt_eer_percent": 21.2,
299
+ "macro_avg_3utt_eer_percent": 17.37,
300
+ "domains_1utt_eer_percent": {
301
+ "librispeech": 7.8667,
302
+ "cnceleb2": 29.4333,
303
+ "voxceleb1": 26.3
304
+ },
305
+ "domains_3utt_eer_percent": {
306
+ "librispeech": 4.6,
307
+ "cnceleb2": 25.2,
308
+ "voxceleb1": 22.3
309
+ },
310
+ "in_domain_1utt_full": {
311
+ "eer": 0.07866666666666666,
312
+ "eer_percent": 7.8667,
313
+ "eer_ci95_low_percent": 6.8825,
314
+ "eer_ci95_high_percent": 8.8508,
315
+ "eer_threshold": 0.5138107538223267,
316
+ "min_dcf_001": 0.6067,
317
+ "min_dcf_005": 0.464,
318
+ "min_dcf_01": 0.3727,
319
+ "roc_auc": 0.9761,
320
+ "num_trials": 3000,
321
+ "num_unique_utterances": 999,
322
+ "latency_ms_per_utterance": 7.903,
323
+ "eval_time_sec": 8.598,
324
+ "scoring_type": "cosine"
325
+ },
326
+ "in_domain_3utt_full": {
327
+ "eer": 0.04600000000000002,
328
+ "eer_percent": 4.6,
329
+ "eer_ci95_low_percent": 3.2475,
330
+ "eer_ci95_high_percent": 6.0,
331
+ "eer_threshold": 0.5838436484336853,
332
+ "min_dcf_001": 0.48,
333
+ "min_dcf_005": 0.248,
334
+ "min_dcf_01": 0.194,
335
+ "roc_auc": 0.9903,
336
+ "num_trials": 1000
337
+ },
338
+ "universal_macro_avg_1utt": {
339
+ "eer_percent": 21.2,
340
+ "min_dcf_001": 0.8339,
341
+ "min_dcf_01": 0.7116,
342
+ "roc_auc": 0.8608
343
+ },
344
+ "universal_macro_avg_3utt": {
345
+ "eer_percent": 17.37,
346
+ "min_dcf_001": 0.7293,
347
+ "min_dcf_01": 0.584,
348
+ "roc_auc": 0.8997
349
+ }
350
+ }
351
+ },
352
  "in_domain_eval": {
353
+ "eer": 0.07866666666666666,
354
+ "eer_percent": 7.8667,
355
+ "eer_ci95_low_percent": 6.8825,
356
+ "eer_ci95_high_percent": 8.8508,
357
+ "eer_threshold": 0.5138107538223267,
358
+ "min_dcf_001": 0.6067,
359
+ "min_dcf_005": 0.464,
360
+ "min_dcf_01": 0.3727,
361
+ "roc_auc": 0.9761,
362
  "num_trials": 3000,
363
  "num_unique_utterances": 999,
364
+ "latency_ms_per_utterance": 7.903,
365
+ "eval_time_sec": 8.598,
366
  "scoring_type": "cosine"
367
  },
368
  "multi_enroll_3utt_eval": {
369
+ "eer": 0.04600000000000002,
370
+ "eer_percent": 4.6,
371
+ "eer_ci95_low_percent": 3.2475,
372
+ "eer_ci95_high_percent": 6.0,
373
+ "eer_threshold": 0.5838436484336853,
374
+ "min_dcf_001": 0.48,
375
+ "min_dcf_005": 0.248,
376
+ "min_dcf_01": 0.194,
377
+ "roc_auc": 0.9903,
378
  "num_trials": 1000
379
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
380
  "multi_domain_eval": {
381
  "domains_1utt": {
382
  "librispeech": {
383
+ "eer": 0.07866666666666666,
384
+ "eer_percent": 7.8667,
385
+ "eer_ci95_low_percent": 6.8825,
386
+ "eer_ci95_high_percent": 8.8508,
387
+ "eer_threshold": 0.5138107538223267,
388
+ "min_dcf_001": 0.6067,
389
+ "min_dcf_005": 0.464,
390
+ "min_dcf_01": 0.3727,
391
+ "roc_auc": 0.9761,
392
  "num_trials": 3000,
393
  "num_unique_utterances": 999,
394
+ "latency_ms_per_utterance": 7.903,
395
+ "eval_time_sec": 8.598,
396
  "scoring_type": "cosine"
397
  },
398
  "cnceleb2": {
399
+ "eer": 0.29433333333333334,
400
+ "eer_percent": 29.4333,
401
+ "eer_ci95_low_percent": 27.6983,
402
+ "eer_ci95_high_percent": 30.9017,
403
+ "eer_threshold": 0.5394164323806763,
404
+ "min_dcf_001": 0.998,
405
+ "min_dcf_005": 0.9933,
406
+ "min_dcf_01": 0.94,
407
+ "roc_auc": 0.7878,
408
  "num_trials": 3000,
409
  "num_unique_utterances": 739,
410
+ "latency_ms_per_utterance": 7.865,
411
+ "eval_time_sec": 6.479,
412
  "scoring_type": "cosine"
413
  },
414
  "voxceleb1": {
415
+ "eer": 0.263,
416
+ "eer_percent": 26.3,
417
+ "eer_ci95_low_percent": 24.45,
418
+ "eer_ci95_high_percent": 28.5762,
419
+ "eer_threshold": 0.4254768192768097,
420
+ "min_dcf_001": 0.897,
421
+ "min_dcf_005": 0.837,
422
+ "min_dcf_01": 0.822,
423
+ "roc_auc": 0.8184,
424
  "num_trials": 2000,
425
  "num_unique_utterances": 250,
426
+ "latency_ms_per_utterance": 7.682,
427
+ "eval_time_sec": 2.356,
428
  "scoring_type": "cosine"
429
  },
430
  "universal_pooled": {
431
+ "eer": 0.20699999999999996,
432
+ "eer_percent": 20.7,
433
+ "eer_ci95_low_percent": 19.875,
434
+ "eer_ci95_high_percent": 21.6381,
435
+ "eer_threshold": 0.5001381635665894,
436
+ "min_dcf_001": 0.993,
437
+ "min_dcf_005": 0.8802,
438
+ "min_dcf_01": 0.8,
439
+ "roc_auc": 0.8787,
440
  "num_trials": 8000,
441
  "num_unique_utterances": 1988,
442
  "latency_ms_per_utterance": 0.0,
443
+ "eval_time_sec": 1.5,
444
  "scoring_type": "cosine"
445
  },
446
  "vox1_o_10spk_subset": {
447
+ "eer": 0.2995933895135061,
448
+ "eer_percent": 29.9593,
449
+ "eer_ci95_low_percent": 27.6502,
450
+ "eer_ci95_high_percent": 32.1457,
451
+ "eer_threshold": 0.466065913438797,
452
+ "min_dcf_001": 0.9816,
453
+ "min_dcf_005": 0.9165,
454
+ "min_dcf_01": 0.8884,
455
+ "roc_auc": 0.7831,
456
  "num_trials": 2500,
457
  "num_unique_utterances": 937,
458
+ "latency_ms_per_utterance": 4.503,
459
+ "eval_time_sec": 4.771,
460
  "scoring_type": "cosine",
461
  "num_target_trials": 1789,
462
  "num_impostor_trials": 711,
 
466
  }
467
  },
468
  "universal_macro_avg_1utt": {
469
+ "eer_percent": 21.2,
470
+ "min_dcf_001": 0.8339,
471
+ "min_dcf_01": 0.7116,
472
+ "roc_auc": 0.8608
473
  },
474
  "domains_3utt": {
475
  "librispeech": {
476
+ "eer": 0.04600000000000002,
477
+ "eer_percent": 4.6,
478
+ "eer_ci95_low_percent": 3.2475,
479
+ "eer_ci95_high_percent": 6.0,
480
+ "eer_threshold": 0.5838436484336853,
481
+ "min_dcf_001": 0.48,
482
+ "min_dcf_005": 0.248,
483
+ "min_dcf_01": 0.194,
484
+ "roc_auc": 0.9903,
485
  "num_trials": 1000
486
  },
487
  "cnceleb2": {
488
+ "eer": 0.252,
489
+ "eer_percent": 25.2,
490
+ "eer_ci95_low_percent": 22.6,
491
+ "eer_ci95_high_percent": 27.9525,
492
+ "eer_threshold": 0.6346871256828308,
493
+ "min_dcf_001": 0.936,
494
+ "min_dcf_005": 0.918,
495
+ "min_dcf_01": 0.81,
496
+ "roc_auc": 0.8397,
497
  "num_trials": 1000
498
  },
499
  "voxceleb1": {
500
+ "eer": 0.22299999999999998,
501
+ "eer_percent": 22.3,
502
+ "eer_ci95_low_percent": 19.8475,
503
+ "eer_ci95_high_percent": 24.9,
504
+ "eer_threshold": 0.5039066076278687,
505
+ "min_dcf_001": 0.772,
506
+ "min_dcf_005": 0.768,
507
+ "min_dcf_01": 0.748,
508
+ "roc_auc": 0.8691,
509
  "num_trials": 1000
510
  },
511
  "universal_pooled": {
512
+ "eer": 0.18200000000000002,
513
+ "eer_percent": 18.2,
514
+ "eer_ci95_low_percent": 16.6983,
515
+ "eer_ci95_high_percent": 19.4842,
516
+ "eer_threshold": 0.5760137438774109,
517
+ "min_dcf_001": 0.9127,
518
+ "min_dcf_005": 0.7153,
519
+ "min_dcf_01": 0.644,
520
+ "roc_auc": 0.9127,
521
  "num_trials": 3000
522
  }
523
  },
524
  "universal_macro_avg_3utt": {
525
+ "eer_percent": 17.37,
526
+ "min_dcf_001": 0.7293,
527
+ "min_dcf_01": 0.584,
528
+ "roc_auc": 0.8997
529
+ }
530
+ },
531
+ "cross_dataset_eval": {
532
+ "vox1_o_10spk_subset": {
533
+ "eer": 0.2995933895135061,
534
+ "eer_percent": 29.9593,
535
+ "eer_ci95_low_percent": 27.6502,
536
+ "eer_ci95_high_percent": 32.1457,
537
+ "eer_threshold": 0.466065913438797,
538
+ "min_dcf_001": 0.9816,
539
+ "min_dcf_005": 0.9165,
540
+ "min_dcf_01": 0.8884,
541
+ "roc_auc": 0.7831,
542
+ "num_trials": 2500,
543
+ "num_unique_utterances": 937,
544
+ "latency_ms_per_utterance": 4.503,
545
+ "eval_time_sec": 4.771,
546
+ "scoring_type": "cosine",
547
+ "num_target_trials": 1789,
548
+ "num_impostor_trials": 711,
549
+ "num_eval_speakers": 10,
550
+ "protocol": "veri_test2_10spk_subset_2500trials",
551
+ "vad_energy_db_threshold": 26.0
552
+ },
553
+ "cnceleb2_zero_shot": {
554
+ "eer": 0.29433333333333334,
555
+ "eer_percent": 29.4333,
556
+ "eer_ci95_low_percent": 27.6983,
557
+ "eer_ci95_high_percent": 30.9017,
558
+ "eer_threshold": 0.5394164323806763,
559
+ "min_dcf_001": 0.998,
560
+ "min_dcf_005": 0.9933,
561
+ "min_dcf_01": 0.94,
562
+ "roc_auc": 0.7878,
563
+ "num_trials": 3000,
564
+ "num_unique_utterances": 739,
565
+ "latency_ms_per_utterance": 7.865,
566
+ "eval_time_sec": 6.479,
567
+ "scoring_type": "cosine"
568
  }
569
  },
570
+ "config_yaml": "configs/ls_conformer_tiny_ge2e.yml",
571
  "hf_pretrained_dir": "pretrained_models/ls_conformer_tiny_ge2e",
572
  "hf_repo_id": "wq2012/ls_conformer_tiny_ge2e",
573
  "hf_url": "https://huggingface.co/wq2012/ls_conformer_tiny_ge2e",
574
  "hf_collection_url": "https://huggingface.co/collections/wq2012/flaxspeaker",
575
+ "vox1_o_10spk_subset_eer_percent": 29.9593,
576
+ "vox1_o_10spk_subset_min_dcf_001": 0.9816,
577
+ "vox1_o_10spk_subset_roc_auc": 0.7831
578
  }
flax_model.msgpack CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:ba075b9072113046f5faa829e7983a38652a7cbbc0b009af3df8305d3b6451b4
3
  size 2775358
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:afe65a4da6b04b5941e4a9e15112df0c9583567ddeb894ade1aa898e30b1431b
3
  size 2775358
model.safetensors CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:44309ab69ecbe690735e7879979802a95c0398c98aa76e01d2a2582a30b0eee7
3
  size 2781184
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:33a5749411fbd920ad0e17ee7eeeb8d5ff3715bc755db821d8da9127e4e0c39d
3
  size 2781184