coder543 commited on
Commit
b69686b
·
verified ·
1 Parent(s): a2bf033

Document measured iPhone performance, loading and mixed quality placement

Browse files
Files changed (4) hide show
  1. README.md +45 -2
  2. SHA256.json +2 -2
  3. fast/README.md +141 -0
  4. quality/README.md +141 -0
README.md CHANGED
@@ -75,8 +75,51 @@ encoder/subsampling calls and zero target GPU intervals. The decoder uses the
75
  CPU. Compiler manifests mark both functions in each quality asset fully placed
76
  on ANE; this is placement evidence, not an arithmetic-utilization measurement.
77
  Sampled peak client-plus-attributed-neural memory is approximately 1.07 GB,
78
- excluding unattributed compiler, driver and system memory. Phone execution of
79
- this quality bundle has not been qualified.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80
 
81
  ## Device specialization and loading
82
 
 
75
  CPU. Compiler manifests mark both functions in each quality asset fully placed
76
  on ANE; this is placement evidence, not an arithmetic-utilization measurement.
77
  Sampled peak client-plus-attributed-neural memory is approximately 1.07 GB,
78
+ excluding unattributed compiler, driver and system memory.
79
+
80
+ ## Measured iPhone performance
81
+
82
+ iPhone 15 Pro Max, iOS 27 build 24A437, Release runtime. Three-run medians after
83
+ warmup, using the same Moon speech. Includes bounded WAV reading/conversion,
84
+ chunk planning, frontend, encoder, decoding and output delivery. Preparation,
85
+ warmup and report writing are excluded. Hardware traces were captured separately.
86
+
87
+ | Bundle | Audio | Transcription | Audio / elapsed |
88
+ | --- | --- | ---: | ---: |
89
+ | fast | 20 seconds | 0.166 s | 120.7× |
90
+ | fast | 18 min 15 s | 2.418 s | 453.0× |
91
+ | quality | 20 seconds | 0.205 s | 97.6× |
92
+ | quality | 18 min 15 s | 7.534 s | 145.4× |
93
+
94
+ | Bundle | First observed complete preparation | Cached preparation |
95
+ | --- | ---: | ---: |
96
+ | fast | 47.7 s | 0.115 s |
97
+ | quality | 447.7 s | 0.077 s |
98
+
99
+ Preparation includes loading and any specialization requested by Core AI.
100
+ Underlying driver cache reuse is opaque; these are observed histories, not
101
+ controlled fresh-install measurements. Active caches were preserved. The quality
102
+ inference runs follow a cooldown after compilation. All reported passes remained
103
+ foregrounded; nominal and fair thermal states were observed.
104
+
105
+ Fast's complete recording trace contains **240 unique ANE predictions** across
106
+ 74 encoder calls, 74 subsampling calls and the batched decoder loop, with zero
107
+ target-process GPU intervals. Fast token IDs and transcript text match the
108
+ qualified Mac outputs for both input lengths.
109
+
110
+ **Quality uses mixed-device execution on this phone:** the encoder runs on the
111
+ ANE, subsampling runs on the GPU, and the decoder runs on the CPU. Both the
112
+ 45-second and four-minute shapes were exercised. This differs from the Mac's
113
+ ANE encoder/subsampling placement; requesting the ANE does not prevent fallback.
114
+
115
+ Quality's short output matches the Mac. Full-recording tokens differ but remain
116
+ stable across phone runs: **46/2,220 errors (2.07% Whisper-normalized WER)**,
117
+ versus 45/2,220 (2.03%) on the Mac and 46/2,220 for the matching FP32 source.
118
+ With the benchmark's simpler normalization, the phone scores 53/2,219 and the Mac
119
+ 54/2,219. These small device differences do not establish a general quality ranking.
120
+
121
+ Placement traces establish execution, not ALU utilization or energy use. Concurrent
122
+ scopes can overlap the same hardware event; aggregate counts use unique intervals.
123
 
124
  ## Device specialization and loading
125
 
SHA256.json CHANGED
@@ -11,8 +11,8 @@
11
  },
12
  {
13
  "path": "README.md",
14
- "bytes": 5082,
15
- "sha256": "cf41405ba0c95f42de280675abf725280ad7a682297b3f6d295b839bdb389214"
16
  },
17
  {
18
  "path": "fast/LICENSE",
 
11
  },
