Saltar al contenido
ModelPublicadoExterno
Descargar

Nemotron 3.5 ASR Streaming 0.6B CoreML INT8

Cache-aware streaming Conformer + RNN-T from NVIDIA, ported to CoreML (.mlmodelc) for on-device inference on Apple Silicon. 600 M params, 40 language-locales, native punctuation and capitalization. INT8 palettized...

TipoOtherModelo basenvidia/nemotron-3.5-asr-streaming-0.6bVersiónRevision 447095fBcalidad

Fuente del modelo

Tipo
Other
Tamaño del archivo
243 B–565 MB
Modelo base
nvidia/nemotron-3.5-asr-streaming-0.6b
Versión
vRevision 447095f
Actualizado
27 sept 2026
Descargas
2,3 mil
Fuente
Hugging Face

Descripción de la fuente

Nemotron-3.5 ASR Streaming 0.6B — CoreML INT8

Cache-aware streaming Conformer + RNN-T from NVIDIA, ported to CoreML (.mlmodelc) for on-device inference on Apple Silicon. 600 M params, 40 language-locales, native punctuation and capitalization. INT8 palettized encoder, FP16 decoder + joint. Ships .mlmodelc (compiled) — .mlpackage is not shipped because on-device MLModel.compileModel() produces non-deterministic output across iOS simulator vs device runtimes.

Model

Parameters600 M
ArchitectureFastConformer-CacheAware-RNN-T with language-conditioning prompt kernel
Languages40 (see frontmatter)
Sample rate16 kHz mono
Streaming chunk320 ms (att_context_size = [56, 3])
Encoder quantizationINT8 palettized
Decoder / joint dtypeFP16
On-disk size612 MB

Files

FileSizeDescription
encoder.mlmodelc/565 MB24-layer cache-aware Conformer encoder + prompt kernel
decoder.mlmodelc/29 MBRNN-T prediction net (2-layer LSTM, 640 dim)
joint.mlmodelc/18 MBJoint network (vocab=13088)
tokenizer.model400 KBSentencePiece tokenizer used for phrase tokenization and word boosting
vocab.json230 KBSentencePiece pieces, id → string
languages.json2 KBLanguage tag → prompt slot (e.g. "en-US": 0)
config.json<1 KBStreaming geometry + dims for the loader

Performance

M5 Pro (Apple Silicon), 50 samples per language from FLEURS test, streaming 320 ms chunks, compute units .all. Scoring uses Whisper EnglishTextNormalizer for English and BasicTextNormalizer(split_letters=True) for hi/ja (char-level), BasicTextNormalizer for de/fr/ar.

Accuracy

langWER %CER %Δ WER vs fp32 source
en_us9.594.26+0.26
de_de10.415.37+0.19
fr_fr12.184.84+1.05
ar_eg13.373.80+0.10
hi_in4.423.61−0.84
ja_jp17.6612.09+0.69

