|
Download README.md from FluidInference/parakeet-redux-coreml: direct link, hf CLI and curl.
- Browser
- Download file 4.97 kB
-
https://huggingface.co/FluidInference/parakeet-redux-coreml/resolve/main/README.md
- Command line
-
hf download hf://FluidInference/parakeet-redux-coreml/README.md
-
curl -L -o README.md https://huggingface.co/FluidInference/parakeet-redux-coreml/resolve/main/README.md
4.97 kB
| license: cc-by-4.0 | |
| base_model: moondream/parakeet-redux | |
| language: [en, de, fr, es, it, pt, ru, uk, hr, sl, lv, lt, et, fi, sv, da, nl, pl, cs, sk, hu, ro, bg, el, mt] | |
| pipeline_tag: automatic-speech-recognition | |
| tags: [coreml, parakeet, tdt, ternary, speech-recognition, apple-silicon] | |
| library_name: fluidaudio | |
| # parakeet-redux-coreml | |
| Core ML build of [moondream/parakeet-redux](https://huggingface.co/moondream/parakeet-redux), the ternary | |
| (every encoder weight β {-1, 0, +1}) re-training of `nvidia/parakeet-tdt-0.6b-v3`. Same 25 languages, tokenizer and | |
| output conventions as v3. Encoder is **183 MB** (vs 445 MB for the 6-bit v3 encoder); whole model dir ~220 MB. | |
| The encoder keeps the checkpoint's exact ternary weights: 2-bit palettized codes with the model's own per-row, | |
| per-128 fp16 scales (iOS 18 / macOS 15 `constexpr_lut_to_dense` + `constexpr_blockwise_shift_scale`), so no | |
| re-quantization noise is added. Decoder and JointDecision are re-exported from the redux checkpoint (its post-training | |
| recovery also touched the joint). Preprocessor and vocabulary are the v3 ones. | |
| ## Usage (FluidAudio β₯ next release) | |
| ```swift | |
| let models = try await AsrModels.downloadAndLoad(version: .redux) // iOS 18+ / macOS 15+ | |
| let asr = AsrManager() | |
| try await asr.initialize(models: models) | |
| let result = try await asr.transcribe(audioFileURL) | |
| ``` | |
| ```bash | |
| swift run fluidaudiocli transcribe audio.wav --model-version redux | |
| swift run fluidaudiocli asr-benchmark --subset test-clean --max-files 100 --model-version redux | |
| ``` | |
| ## Files | |
| | File | Notes | | |
| |------|-------| | |
| | `Encoder.mlmodelc` | 183 MB, 2-bit ternary, iOS 18+/macOS 15+, fixed 15 s window (`mel [1,128,1501]` β `encoder [1,1024,188]`) | | |
| | `Decoder.mlmodelc` | RNNT prediction net, fp16, iOS 17+ | | |
| | `JointDecisionv3.mlmodelc` | single-step joint + argmax/softmax + top-64, fp16, iOS 17+ | | |
| | `Preprocessor.mlmodelc` | mel front-end, identical to parakeet-tdt-0.6b-v3-coreml | | |
| | `parakeet_vocab.json` | identical to v3 | | |
| ## Compute units | |
| The encoder runs on the **Neural Engine** by default in FluidAudio, like v3, so iOS apps can keep transcribing in the | |
| background (iOS does not allow GPU work there). The first ANE load compiles the 2-bit weights for several minutes | |
| (~7 min measured on an M-series Mac); Core ML caches the result and later loads take seconds. Warm, it runs | |
| 45β52 ms per 15 s window. | |
| Pass `encoderComputeUnits: .cpuAndGPU` to skip the long first compile when background execution does not matter: the | |
| GPU decompresses the 2-bit weights in-kernel, loads in about a second and runs β21 ms per window. | |
| Requires iOS 18 / macOS 15 (the 2-bit encoding uses iOS 18 Core ML ops). On iOS 17 / macOS 14 FluidAudio refuses to | |
| load Redux and points to | |
| [parakeet-ultra-coreml](https://huggingface.co/FluidInference/parakeet-ultra-coreml) instead. | |
| ## Accuracy | |
| Full LibriSpeech, FluidAudio `asr-benchmark`, default compute units (ANE), both models back to back, M-series Mac. Corpus WER (total edit distance over | |
| total reference words); RTFx = total audio / total processing time. | |
| | Set | parakeet-tdt-0.6b-v3-coreml | parakeet-redux-coreml | | |
| |-----|---------------------------:|----------------------:| | |
| | test-clean (2620 files) | **2.27 %** | 2.71 % | | |
| | test-other (2939 files) | **4.12 %** | 5.12 % | | |
| | RTFx, test-clean | **128.6Γ** | 83.9Γ | | |
| On English this build is 0.44 (clean) and 1.00 (other) points behind v3 β the same gap the upstream card reports | |
| (+0.44 / +1.21). Absolute values are above the card's because FluidAudio decodes in 15 s windows and uses a simpler | |
| text normalizer than the Open ASR Leaderboard; both models are scored identically here. | |
| The Core ML transcripts match a PyTorch fp32 decode of the redux checkpoint to 0.19 % WER, so this is the | |
| checkpoint's behaviour and not a conversion loss. | |
| ### FLEURS, 24 languages, 100 samples each | |
| | | parakeet-tdt-0.6b-v3-coreml | parakeet-redux-coreml | | |
| |---|---:|---:| | |
| | mean WER | 14.81 % | **13.06 %** | | |
| | duration-weighted WER | 14.65 % | **12.89 %** | | |
| | languages won | 11 | **13** | | |
| | RTFx | **149Γ** | 134Γ | | |
| (`es_es` is absent from FluidAudio's FLEURS set; both models are scored on the same 24.) | |
| Redux wins the multilingual average by 1.74 points, taking the low-resource languages by wide margins β Latvian | |
| β11.1, Maltese β7.7, Slovene β7.2, Estonian β7.0, Greek β5.2, Lithuanian β5.1 β and conceding the high-resource | |
| ones: French +3.7, Russian +2.6, Dutch +1.9, English +1.9, Polish +1.7, Ukrainian +1.4. The per-language direction | |
| matches the upstream card in 23 of 24 languages. | |
| **Pick this model for multilingual work and for download size; pick | |
| [parakeet-tdt-0.6b-v3-coreml](https://huggingface.co/FluidInference/parakeet-tdt-0.6b-v3-coreml) for English.** | |
| ## License | |
| CC-BY-4.0, same as the upstream checkpoint and nvidia/parakeet-tdt-0.6b-v3. Model by moondream (vik); Core ML | |
| conversion by Fluid Inference (conversion recipe: `mobius/models/stt/parakeet-redux/coreml`). | |