AuroraASR-1M-CoreML
Experimental Apple Silicon conversion of AuroraAI-Research/AuroraASR-1M, source commit cd307b54b4d666d6ad7dc982a7a58a96d6e7f942 (Apache-2.0). This is an inference-graph conversion, not a fine-tune, not a new training result, and not an accuracy improvement claim. Original architecture and weights are attributable to the original authors.
Model and format
- Architecture: 949,073-parameter, English-only weight-shared Conformer-lite CTC acoustic network.
- Backend: Core ML MLProgram FP32 static acoustic network.
- Released inference artifact:
aurora_fp32.mlpackage/; SHA-256:e1ce7bd9cd19d28e956ad356c1739eab47b66f1be2c40f943b0a900562eec46a(for Core ML this is the v4 canonical directory digest defined inmac_validate.py). - Static shape: [1, 1101, 80] input log-mel features; [1, 276, 257] CTC output logits, corresponding to the reference approximately 11-second audio clip.
- Expected audio input: mono 16-kHz waveform, converted to 80-bin log-mel with per-utterance standardization and greedy SentencePiece CTC decoding in
aurora_runtime.py.soxrHQ resampling is required for reference parity. - The acoustic graph alone cannot handle arbitrary lengths; the runtime requires the fixed input shape. No general streaming/audio-duration support is claimed.
- Do not use
transformers.pipeline()directly on these exported graphs without an appropriate wrapper.
Measured Apple Silicon results β 2026-10-18
User-supplied Mac terminal logs (not independently rerun). Input tensor shape [1,1101,80] for ~11 seconds of JFK audio. P50/P95 include just warmed acoustic inference, not file loading, preprocessing, model loading, or CTC decoding. Smaller latency is faster. Peak RSS is the entire Python process and is not model-only allocation. Results are single-session, sequential measurements without cross-backend interleaving or stated thermal/clock controls.
| Backend / precision | Acoustic P50 (ms) | P95 (ms) | Peak process RSS (MiB) | Evidence |
|---|---|---|---|---|
| ONNX Runtime CPU FP32 (static) | 5.654 | 5.849 | 95.1 | PASS |
| ONNX Runtime + MLX EP FP32 (static) | 2.630 | 3.096 | 112.7 | PASS |
| Core ML FP32 (CPU only) | 3.441 | 3.834 | 138.5 | PASS |
| Core ML FP16 (ALL) | 1.484 | 3.876 | 153.2 | FAIL β logit tolerance, single-clip CTC matched |
| MLX EP FP32 (dynamic) | 9.697 | 10.402 | 135.6 | Exploratory β CPU fallback observed |
- Static MLX vs static ONNX CPU, acoustic-only P50: 2.15Γ speedup.
- Static Core ML FP32 CPU vs static ONNX CPU P50: 1.64Γ speedup.
- Static MLX vs Core ML FP32 CPU P50: 1.31Γ speedup. This is not a matched Core ML
ALLcomparison. - Your released configuration (Core ML CPU only for acoustic P50/P95; ALL for pipeline) has 3.441 ms P50 and 3.834 ms P95, with 138.5 MiB peak process RSS for the acoustic test.
- MLX provider profiling recorded 48 MLX node events in the static run. The dynamic graph recorded both MLX and CPU-provider events. This doesn't prove zero CPU fallback in every deployment.
- Core ML FP16 was 1.484 ms P50 on
ALLbut failed numerical tolerance (max logit deviation 0.239). It is not part of this FP32 release. ANE placement was not verified.
Warm end-to-end pipeline (same JFK audio reused in memory)
| Backend | Compute units | Warm whole pipeline P50 | P95 | Scope |
|---|---|---|---|---|
| MLX FP32 | MLX EP + potential CPU fallback | 4.434 ms | 4.726 ms | Frontend + acoustic model + cached CTC decode |
| Core ML FP32 | ALL requested, actual placement unverified |
4.451 ms | 7.295 ms | Frontend + acoustic model + cached CTC decode |
For this model card's runtime, warm whole pipeline P50 was 4.451 ms. This is not cold end-to-end latency, and is not directly comparable to the Core ML CPU-only acoustic row above.
Parity, accuracy and caveats
- Static reference-check outputs:
frame_argmax_agreement=1.0andtranscript_exact=trueon the one saved JFK fixture for both published FP32 paths. Static MLX max logit deviation 0.000052; Core ML FP32 max deviation 0.010687. - The reference JFK transcript itself is incorrect in several words; parity to the reference does not demonstrate good ASR accuracy. No new multi-speaker WER benchmark was run on these conversions.
- This experiment is not a proof of ANE placement, general-length handling, performance across different Macs, or production readiness.
- Full raw measurements, including unshipped experimental candidates, are preserved in
benchmarks/aurora_mac_benchmarks_user_log_2026-10-18.json. - Original author checkpoint and original WER reporting: upstream model card. Do not attribute those upstream accuracy numbers to this conversion's evaluation.
macOS smoke test
Use an Apple Silicon Mac; avoid hardcoding an unavailable python3.11 binary. Use a Python version for which the dependencies have wheels (Python 3.13 worked in the supplied logs).
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements-macos.txt
python mac_validate.py --backend coreml --model-dir . --precision fp32 --compute-unit cpu
python aurora_runtime.py --backend coreml --model-dir . --precision fp32 --audio reference_jfk.flac
Shipped files: the released graph/package, reference acoustic fixture, JFK FLAC clip, pinned upstream config/tokenizer Python assets, dependency list, aurora_runtime.py, and mac_validate.py. The runtime is a development validation wrapper and not a production-optimized TurboSpark implementation.
Reproducibility
Benchmark provenance: user Mac terminal output dated 2026-10-18, supplied to the conversion author; raw structured values embedded in benchmarks/aurora_mac_benchmarks_user_log_2026-10-18.json. Source revision cd307b54b4d666d6ad7dc982a7a58a96d6e7f942. The benchmarks were not independently rerun when creating this model card.
Related release
- Downloads last month
- -
Model tree for cowWhySo/AuroraASR-1M-CoreML
Base model
AuroraAI-Research/AuroraASR-1M