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 in mac_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. soxr HQ 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 ALL comparison.
  • 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 ALL but 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.0 and transcript_exact=true on 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
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for cowWhySo/AuroraASR-1M-CoreML

Quantized
(2)
this model