Document measured iPhone performance, loading and mixed quality placement
Browse files- README.md +45 -2
- SHA256.json +2 -2
- fast/README.md +141 -0
- 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.
|
| 79 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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":
|
| 15 |
-
"sha256": "
|
| 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.
|