Skip to page content
SAVRN
Search Plan a project

Open-weight model · Audio classification

cn_conformer_small_ge2e

by Quan wq2012/cn_conformer_small_ge2e

cn_conformer_small_ge2e is an open-weight model for audio classification from Quan, released under Apache License 2.0. It has 2M parameters. At 16-bit it needs about 0 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index. It draws 12 downloads a month.

model.safetensors: Primary model weights in SafeTensors format - flaxmodel.msgpack: Native Flax Msgpack serialized parameters - config.json: FlaxSpeakerConfig model & training architecture configuration - preprocessorconfig.json…

Parameters2M
Context—
Weights16.3 MB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads12

Runs On

What it takes to serve cn_conformer_small_ge2e (2M parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.

PrecisionWeightsMemory neededCheapest setupPer hourAlso fits
16-bit 0.0 GB 0.0 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 0.0 GB 0.0 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 0.0 GB 0.0 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00

Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 18, 2026.

cn_conformer_small_ge2e on every accelerator the SAVRN Index prices, at every precision

Model Card

By Quan, published under apache-2.0, revision de74f4a86dca.

model.safetensors: Primary model weights in SafeTensors format - flaxmodel.msgpack: Native Flax Msgpack serialized parameters - config.json: FlaxSpeakerConfig model & training architecture configuration - preprocessorconfig.json: WhisperFeatureExtractor-compatible frontend configuration - evalresults.json: Verified multi-domain evaluation metrics (1-utt & 3-utt EER, minDCF, ROC-AUC, 95% bootstrap CIs)

Read Quan's full model card

FlaxSpeaker: cn_conformer_small_ge2e (conformer - small)

Disclaimer & Open-Source Reproduction Notice

This is not an officially supported Google product.

This model checkpoint and the accompanying FlaxSpeaker library are an independent, clean-room open-source reproduction in JAX/Flax of speaker recognition algorithms published in: - GE2E: Generalized End-to-End Loss for Speaker Verification (arXiv:1710.10467) - Dr-Vectors: Decision Residual Networks and an Improved Loss for Speaker Recognition (arXiv:2104.01989) - Conformer-ATP: Attentive Temporal Pooling for Conformer-based Streaming Language Identification in Long-form Speech (arXiv:2202.12163) - PFAS: Parameter-Free Attentive Scoring for Speaker Verification (arXiv:2203.05642v3)

The experiments in those original papers were conducted using Google's proprietary internal infrastructure and internal datasets, not this open-source library or public dataset split.

Model Summary

Property Value
Model ID cn_conformer_small_ge2e
Hugging Face Repository wq2012/cn_conformer_small_ge2e
Hugging Face Collection FlaxSpeaker Collection
GitHub Repository wq2012/FlaxSpeaker
PyPI Package flaxspeaker
Backbone Architecture conformer (small)
Temporal Pooling atp
Training Loss ge2e_softmax
Verification Scoring cosine
Output Embedding Dim 192
Encoder Parameters 2,029,894
Training Domain cnceleb2
Audio Frontend 80-dim log_mel @ 16000 Hz + Energy VAD + CMVN

Model Files Included

  • model.safetensors: Primary model weights in SafeTensors format
  • flax_model.msgpack: Native Flax Msgpack serialized parameters
  • config.json: FlaxSpeakerConfig model & training architecture configuration
  • preprocessor_config.json: WhisperFeatureExtractor-compatible frontend configuration
  • eval_results.json: Verified multi-domain evaluation metrics (1-utt & 3-utt EER, minDCF, ROC-AUC, 95% bootstrap CIs)

Quickstart Usage

Python API (from Hugging Face Hub or Local Directory)

from flaxspeaker import load_pretrained

model = load_pretrained("wq2012/cn_conformer_small_ge2e")
emb = model.extract_embedding("path/to/utterance.flac")
score = model.verify("path/to/enroll.flac", "path/to/test.flac")
print(f"Embedding shape: {emb.shape}, Verification score: {score:.4f}")

Command-Line Inference

python scripts/inference.py --model_dir wq2012/cn_conformer_small_ge2e \
    --enroll_audio path/to/enroll.flac --test_audio path/to/test.flac

Multi-Domain Evaluation Results

1-Utterance Verification Across Evaluation Domains

Evaluation Split Trials EER (%) 95% Bootstrap CI (%) [email protected] [email protected] ROC-AUC
LibriSpeech (English Read) 3,000 20.80% [19.27, 22.33] 0.9553 0.8740 0.8759
CN-Celeb2 (Chinese Multi-Genre) 3,000 21.33% [20.07, 23.08] 0.9687 0.8500 0.8676
VoxCeleb1 (In-the-Wild Celebrity) 2,000 27.20% [25.30, 29.03] 0.9890 0.9630 0.8203
Universal Pooled (All 3 Domains) 8,000 23.93% [22.98, 24.92] 0.9792 0.9335 0.8500
Universal Macro-Average (3 Domains) 8,000 23.11% — 0.9710 0.8957 0.8546

3-Utterance Multi-Enrollment Verification Across Evaluation Domains

Evaluation Split Trials 3-Utt EER (%) 95% Bootstrap CI (%) [email protected] ROC-AUC
LibriSpeech (3-Utt) 1,000 16.00% [13.75, 18.20] 0.8120 0.9250
CN-Celeb2 (3-Utt) 1,000 16.80% [14.90, 19.40] 0.9540 0.9066
VoxCeleb1 (3-Utt) 1,000 23.90% [20.60, 26.65] 0.9780 0.8521
Universal Pooled (3-Utt) 3,000 20.13% [18.38, 21.47] 0.9160 0.8900
Universal Macro-Average (3-Utt) 3,000 18.90% — 0.9147 0.8946

Citation

@inproceedings{wan2018generalized,
  title={Generalized End-to-End Loss for Speaker Verification},
  author={Wan, Li and Wang, Quan and Papir, Alan and Moreno, Ignacio Lopez},
  booktitle={IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},
  pages={4879--4883},
  year={2018}
}

@inproceedings{pelecanos2021dr,
  title={Dr-Vectors: Decision Residual Networks and an Improved Loss for Speaker Recognition},
  author={Pelecanos, Jason and Wang, Quan and Moreno, Ignacio Lopez},
  booktitle={Interspeech},
  pages={4603--4607},
  year={2021}
}

@inproceedings{wang2022attentive,
  title={Attentive Temporal Pooling for Conformer-based Streaming Language Identification in Long-form Speech},
  author={Wang, Quan and Yu, Yang and Pelecanos, Jason and Huang, Yiling and Moreno, Ignacio Lopez},
  booktitle={The Speaker and Language Recognition Workshop (Odyssey)},
  year={2022}
}

@inproceedings{pelecanos2022parameter,
  title={Parameter-Free Attentive Scoring for Speaker Verification},
  author={Pelecanos, Jason and Wang, Quan and Huang, Yiling and Moreno, Ignacio Lopez},
  booktitle={The Speaker and Language Recognition Workshop (Odyssey)},
  year={2022}
}

Configuration

Model type
flaxspeaker

Identity and Version

Repository
wq2012/cn_conformer_small_ge2e
Publisher
Quan
Task
Audio classification
Modality
Audio
Library
flaxspeaker
Parameters
2M parameters
Languages
jax
Revision
de74f4a86dcaf5eade35ce37f677619ea6d0f8da
First published
2026-10-15
Last updated
2026-10-18

Files and Weights

7 files, 16.3 MB in total. The weights are 2 files totalling 16.3 MB in msgpack, safetensors.

Weights2 files · 16.3 MB
Configuration3 files · 16.8 KB
Documentation1 file · 6.0 KB
Repository1 file · 1.5 KB
Every file
FileTypeSizeSHA-256
flax_model.msgpackWeights8.1 MB 64733b5672b4
model.safetensorsWeights8.1 MB e5a1386bb646
config.jsonConfiguration9.7 KB —
eval_results.jsonConfiguration6.9 KB —
preprocessor_config.jsonConfiguration200 B —
README.mdDocumentation6.0 KB —
.gitattributesRepository1.5 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
16.3 MB
Download from Quan

Released by Quan through its official repository on Hugging Face. Read the license.

Built From

Memory Requirements

PrecisionWeights in memory
As published16.3 MB
16-bit0.0 GB
8-bit0.0 GB
4-bit0.0 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About cn_conformer_small_ge2e

How much GPU memory does cn_conformer_small_ge2e need?

About 0 GB at 16-bit and 0 GB at 4-bit: the weights (2M parameters) plus a working margin. A long context needs more.

What is the cheapest GPU to run cn_conformer_small_ge2e on?

At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.

Can I use cn_conformer_small_ge2e commercially?

Yes. cn_conformer_small_ge2e is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Model · Audio classification

univ_conformer_small_ge2e

Quan

model.safetensors: Primary model weights in SafeTensors format - flaxmodel.msgpack: Native Flax Msgpack serialized parameters - config.json: FlaxSpeakerConfig model & training architecture configuration - preprocessorconfig.json: WhisperFeatureExtractor-compatible frontend configuration - evalresults.json: Verified multi-domain evaluation metrics (1-utt & 3-utt EER, minDCF, ROC-AUC, 95% bootstrap CIs) - modelfp32.tflite: Exported FP32 TensorFlow Lite model for edge/mobile CPU inference - modelint8.tflite: Dynamic-range INT8 quantized TensorFlow Lite model (~3.5x smaller)

Open weights apache-2.0 2M parameters flaxspeaker

Model · Audio classification

ls_conformer_small_ge2e

Quan

model.safetensors: Primary model weights in SafeTensors format - flaxmodel.msgpack: Native Flax Msgpack serialized parameters - config.json: FlaxSpeakerConfig model & training architecture configuration - preprocessorconfig.json: WhisperFeatureExtractor-compatible frontend configuration - evalresults.json: Verified multi-domain evaluation metrics (1-utt & 3-utt EER, minDCF, ROC-AUC, 95% bootstrap CIs) - modelfp32.tflite: Exported FP32 TensorFlow Lite model for edge/mobile CPU inference - modelint8.tflite: Dynamic-range INT8 quantized TensorFlow Lite model (~3.5x smaller)

Open weights apache-2.0 2M parameters flaxspeaker

Model · Audio classification

univ_conformer_small_arcface

Quan

model.safetensors: Primary model weights in SafeTensors format - flaxmodel.msgpack: Native Flax Msgpack serialized parameters - config.json: FlaxSpeakerConfig model & training architecture configuration - preprocessorconfig.json: WhisperFeatureExtractor-compatible frontend configuration - evalresults.json: Verified multi-domain evaluation metrics (1-utt & 3-utt EER, minDCF, ROC-AUC, 95% bootstrap CIs)

Open weights apache-2.0 2M parameters flaxspeaker

Model · Audio classification

univ_conformer_small_ext_softmax

Quan

model.safetensors: Primary model weights in SafeTensors format - flaxmodel.msgpack: Native Flax Msgpack serialized parameters - config.json: FlaxSpeakerConfig model & training architecture configuration - preprocessorconfig.json: WhisperFeatureExtractor-compatible frontend configuration - evalresults.json: Verified multi-domain evaluation metrics (1-utt & 3-utt EER, minDCF, ROC-AUC, 95% bootstrap CIs)

Open weights apache-2.0 2M parameters flaxspeaker

Model · Audio classification

ls_conformer_small_arcface

Quan

model.safetensors: Primary model weights in SafeTensors format - flaxmodel.msgpack: Native Flax Msgpack serialized parameters - config.json: FlaxSpeakerConfig model & training architecture configuration - preprocessorconfig.json: WhisperFeatureExtractor-compatible frontend configuration - evalresults.json: Verified multi-domain evaluation metrics (1-utt & 3-utt EER, minDCF, ROC-AUC, 95% bootstrap CIs)

Open weights apache-2.0 2M parameters flaxspeaker

Model · Audio classification

univ_conformer_small_triplet

Quan

model.safetensors: Primary model weights in SafeTensors format - flaxmodel.msgpack: Native Flax Msgpack serialized parameters - config.json: FlaxSpeakerConfig model & training architecture configuration - preprocessorconfig.json: WhisperFeatureExtractor-compatible frontend configuration - evalresults.json: Verified multi-domain evaluation metrics (1-utt & 3-utt EER, minDCF, ROC-AUC, 95% bootstrap CIs)

Open weights apache-2.0 2M parameters flaxspeaker