File size: 3,582 Bytes
aa24cce
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bfef108
aa24cce
 
 
 
 
 
bfef108
 
051d328
aa24cce
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
---
license: cc-by-4.0
base_model: nvidia/canary-1b-v2
pipeline_tag: automatic-speech-recognition
library_name: coreml
language:
  - bg
  - hr
  - cs
  - da
  - nl
  - en
  - et
  - fi
  - fr
  - de
  - el
  - hu
  - it
  - lv
  - lt
  - mt
  - pl
  - pt
  - ro
  - sk
  - sl
  - es
  - sv
  - ru
  - uk
tags:
  - coreml
  - apple-neural-engine
  - on-device
  - ios
  - macos
  - speech
  - audio
  - automatic-speech-recognition
  - automatic-speech-translation
  - canary
  - fastconformer
  - nemo
  - kv-cache
  - fp16
---
# Canary 1B v2 — CoreML (FP16, KV-cache)

On-device CoreML port of NVIDIA **canary-1b-v2** for Apple silicon (iOS / macOS): FP32 preprocessor, FP16 Apple Neural Engine-resident FastConformer encoder, and a stateful KV-cache Transformer decoder driven by a host-side greedy loop. This is the reference (uncompressed) build; the memory-optimized variants below are derived from it and match its accuracy.

**Base model:** [nvidia/canary-1b-v2](https://huggingface.co/nvidia/canary-1b-v2) (NVIDIA NeMo `EncDecMultiTaskModel`, 1B parameters, 25 European languages, ASR + speech translation). **License:** the base model is released under [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode.en); this conversion carries the same license. Please attribute NVIDIA for the model.

## This build

| | |
|---|---|
| Encoder | FP16 weights, Neural Engine-resident, 1.58 GB |
| Decoder / cross-KV | FP16, 271 MB + 34 MB |
| Download | 1.89 GB |
| iOS RAM while transcribing | 1.9 GB (measured, 6-minute file) |

## Build family

All 1B v2 builds share the same preprocessor, tokenizer, package layout, and decode contract; only the weight format of the encoder and/or decoder differs. Download sizes are as hosted on the Hub; iOS RAM was measured in an app while transcribing a 6-minute file.

| Repo | Build | Encoder weights | Decoder weights | Download | iOS RAM |
|---|---|---|---|---|---|
| **`canary-1b-v2-coreml` (this repo)** | FP16 (reference) | FP16 | FP16 | 1.89 GB | 1.9 GB (measured) |
| [`canary-1b-v2-int8-coreml`](https://huggingface.co/smdesai/canary-1b-v2-int8-coreml) | INT8 encoder | INT8 per-channel | FP16 | 1.10 GB | 1.2 GB (measured) |
| [`canary-1b-v2-pal6-coreml`](https://huggingface.co/smdesai/canary-1b-v2-pal6-coreml) | 6-bit encoder | 6-bit palette, g=16 | FP16 | 0.92 GB | 1.0 GB (measured) |
| [`canary-1b-v2-int8full-coreml`](https://huggingface.co/smdesai/canary-1b-v2-int8full-coreml) | INT8 full | INT8 per-channel | INT8 per-channel | 0.95 GB | 1.0 GB (measured) |
| [`canary-1b-v2-pal6-int8-coreml`](https://huggingface.co/smdesai/canary-1b-v2-pal6-int8-coreml) | 6-bit + INT8 | 6-bit palette, g=16 | INT8 per-channel | 0.77 GB | 910 MB (measured) |
| [`canary-180m-flash-coreml`](https://huggingface.co/smdesai/canary-180m-flash-coreml) | 180M Flash | FP16 (17L, d=512) | FP16 (4L) | 0.37 GB | 470 MB (measured) |

## Files

| File | Contents |
|---|---|
| `canary_preprocessor.mlmodelc` | FP32 mel front end (128 mel bins, 16 kHz mono, 15 s window) |
| `canary_encoder.mlmodelc` | FastConformer encoder, 32 layers, d=1024, subsampling 8 |
| `canary_cross_kv.mlmodelc` | Cross-attention K/V projection, 8 layers (run once per window) |
| `canary_decoder_kv.mlmodelc` | Stateful single-step Transformer decoder, 8 layers, 16384-way LM head |
| `canary_spe.model` | SentencePiece tokenizer (16384 pieces) |
| `metadata.json` | Shapes, decode geometry, seed tokens, and the weight recipe of this build |

## Credits

Model: NVIDIA NeMo team, [canary-1b-v2](https://huggingface.co/nvidia/canary-1b-v2), CC-BY-4.0.