CoolFace
Modelpublic

Reza2kn/shenava-fa-fastconformer-streaming-32m-coreml-ios15-fp16

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
1likes17downloads
Model Card

Shenava 32M Streaming CoreML iOS15 FP16

CoreML NeuralNetwork export of Reza2kn/shenava-fa-fastconformer-streaming-32m, built so older Apple devices capped at iOS 15 can load and benchmark the model.

This artifact exists because CoreML ML Program models require iOS 16+, which blocks devices such as the iPad Air 2 on iOS 15.8.x. This export targets NeuralNetwork/CoreML spec v5 with iOS 14 availability, so it runs on iOS 15.

Files

  • —shenava32m_ctc_streaming_att70_0_ios15_fp16.mlmodel FP16-weight CoreML NeuralNetwork model. This is the main artifact.
  • —shenava32m_ctc_streaming_att70_0_ios15_fp32.mlmodel FP32 CoreML NeuralNetwork source export before FP16 weight quantization.
  • —shenava32m_ctc_streaming_att70_0_ios15_fp16.torchscript.pt TorchScript trace used for CoreML conversion.
  • —shenava32m_ctc_streaming_att70_0_ios15_fp16_manifest.json Export manifest with shapes, source, and smoke-test metadata.
  • —coremlc_metadata_ios15.json Xcode coremlc metadata output confirming NeuralNetwork type and iOS 14 availability.
  • —export_shenava32m_streaming_coreml_ios15.py Reproducible export script.

CoreML Contract

One prediction is a cache-aware streaming CTC encoder step.

Inputs:

  • —processed_signal: Float32 [1, 80, 10]
  • —cache_last_channel: Float32 [16, 1, 70, 256]
  • —cache_last_time: Float32 [16, 1, 256, 8]

Outputs:

  • —logits: Float32 [1, 1, 1025]
  • —cache_last_channel_next: Float32 [16, 1, 70, 256]
  • —cache_last_time_next: Float32 [16, 1, 256, 8]

Streaming geometry:

  • —attention context: [70, 0]
  • —feature frames per prediction: 10
  • —audio window per prediction: 100 ms
  • —constant cache length: 70

Compatibility

Verified with Xcode coremlc:

  • —model type: MLModelType_neuralNetwork
  • —storage precision: Float16
  • —specification version: 5
  • —availability: iOS 14.0, macOS 11.0

The model compiles with:

bash
coremlc compile shenava32m_ctc_streaming_att70_0_ios15_fp16.mlmodel /tmp/out \
  --deployment-target 15.0 \
  --platform ios

Benchmark Smoke

The VisualEars iOS benchmark app successfully ran this model on an iPad Air 2 (iPad5,3) running iOS 15.8.8.

Observed rows:

DeviceRuntimeMedianRTF
iPad Air 2 / iPad5,3CoreML-ANE81.6 ms1.2x
iPad Air 2 / iPad5,3CoreML-GPU80.0 ms1.2x
iPad Air 2 / iPad5,3CoreML-CPU75.0 ms1.3x

RTF is computed against the true 100 ms streaming step, not a whole-window 20.05 s benchmark.

Caveat

This artifact freezes the full-cache attention mask for the steady-state benchmark step. That avoids a CoreMLTools NeuralNetwork converter failure in NeMo's dynamic mask construction. It is appropriate for benchmarking the steady-state CoreML kernel path and proving iOS 15 compatibility, but it is not a complete production Swift streaming runtime by itself.

Reproduction

bash
python export_shenava32m_streaming_coreml_ios15.py \
  --nemo /path/to/shenava-fa-streaming-32m.nemo \
  --out-dir ./out \
  --att-context 70,0 \
  --name shenava32m_ctc_streaming_att70_0_ios15_fp16 \
  --keep-fp32 \
  --no-local-attn

Export stack used:

  • —coremltools 9.0
  • —torch 2.7.0
  • —NeMo 2.7.3

Checksums

text
1710ae0be8452c98cee8524782df5735b2f2aff1e0a8a1e79bcb9217d148e10c  shenava32m_ctc_streaming_att70_0_ios15_fp16.mlmodel
547a24cc89871454a0ee3fbf965eeee3f5f66611f19e9596286474a30c7d2196  shenava32m_ctc_streaming_att70_0_ios15_fp32.mlmodel
8aa586d55fc89539bea0fd64bdba82341aa60d58364989a108dcdd1cf648aaa4  shenava32m_ctc_streaming_att70_0_ios15_fp16.torchscript.pt
bc72aa7da5bd5d84b2b36cf3e72837da0d3dcb206694f4d41d202bed82de0451  shenava32m_ctc_streaming_att70_0_ios15_fp16_manifest.json