aoiandroid/qwenasrkit-pro
0
QwenASRKit-Pro (Qwen3-ASR 1.7B Core ML)
Pre-compiled Core ML package of Qwen3-ASR 1.7B, optimized for Apple Silicon (Apple Neural Engine, GPU, and CPU) with 8-bit Palettization and Speculative Decoding for ultra-low latency on-device automatic speech recognition.
๐ Key Highlights
- Base Architecture: Qwen/Qwen3-ASR-1.7B (Alibaba Cloud Qwen Team)
- 52+ Languages & Dialects: Industry-leading SOTA recognition across English (regional accents), Chinese (dialects), Japanese, Korean, European, and Asian languages.
- Speculative Decoding Acceleration: Includes a 7-token speculative drafter (
Speculator.mlmodelc) delivering up to ~566.8 tokens/sec decoding throughput on Apple Silicon. - Ultra-low RTF: Audio encoder executes in 7.47 ms per 1-second audio chunk (RTF: 0.007x).
- ANE Tile Chunking: Text decoder is split into
TextDecoderC0andTextDecoderC1to comply with Apple Neural Engine (ANE) memory and compiler constraints.
๐ Benchmark Results (Apple M3 / macOS 26.5)
Tested with MLModelConfiguration.computeUnits = .all on Apple M3 (8GB RAM):
Latency Breakdown
๐ Repository Structure
qwen3-asr/
โโโ audio_encoder/
โ โโโ 1.7b/
โ โโโ AudioEncoderConvSubsampler.mlmodelc # CNN Subsampler
โ โโโ AudioEncoderTransformer.mlmodelc # 1.7B 8-bit Audio Encoder
โ โโโ Melspectrogram.mlmodelc # Mel Spectrogram Extractor
โโโ text_decoder/
โโโ 1.7b/
โโโ Speculator.mlmodelc # 7-token Speculative Drafter
โโโ TextDecoderC0.mlmodelc # ANE Split Chunk 0
โโโ TextDecoderC1.mlmodelc # ANE Split Chunk 1
โโโ TextDecoderEmbedHead.mlmodelc # Embedding & LM Head
โโโ decoder_manifest.json # Speculative Decoder Manifest
โโโ tokenizer.json # Tokenizer definition
โโโ tokenizer_config.json
โโโ vocab.json๐ป Swift Integration Example
import CoreML
let config = MLModelConfiguration()
config.computeUnits = .all
// Load Encoder
let melModel = try MLModel(contentsOf: melURL, configuration: config)
let convModel = try MLModel(contentsOf: convURL, configuration: config)
let encoderModel = try MLModel(contentsOf: encoderURL, configuration: config)
// Load Decoder & Speculator
let c0Model = try MLModel(contentsOf: decC0URL, configuration: config)
let c1Model = try MLModel(contentsOf: decC1URL, configuration: config)
let headModel = try MLModel(contentsOf: headURL, configuration: config)
let speculatorModel = try MLModel(contentsOf: speculatorURL, configuration: config)๐ License & Acknowledgements
- Base Model: Developed by the Qwen Team at Alibaba Cloud (Apache 2.0 / Qwen License).
- Core ML Conversion & Optimization: Optimized by Argmax, Inc. (Argmax Pro SDK).