Quantization is essentially lossless. For ja/hi the published WER is char-level (matches NVIDIA's CJK methodology); CER is the more interpretable number for those scripts.

Streaming throughput + memory

M5 Pro, 60 s long-form en_us audio, single thread, .all compute units:

metricvalue
RTF (encode + decode)0.068
p50 chunk latency18.6 ms
p99 chunk latency23.4 ms
RSS post-load1046 MB
RSS peak (mid-stream)1238 MB

Usage

Python (coremltools)

import coremltools as ct
import numpy as np
import json
from huggingface_hub import snapshot_download

bundle = snapshot_download("aufklarer/Nemotron-3.5-ASR-Streaming-0.6B-CoreML-INT8")
encoder = ct.models.CompiledMLModel(f"{bundle}/encoder.mlmodelc")
decoder = ct.models.CompiledMLModel(f"{bundle}/decoder.mlmodelc")
joint   = ct.models.CompiledMLModel(f"{bundle}/joint.mlmodelc")

slots = json.load(open(f"{bundle}/languages.json"))["promptDictionary"]
lang_mask = np.zeros((1, 128), dtype=np.float32)
lang_mask[0, slots["en-US"]] = 1.0
# Feed 320 ms chunks; persist caches across calls (see inference reference below).

Swift (speech-swift SDK)

import NemotronStreamingASR

// Default model id is this repo; pass `modelId:` to pin
let model = try await NemotronStreamingASRModel.fromPretrained()

// Batch
let text = try model.transcribeAudio(audio, sampleRate: 16000, language: "en-US")

// Streaming (yields partials as audio is fed)
for await partial in model.transcribeStream(audio: audio, sampleRate: 16000, language: "ja-JP") {
    print(partial.text, partial.isFinal)
}

Language is a BCP-47 tag (en-US, de-DE, fr-FR, ja-JP, hi-IN, ...) — resolved via languages.json. The Swift wrapper persists the streaming KV/conv caches across pushAudio calls within a StreamingSession.

CLI (Homebrew)

brew install soniqo/tap/speech

# Single-shot transcription on a wav file (uses this CoreML INT8 bundle by default)
speech transcribe recording.wav --engine nemotron --language en-US

# Other languages
speech transcribe meeting.wav --engine nemotron --language de-DE
speech transcribe interview.wav --engine nemotron --language ja-JP

speech is a universal binary; the model is downloaded on first use and cached under ~/Library/Caches/qwen3-speech/.

Source

Upstream: nvidia/nemotron-3.5-asr-streaming-0.6b.

License

This CoreML conversion is distributed under OpenMDW 1.1, matching the upstream NVIDIA model. NVIDIA marks the upstream model ready for commercial use.

Links

Fuentes

1 fuente
Hugging FacePrincipalVersión 447095fe87b480b5e6a15367f135303d479de8ac
huggingface.co/aufklarer/Nemotron-3.5-ASR-Streaming-0.6B-CoreML-INT8/tree/447095fe87b480b5e6a15367f135303d479de8ac

Verificado 30 ago

Artefactos del modelo

9 artefactos

decoder.mlmodelc/analytics/coremldata.bin

bin · 243 B · SHA-256 4d58297228f4…d0d4 · Hugging Face

Descargar

decoder.mlmodelc/coremldata.bin

bin · 404 B · SHA-256 15a3baf01a47…8762 · Hugging Face

Descargar

decoder.mlmodelc/weights/weight.bin

bin · 28,5 MB · SHA-256 dcdeccd4ccf4…7f8f · Hugging Face

Descargar

encoder.mlmodelc/analytics/coremldata.bin

bin · 243 B · SHA-256 cdd661c54b5e…f32b · Hugging Face

Descargar

encoder.mlmodelc/coremldata.bin

bin · 701 B · SHA-256 c37a6fb18131…2e8d · Hugging Face

Descargar

encoder.mlmodelc/weights/weight.bin

bin · 565 MB · SHA-256 5fab9a684e34…6508 · Hugging Face

Descargar

joint.mlmodelc/analytics/coremldata.bin

bin · 243 B · SHA-256 e76f3618638f…57c4 · Hugging Face

Descargar

joint.mlmodelc/coremldata.bin

bin · 355 B · SHA-256 1b4924670d16…ce9d · Hugging Face

Descargar

joint.mlmodelc/weights/weight.bin

bin · 18,0 MB · SHA-256 c0ef0a3a6598…9cfe · Hugging Face

Descargar

Extractos de fuentes

2 extractos

--- license: openmdw-1.1 language: - en - es - de - fr - it - pt - ru - hi - zh - ja - ko - ar - nl - pl - tr - uk - ro - el - cs - hu - sv - da - fi - 'no' - sk - hr - bg - lt - et - lv - sl - th - vi - id - ms - bn - ur - fa - ta - te - mr - gu - kn - ml - si - ne - km - sw - am - ha - zu - yo - ig - af - rw - so - ny - ln - 'or' - he - ku - az - ka - hy - uz - tg - ky - qu - ay - gn - mi - haw - sm - to - mt tags: - automatic-speech-recognition - nemotron - streaming - conformer - rnn-t - multilingual - coreml base_model: nvidia/nemotron-3.5-asr-streaming-0.6b library_name: coreml pipeline_tag: automatic-speech-recognition --- # Nemotron-3.5 ASR Streaming 0.6B — CoreML INT8 Cache-aware streaming Conformer + RNN-T from NVIDIA, ported to CoreML (`.mlmodelc`) for on-device inference on Apple Silicon. 600 M params, 40 language-locales, native punctuation and capitalization. INT8 palettized encoder, FP16 decoder + joint. Ships `.mlmodelc` (compiled) — `.mlpackage` is not shipped because on-device `MLModel.compileModel()` produces non-deterministic output across iOS simulator vs device runtimes. ## Model | | | |---|---| | Parameters | 600 M | | Architecture | FastConformer-CacheAware-RNN-T with language-conditioning prompt kernel | | Languages | 40 (see frontmatter) | | Sample rate | 16 kHz mono | | Streaming chunk | 320 ms (`att_context_size = [56, 3]`) | | Encoder quantization | INT8 palettized | | Decoder / joint dtype | FP16 | | On-disk size | 612 MB | ## Files | File | Size | Description | |------|------|-------------| | `encoder.mlmodelc/` | 565 MB | 24-layer cache-aware Conformer encoder + prompt kernel | | `decoder.mlmodelc/` | 29 MB | RNN-T prediction net (2-layer LSTM, 640 dim) | | `joint.mlmodelc/` | 18 MB | Joint network (vocab=13088) | | `tokenizer.model` | 400 KB | SentencePiece tokenizer used for phrase tokenization and word boosting | | `vocab.json` | 230 KB | SentencePiece pieces, id → string | | `languages.json` | 2 KB | Language tag → prompt slot (e.g. `"en-US": 0`) | | `config.json` | <1 KB | Streaming geometry + dims for the loader | ## Performance M5 Pro (Apple Silicon), 50 samples per language from FLEURS test, streaming 320 ms chunks, compute units `.all`. Scoring uses Whisper `EnglishTextNormalizer` for English and `BasicTextNormalizer(split_letters=True)` for hi/ja (char-level), `BasicTextNormalizer` for de/fr/ar. ### Accur...

Source context: 2311 downloads · 7 likes · Pipeline automatic-speech-recognition · Library coreml · Repo aufklarer/Nemotron-3.5-ASR-Streaming-0.6B-CoreML-INT8