12
  {
13
  "path": "README.md",
14
+ "bytes": 7319,
15
+ "sha256": "b65942138d8392df117760132a570c6a9c2214004730213a9a2d7b2e97bb0610"
16
  },
17
  {
18
  "path": "fast/LICENSE",
fast/README.md ADDED
@@ -0,0 +1,141 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: cc-by-4.0
3
+ base_model: nvidia/parakeet-tdt-0.6b-v2
4
+ pipeline_tag: automatic-speech-recognition
5
+ ---
6
+
7
+ # Parakeet TDT 0.6B V2 — Core AI
8
+
9
+ Apple Core AI conversion of [NVIDIA Parakeet V2](https://huggingface.co/nvidia/parakeet-tdt-0.6b-v2),
10
+ pinned to `ae9ad07059c7c739ffaf932226a8fe64ae2620b0`. Converted weights retain the upstream
11
+ [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/) license.
12
+ See LICENSE and NOTICE. This conversion is not endorsed by NVIDIA.
13
+
14
+ Choose one self-contained bundle:
15
+
16
+ - `fast/`: full finite Fourier relative attention, 192 encoder positions,
17
+ fixed 15-second chunks, and an FP16 ANE decoder batching up to 128 independent chunks.
18
+ - `quality/`: full sinusoidal relative attention, shared weights for 576 and
19
+ 3,008 encoder positions (45-second and four-minute inputs), exact tiled
20
+ convolution subsampling, fixed 240-second chunks, and an FP32 CPU decoder
21
+ batching up to four independent chunks. Select the smallest shape that fits
22
+ each chunk; short recordings use the 45-second shape.
23
+
24
+ Both use W8A16 encoder weights with selected sensitive projections retained in
25
+ FP16, and four concurrent encoder requests. Neither truncates attention within
26
+ its chunk or drops input audio. `metadata.json` supplies available input shapes;
27
+ `runtime.json` records the qualified scheduling policy. Weights are shared across
28
+ static functions in each asset. The labels describe a measured speed/context
29
+ tradeoff, not a universal quality ranking.
30
+
31
+ Requires physical Apple silicon on macOS 27 or iOS 27 and a model-specific host
32
+ runtime. Graphs accept model features and recurrent states, not audio files.
33
+ The host must implement the frontend, greedy TDT loop and tokenizer described
34
+ by the metadata and sidecars. Vocabulary: 1,024 nonblank tokens, blank ID 1,024,
35
+ durations 0/1/2/3/4, and at most ten symbols per frame. Recurrent state is independent
36
+ between chunks. TDT emission frames and predicted durations support token/word
37
+ timings at an 80 ms frame step; they are native alignments, not forced alignment.
38
+
39
+ ## Measured performance
40
+
41
+ M3 MacBook Air (16 GB), macOS 27 build 26A428. Medians after warmup;
42
+ frontend, encoder and decoding are included. Preparation, file I/O and chunk
43
+ planning are excluded. Audio is JFK's **“We choose to go to the Moon”** speech:
44
+ a **20-second excerpt** and the **18-minute 15-second recording**.
45
+
46
+ | Bundle | Audio duration | Transcription | Audio / elapsed |
47
+ | --- | ---: | ---: | ---: |
48
+ | fast | 20 seconds | 0.150 s | 133.4× |
49
+ | fast | 18 min 15 s | 1.876 s | 584.0× |
50
+ | quality | 20 seconds | 0.153 s | 130.9× |
51
+ | quality | 18 min 15 s | 6.257 s | 175.0× |
52
+
53
+ Quality measurements use three timed runs after warmup, with stable tokens and
54
+ native word timings and nominal thermal state. The full recording uses 74 fast
55
+ chunks or five quality chunks. These contexts and execution policies differ.
56
+
57
+ Whisper-normalized WER against the supplied long-recording reference:
58
+
59
+ | Bundle / reference | Word errors | WER |
60
+ | --- | ---: | ---: |
61
+ | fast | 79/2220 | 3.56% |
62
+ | quality | 45/2220 | 2.03% |
63
+ | FP32 source, same four-minute cuts as quality | 46/2220 | 2.07% |
64
+
65
+ With the benchmark's simpler normalization, quality scores 54/2219 (2.43%)
66
+ and the matching source 53/2219 (2.39%). This is one English recording, not a
67
+ general accuracy ranking. Quantization and floating-point operation order can
68
+ change token decisions. Both quality shapes pass the short-fixture projected
69
+ encoder check at 2.04% relative RMS versus the independent FP32 source and
70
+ produce identical valid outputs to each other. Word timings are ordered,
71
+ bounded and text-preserving; human word-boundary accuracy was not measured.
72
+
73
+ A bounded full-recording quality trace contains ANE predictions within all ten
74
+ encoder/subsampling calls and zero target GPU intervals. The decoder uses the
75
+ CPU. Compiler manifests mark both functions in each quality asset fully placed
76
+ on ANE; this is placement evidence, not an arithmetic-utilization measurement.
77
+ Sampled peak client-plus-attributed-neural memory is approximately 1.07 GB,
78
+ excluding unattributed compiler, driver and system memory.
79
+
80
+ ## Measured iPhone performance
81
+
82
+ iPhone 15 Pro Max, iOS 27 build 24A437, Release runtime. Three-run medians after
83
+ warmup, using the same Moon speech. Includes bounded WAV reading/conversion,
84
+ chunk planning, frontend, encoder, decoding and output delivery. Preparation,
85
+ warmup and report writing are excluded. Hardware traces were captured separately.
86
+
87
+ | Bundle | Audio | Transcription | Audio / elapsed |
88
+ | --- | --- | ---: | ---: |
89
+ | fast | 20 seconds | 0.166 s | 120.7× |
90
+ | fast | 18 min 15 s | 2.418 s | 453.0× |
91
+ | quality | 20 seconds | 0.205 s | 97.6× |
92
+ | quality | 18 min 15 s | 7.534 s | 145.4× |
93
+
94
+ | Bundle | First observed complete preparation | Cached preparation |
95
+ | --- | ---: | ---: |
96
+ | fast | 47.7 s | 0.115 s |
97
+ | quality | 447.7 s | 0.077 s |
98
+
99
+ Preparation includes loading and any specialization requested by Core AI.
100
+ Underlying driver cache reuse is opaque; these are observed histories, not
101
+ controlled fresh-install measurements. Active caches were preserved. The quality
102
+ inference runs follow a cooldown after compilation. All reported passes remained
103
+ foregrounded; nominal and fair thermal states were observed.
104
+
105
+ Fast's complete recording trace contains **240 unique ANE predictions** across
106
+ 74 encoder calls, 74 subsampling calls and the batched decoder loop, with zero
107
+ target-process GPU intervals. Fast token IDs and transcript text match the
108
+ qualified Mac outputs for both input lengths.
109
+
110
+ **Quality uses mixed-device execution on this phone:** the encoder runs on the
111
+ ANE, subsampling runs on the GPU, and the decoder runs on the CPU. Both the
112
+ 45-second and four-minute shapes were exercised. This differs from the Mac's
113
+ ANE encoder/subsampling placement; requesting the ANE does not prevent fallback.
114
+
115
+ Quality's short output matches the Mac. Full-recording tokens differ but remain
116
+ stable across phone runs: **46/2,220 errors (2.07% Whisper-normalized WER)**,
117
+ versus 45/2,220 (2.03%) on the Mac and 46/2,220 for the matching FP32 source.
118
+ With the benchmark's simpler normalization, the phone scores 53/2,219 and the Mac
119
+ 54/2,219. These small device differences do not establish a general quality ranking.
120
+
121
+ Placement traces establish execution, not ALU utilization or energy use. Concurrent
122
+ scopes can overlap the same hardware event; aggregate counts use unique intervals.
123
+
124
+ ## Device specialization and loading
125
+
126
+ Source `.aimodel` files specialize on the device. On the same Mac:
127
+
128
+ | Bundle | First observed preparation with specialization | Subsequent cached preparation |
129
+ | --- | ---: | ---: |
130
+ | fast | 33 s | 0.060 s |
131
+ | quality | 6 min 2 s | 0.041 s |
132
+
133
+ Preparation includes Core AI model initialization and function loading;
134
+ it excludes host sidecar reads, audio I/O, chunk planning, warmup and transcription.
135
+ These are observed cache histories, not guaranteed fresh-install times. The
136
+ underlying ANE cache state is not fully observable, and OS/device/application
137
+ changes can require specialization again.
138
+
139
+ AoT compiled artifacts are omitted because no significant load-time benefit has
140
+ been demonstrated. Authoring debug locations were removed while preserving graph
141
+ signatures and operation counts. `SHA256.json` lists distributed payload checksums.
quality/README.md ADDED
@@ -0,0 +1,141 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: cc-by-4.0
3
+ base_model: nvidia/parakeet-tdt-0.6b-v2
4
+ pipeline_tag: automatic-speech-recognition
5
+ ---
6
+
7
+ # Parakeet TDT 0.6B V2 — Core AI
8
+
9
+ Apple Core AI conversion of [NVIDIA Parakeet V2](https://huggingface.co/nvidia/parakeet-tdt-0.6b-v2),
10
+ pinned to `ae9ad07059c7c739ffaf932226a8fe64ae2620b0`. Converted weights retain the upstream
11
+ [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/) license.
12
+ See LICENSE and NOTICE. This conversion is not endorsed by NVIDIA.
13
+
14
+ Choose one self-contained bundle:
15
+
16
+ - `fast/`: full finite Fourier relative attention, 192 encoder positions,
17
+ fixed 15-second chunks, and an FP16 ANE decoder batching up to 128 independent chunks.
18
+ - `quality/`: full sinusoidal relative attention, shared weights for 576 and
19
+ 3,008 encoder positions (45-second and four-minute inputs), exact tiled
20
+ convolution subsampling, fixed 240-second chunks, and an FP32 CPU decoder
21
+ batching up to four independent chunks. Select the smallest shape that fits
22
+ each chunk; short recordings use the 45-second shape.
23
+
24
+ Both use W8A16 encoder weights with selected sensitive projections retained in
25
+ FP16, and four concurrent encoder requests. Neither truncates attention within
26
+ its chunk or drops input audio. `metadata.json` supplies available input shapes;
27
+ `runtime.json` records the qualified scheduling policy. Weights are shared across
28
+ static functions in each asset. The labels describe a measured speed/context
29
+ tradeoff, not a universal quality ranking.
30
+
31
+ Requires physical Apple silicon on macOS 27 or iOS 27 and a model-specific host
32
+ runtime. Graphs accept model features and recurrent states, not audio files.
33
+ The host must implement the frontend, greedy TDT loop and tokenizer described
34
+ by the metadata and sidecars. Vocabulary: 1,024 nonblank tokens, blank ID 1,024,
35
+ durations 0/1/2/3/4, and at most ten symbols per frame. Recurrent state is independent
36
+ between chunks. TDT emission frames and predicted durations support token/word
37
+ timings at an 80 ms frame step; they are native alignments, not forced alignment.
38
+
39
+ ## Measured performance
40
+
41
+ M3 MacBook Air (16 GB), macOS 27 build 26A428. Medians after warmup;
42
+ frontend, encoder and decoding are included. Preparation, file I/O and chunk
43
+ planning are excluded. Audio is JFK's **“We choose to go to the Moon”** speech:
44
+ a **20-second excerpt** and the **18-minute 15-second recording**.
45
+
46
+ | Bundle | Audio duration | Transcription | Audio / elapsed |
47
+ | --- | ---: | ---: | ---: |
48
+ | fast | 20 seconds | 0.150 s | 133.4× |
49
+ | fast | 18 min 15 s | 1.876 s | 584.0× |
50
+ | quality | 20 seconds | 0.153 s | 130.9× |
51
+ | quality | 18 min 15 s | 6.257 s | 175.0× |
52
+
53
+ Quality measurements use three timed runs after warmup, with stable tokens and
54
+ native word timings and nominal thermal state. The full recording uses 74 fast
55
+ chunks or five quality chunks. These contexts and execution policies differ.
56
+
57
+ Whisper-normalized WER against the supplied long-recording reference:
58
+
59
+ | Bundle / reference | Word errors | WER |
60
+ | --- | ---: | ---: |
61
+ | fast | 79/2220 | 3.56% |
62
+ | quality | 45/2220 | 2.03% |
63
+ | FP32 source, same four-minute cuts as quality | 46/2220 | 2.07% |
64
+
65
+ With the benchmark's simpler normalization, quality scores 54/2219 (2.43%)
66
+ and the matching source 53/2219 (2.39%). This is one English recording, not a
67
+ general accuracy ranking. Quantization and floating-point operation order can
68
+ change token decisions. Both quality shapes pass the short-fixture projected
69
+ encoder check at 2.04% relative RMS versus the independent FP32 source and
70
+ produce identical valid outputs to each other. Word timings are ordered,
71
+ bounded and text-preserving; human word-boundary accuracy was not measured.
72
+
73
+ A bounded full-recording quality trace contains ANE predictions within all ten
74
+ encoder/subsampling calls and zero target GPU intervals. The decoder uses the
75
+ CPU. Compiler manifests mark both functions in each quality asset fully placed
76
+ on ANE; this is placement evidence, not an arithmetic-utilization measurement.
77
+ Sampled peak client-plus-attributed-neural memory is approximately 1.07 GB,
78
+ excluding unattributed compiler, driver and system memory.
79
+
80
+ ## Measured iPhone performance
81
+
82
+ iPhone 15 Pro Max, iOS 27 build 24A437, Release runtime. Three-run medians after
83
+ warmup, using the same Moon speech. Includes bounded WAV reading/conversion,
84
+ chunk planning, frontend, encoder, decoding and output delivery. Preparation,
85
+ warmup and report writing are excluded. Hardware traces were captured separately.
86
+
87
+ | Bundle | Audio | Transcription | Audio / elapsed |
88
+ | --- | --- | ---: | ---: |
89
+ | fast | 20 seconds | 0.166 s | 120.7× |
90
+ | fast | 18 min 15 s | 2.418 s | 453.0× |
91
+ | quality | 20 seconds | 0.205 s | 97.6× |
92
+ | quality | 18 min 15 s | 7.534 s | 145.4× |
93
+
94
+ | Bundle | First observed complete preparation | Cached preparation |
95
+ | --- | ---: | ---: |
96
+ | fast | 47.7 s | 0.115 s |
97
+ | quality | 447.7 s | 0.077 s |
98
+
99
+ Preparation includes loading and any specialization requested by Core AI.
100
+ Underlying driver cache reuse is opaque; these are observed histories, not
101
+ controlled fresh-install measurements. Active caches were preserved. The quality
102
+ inference runs follow a cooldown after compilation. All reported passes remained
103
+ foregrounded; nominal and fair thermal states were observed.
104
+
105
+ Fast's complete recording trace contains **240 unique ANE predictions** across
106
+ 74 encoder calls, 74 subsampling calls and the batched decoder loop, with zero
107
+ target-process GPU intervals. Fast token IDs and transcript text match the
108
+ qualified Mac outputs for both input lengths.
109
+
110
+ **Quality uses mixed-device execution on this phone:** the encoder runs on the
111
+ ANE, subsampling runs on the GPU, and the decoder runs on the CPU. Both the
112
+ 45-second and four-minute shapes were exercised. This differs from the Mac's
113
+ ANE encoder/subsampling placement; requesting the ANE does not prevent fallback.
114
+
115
+ Quality's short output matches the Mac. Full-recording tokens differ but remain
116
+ stable across phone runs: **46/2,220 errors (2.07% Whisper-normalized WER)**,
117
+ versus 45/2,220 (2.03%) on the Mac and 46/2,220 for the matching FP32 source.
118
+ With the benchmark's simpler normalization, the phone scores 53/2,219 and the Mac
119
+ 54/2,219. These small device differences do not establish a general quality ranking.
120
+
121
+ Placement traces establish execution, not ALU utilization or energy use. Concurrent
122
+ scopes can overlap the same hardware event; aggregate counts use unique intervals.
123
+
124
+ ## Device specialization and loading
125
+
126
+ Source `.aimodel` files specialize on the device. On the same Mac:
127
+
128
+ | Bundle | First observed preparation with specialization | Subsequent cached preparation |
129
+ | --- | ---: | ---: |
130
+ | fast | 33 s | 0.060 s |
131
+ | quality | 6 min 2 s | 0.041 s |
132
+
133
+ Preparation includes Core AI model initialization and function loading;
134
+ it excludes host sidecar reads, audio I/O, chunk planning, warmup and transcription.
135
+ These are observed cache histories, not guaranteed fresh-install times. The
136
+ underlying ANE cache state is not fully observable, and OS/device/application
137
+ changes can require specialization again.
138
+
139
+ AoT compiled artifacts are omitted because no significant load-time benefit has
140
+ been demonstrated. Authoring debug locations were removed while preserving graph
141
+ signatures and operation counts. `SHA256.json` lists distributed payload checksums.