Model reference · open weights

AuroraASR

Audio AuroraAI-Research Speech→text 1 build Open weights 517 dl/mo

AuroraASR is an open-weight audio or speech model from AuroraAI-Research. AuroraASR-1M (FP32) weighs 2 MB; the smallest configuration that runs it is RTX 3060 12 GB.

For self-hosting, compare this build's requirements below with the GPU you plan to rent.

  • AuroraASR is a tiny weight-shared Conformer-CTC speech recognizer with 949,073 parameters designed for automatic speech recognition.
  • It processes English audio at 16 kHz using a 256-piece BPE vocabulary and requires no external language model.
  • The model is available under the Apache 2.0 license and achieves a word error rate of 11.43 on the LibriSpeech test-clean set.

Summary of the AuroraAI-Research/AuroraASR-1M model card, 2026-10-28

What it is

Released byAuroraAI-Research
Released2026-10-18
Parameters1M
VRAM2 MB for the weights

What it runs on

Memory and cards for AuroraASR-1M (FP32)

2 MBweights, file size
1.6 GBruntime overhead
CardOne streamMemory
RTX 3060 12 GBfits11.6 GB
RTX 4060 Ti 16 GBfits15.4 GB
RTX 3090 24 GBfits23.4 GB
RTX 4090 24 GBfits23.4 GB
RTX 5090 32 GBfits31.0 GB
L40S 48 GBfits44.0 GB
A100 80 GBfits78.2 GB
H100 80 GBfits78.1 GB
RTX PRO 6000 Blackwell 96 GBfits93.8 GB
DGX Spark (GB10) 128 GB unifiedfits107 GB
H200 141 GBfits138 GB
B200 180 GBfits176 GB

From the model card

What AuroraAI-Research says about AuroraASR

Read the model card

A tiny weight-shared Conformer-CTC speech recognizer under 1M parameters. Four unique Conformer-lite blocks are each applied twice, followed by a CTC head over a 256-piece BPE vocabulary. Trained on the full LibriSpeech dataset for 379 epochs, English only, 16 kHz mono input, greedy CTC decoding, no external language model is required.

Word error rate (LibriSpeech, greedy decoding)

WER (%) on the standard LibriSpeech test sets, all with greedy decoding and no external language model. Competitor figures are taken from each model's published card or paper.

ModelParamstest-cleantest-other
AuroraASR-1M950K11.4326.50
Femto-ASR2.39M10.9525.36
Citrinet-256 CTC10M3.89.8
Moonshine Tiny27M4.58n/a
Whisper Tiny (English only)39M5.614.6
Whisper Tiny (multilingual)39M7.616.9

Quantization: WER is nearly lossless across precisions, all the way down to INT8 weight-only. The figures above are for FP32.

Speed (FP32, full end-to-end pipeline)

Real-time factor (RTF) = processing time / audio duration (lower is better, 1.0 = real time). Batch size 1, 100 test-clean utterances (13.3 min of audio). End-to-end includes log-mel feature extraction and CTC decoding.

DeviceRTF (end-to-end)x real-time
GPU (NVIDIA RTX PRO 6000 Blackwell Server Edition)0.00071362x
CPU (1 vCPU, single thread pinned to one core)0.0023436x

Usage

This model uses custom code, so trust_remote_code=True is required.

import soundfile as sf
from transformers import AutoModelForCTC, AutoFeatureExtractor

repo = "AuroraAI-Research/AuroraASR-1M"
model = AutoModelForCTC.from_pretrained(repo, trust_remote_code=True).eval() # FP32
# model = AutoModelForCTC.from_pretrained(repo, subfolder="int8", trust_remote_code=True).eval() # INT8
# model = AutoModelForCTC.from_pretrained(repo, subfolder="fp16", trust_remote_code=True).half().cuda().eval() # FP16
fe = AutoFeatureExtractor.from_pretrained(repo, trust_remote_code=True)

wav, sr = sf.read("audio.wav", dtype="float32")
print(model.transcribe(wav)[0])

Requires torch, transformers, sentencepiece.

Precisions

  • FP32 (repo root, 3.81 MB): reference weights.
  • FP16 (subfolder="fp16", 1.91 MB): half-precision weights.
  • INT8 (subfolder="int8", 1.06 MB): Linear weights stored as int8 with per-output-channel scales and dequantised on the fly. Smaller download and memory, runs on CPU and GPU without special runtimes. It does not make the arithmetic faster.

Training methodology

Data

  • Training set: LibriSpeech 960 h (train-clean-100, train-clean-360, train-other-500). No other audio or text data was used.
  • Filtering: utterances shorter than 1 s or longer than 16 s were dropped, as were utterances whose token count exceeded one quarter of their feature frames.
  • Model selection: dev-clean was used for per-epoch monitoring and checkpoint selection. test-clean and test-other were only used for the final evaluation.

Text and tokenization

  • Transcripts are lowercased and restricted to a-z, apostrophe and space. The model outputs no punctuation or casing.
  • A 256-piece SentencePiece BPE tokenizer was trained on the training transcripts only. The CTC output layer has 257 classes (256 pieces + blank).

Features

  • 80-bin log-mel spectrogram (16 kHz, 25 ms window, 10 ms hop, 512-point FFT, 20 Hz to 8 kHz).
  • Per-utterance mean/variance normalization of each mel bin.

Architecture

  • 4x time-subsampling convolutional stem, then 4 unique Conformer-lite blocks, each applied twice with separate LayerNorms per pass (weight sharing).
  • Width 128, 4 attention heads (rotary position embeddings), feed-forward dim 384, depthwise conv kernel 15.
  • 949,073 parameters in total.

Objective

  • CTC loss on the final layer (weight 0.7) plus an auxiliary intermediate CTC loss after the second unique block (weight 0.3). The auxiliary head reuses the final LayerNorm and output layer, so it adds no parameters and is discarded at inference.
  • Loss is normalized by the number of target tokens.

Optimization

SettingValue
OptimizersMuon for 2-D weight matrices in the encoder blocks and stem projection; AdamW for everything else
Muonlr 0.03, momentum 0.95 (Nesterov), 5 Newton-Schulz steps, weight decay 0.01
AdamWlr 5e-3, betas (0.9, 0.98), weight decay 0.01 on matrices (none on biases, norms, depthwise convs)
LR schedule100-step linear warmup, then cosine decay to 5% of peak
Gradient clippingglobal norm 5.0
Batchingdynamic, 2,400 s of audio per batch, length-bucketed with random jitter, padded to multiples of 64 frames
Curriculumfirst epoch sorted by length (SortaGrad), random order afterwards
Precisionbfloat16 autocast, TF32 matmuls, torch.compile
Weight averagingEMA of weights (decay 0.9995, with warmup); all reported results use the EMA weights
RegularizationSpecAugment from epoch 3 (2 frequency masks up to 8 bins, 3 time masks up to 4% of the utterance each); dropout 0.0
Seed0

The schedule was time-budgeted: after a 200-step calibration, the total number of steps was fixed from the measured step time so the cosine decay completes within the budget. Training ran for 379 epochs (about 10 hours) on an RTX Pro 6000.

Evaluation protocol

  • Greedy CTC decoding (collapse repeats, remove blanks), no language model.
  • WER is computed on normalized text (lowercase, no punctuation) with a standard word-level edit distance. Figures from models that report on differently normalized text are therefore not strictly comparabl

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms