Automatic Speech Recognition
MLX
Russian
speech-recognition
russian
offline
apple
apple-silicon
ios
ipados
macos
rnnt
conformer
sentencepiece
native-apple
Instructions to use kruatech/gigaam-v3-mlx with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use kruatech/gigaam-v3-mlx with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] hf download kruatech/gigaam-v3-mlx --local-dir gigaam-v3-mlx
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
Upload folder using huggingface_hub
Browse files- README.md +31 -6
- checksums.sha256 +1 -1
README.md
CHANGED
|
@@ -29,7 +29,7 @@ tags:
|
|
| 29 |
> Native MLX inference on iPhone, iPad, and Mac — no Python, no cloud, no server required at runtime.
|
| 30 |
|
| 31 |
Converted from [`ai-sage/GigaAM-v3`](https://huggingface.co/ai-sage/GigaAM-v3) (`e2e_rnnt` revision).
|
| 32 |
-
No additional training or fine-tuning. The native runtime
|
| 33 |
|
| 34 |
---
|
| 35 |
|
|
@@ -43,6 +43,20 @@ No additional training or fine-tuning. The native runtime produced identical dec
|
|
| 43 |
|
| 44 |
---
|
| 45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
## Performance · Apple M1 Max
|
| 47 |
|
| 48 |
### Short audio (~6 s)
|
|
@@ -82,12 +96,23 @@ The native runtime is approximately **4.2× faster** than the Python reference o
|
|
| 82 |
The current main bottleneck is the **RNNT joint network** during greedy decoding.
|
| 83 |
</details>
|
| 84 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 85 |
### Memory
|
| 86 |
|
| 87 |
| Scenario | Peak RSS |
|
| 88 |
|----------|----------|
|
| 89 |
| Native MLX · short audio | ~1.10 GB |
|
| 90 |
| Native MLX · long-form audio | ~1.15 GB |
|
|
|
|
| 91 |
| Python reference · short audio | ~1.76 GB |
|
| 92 |
|
| 93 |
---
|
|
@@ -120,19 +145,19 @@ It is **not a Python package** — there is nothing to `pip install`.
|
|
| 120 |
| Requirement | Value |
|
| 121 |
|-------------|-------|
|
| 122 |
| Platform | iOS, iPadOS, and macOS — any version supported by MLX Swift |
|
| 123 |
-
| Architecture | arm64 Apple devices
|
| 124 |
| Framework | [Apple MLX](https://github.com/ml-explore/mlx) |
|
| 125 |
| Language | Swift |
|
| 126 |
| Runtime deps | MLX Swift runtime and bundled model assets |
|
| 127 |
|
|
|
|
|
|
|
| 128 |
To use this bundle in a native app, add the **MLX Swift** package to your Xcode project:
|
| 129 |
|
| 130 |
```
|
| 131 |
https://github.com/ml-explore/mlx-swift
|
| 132 |
```
|
| 133 |
|
| 134 |
-
This repository provides model assets. A native runtime should load `manifest.json`, `weights.fp16.safetensors`, tokenizer files, and bundled frontend assets, then execute the pipeline described below.
|
| 135 |
-
|
| 136 |
---
|
| 137 |
|
| 138 |
## Repository Files
|
|
@@ -205,7 +230,7 @@ Encoder subsampling factor: **4** → one encoder frame ≈ **40 ms** of audio.
|
|
| 205 |
|
| 206 |
## Long-Form Transcription
|
| 207 |
|
| 208 |
-
Long audio is
|
| 209 |
|
| 210 |
**Recommended settings:**
|
| 211 |
|
|
@@ -264,7 +289,7 @@ End-to-end: the native runtime and the Python reference produce **identical deco
|
|
| 264 |
- Optimized for native Apple MLX runtimes; not intended for server or Python-based inference.
|
| 265 |
- Long audio should be processed in chunks by the host runtime.
|
| 266 |
- Word-level timestamps are not included in the bundle.
|
| 267 |
-
-
|
| 268 |
- This repository contains **model assets only** — no application code, no Swift SDK source.
|
| 269 |
|
| 270 |
---
|
|
|
|
| 29 |
> Native MLX inference on iPhone, iPad, and Mac — no Python, no cloud, no server required at runtime.
|
| 30 |
|
| 31 |
Converted from [`ai-sage/GigaAM-v3`](https://huggingface.co/ai-sage/GigaAM-v3) (`e2e_rnnt` revision).
|
| 32 |
+
No additional training or fine-tuning. The native runtime produces identical decoded text to the Python reference on validated test inputs.
|
| 33 |
|
| 34 |
---
|
| 35 |
|
|
|
|
| 43 |
|
| 44 |
---
|
| 45 |
|
| 46 |
+
## Quality
|
| 47 |
+
|
| 48 |
+
Evaluated on **Apple M1 Max**, release build.
|
| 49 |
+
Normalization: lowercase, punctuation removed.
|
| 50 |
+
|
| 51 |
+
| Dataset | Type | Clips | WER | CER |
|
| 52 |
+
|---------|------|------:|----:|----:|
|
| 53 |
+
| [Common Voice Scripted Speech 25.0 ru](https://mozilladatacollective.com/datasets/cmn2h1dg201gro107lpynbbd6) | read speech | 995 | **6.76%** | **2.55%** |
|
| 54 |
+
| [Common Voice Spontaneous Speech 3.0 ru](https://mozilladatacollective.com/datasets/cmn1pnb4n00vfmm07eqydzilq) | spontaneous speech | 276 | **9.86%** | **5.83%** |
|
| 55 |
+
|
| 56 |
+
Spontaneous Speech is a challenging scenario: conversational style, filler words, non-standard vocabulary. WER on read speech is expected to be lower — and the 6.76% result on Scripted Speech confirms this.
|
| 57 |
+
|
| 58 |
+
---
|
| 59 |
+
|
| 60 |
## Performance · Apple M1 Max
|
| 61 |
|
| 62 |
### Short audio (~6 s)
|
|
|
|
| 96 |
The current main bottleneck is the **RNNT joint network** during greedy decoding.
|
| 97 |
</details>
|
| 98 |
|
| 99 |
+
### Benchmark · 276 clips (CV Spontaneous Speech 3.0)
|
| 100 |
+
|
| 101 |
+
| Mode | Time / clip | RTF avg | RTF median | Peak RSS |
|
| 102 |
+
|------|------------:|--------:|-----------:|---------:|
|
| 103 |
+
| Cold (per-process) | 1.87 s | 0.16 | 0.12 | 992 MB |
|
| 104 |
+
| Warm (batch, model in memory) | 0.49 s | 0.05 | 0.03 | 981 MB |
|
| 105 |
+
|
| 106 |
+
**Cold** — each clip starts a new process including model load (~1.4 s overhead).
|
| 107 |
+
**Warm** — model loaded once, all clips processed sequentially in a single process.
|
| 108 |
+
|
| 109 |
### Memory
|
| 110 |
|
| 111 |
| Scenario | Peak RSS |
|
| 112 |
|----------|----------|
|
| 113 |
| Native MLX · short audio | ~1.10 GB |
|
| 114 |
| Native MLX · long-form audio | ~1.15 GB |
|
| 115 |
+
| Native MLX · benchmark (276 clips) | ~992 MB |
|
| 116 |
| Python reference · short audio | ~1.76 GB |
|
| 117 |
|
| 118 |
---
|
|
|
|
| 145 |
| Requirement | Value |
|
| 146 |
|-------------|-------|
|
| 147 |
| Platform | iOS, iPadOS, and macOS — any version supported by MLX Swift |
|
| 148 |
+
| Architecture | arm64 Apple devices |
|
| 149 |
| Framework | [Apple MLX](https://github.com/ml-explore/mlx) |
|
| 150 |
| Language | Swift |
|
| 151 |
| Runtime deps | MLX Swift runtime and bundled model assets |
|
| 152 |
|
| 153 |
+
Swift SDK and CLI: [kruatech/gigaam-v3-mlx](https://github.com/kruatech/gigaam-v3-mlx)
|
| 154 |
+
|
| 155 |
To use this bundle in a native app, add the **MLX Swift** package to your Xcode project:
|
| 156 |
|
| 157 |
```
|
| 158 |
https://github.com/ml-explore/mlx-swift
|
| 159 |
```
|
| 160 |
|
|
|
|
|
|
|
| 161 |
---
|
| 162 |
|
| 163 |
## Repository Files
|
|
|
|
| 230 |
|
| 231 |
## Long-Form Transcription
|
| 232 |
|
| 233 |
+
Long audio is processed in chunks to keep memory usage bounded and inference latency predictable.
|
| 234 |
|
| 235 |
**Recommended settings:**
|
| 236 |
|
|
|
|
| 289 |
- Optimized for native Apple MLX runtimes; not intended for server or Python-based inference.
|
| 290 |
- Long audio should be processed in chunks by the host runtime.
|
| 291 |
- Word-level timestamps are not included in the bundle.
|
| 292 |
+
- iOS/iPadOS memory pressure should be verified on target devices.
|
| 293 |
- This repository contains **model assets only** — no application code, no Swift SDK source.
|
| 294 |
|
| 295 |
---
|
checksums.sha256
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
|
| 2 |
993c538b6dceffb7b018c633a7cc8e4034e7ca975b5c27ecc8ecd679fa574d16 manifest.json
|
| 3 |
2ff6d955a61003e0d3cb2155be36c14aa3df69c879713f30880ddd07d71fde21 weights.fp16.safetensors
|
| 4 |
828c12c991019eef952a960661f25a92d6ad279591e2ea466b4aeddf1d20a18a tokenizer.model
|
|
|
|
| 1 |
+
f321086edd313c75a1d287f922ab6e851a9f3dabdc78a5820605230919543e87 README.md
|
| 2 |
993c538b6dceffb7b018c633a7cc8e4034e7ca975b5c27ecc8ecd679fa574d16 manifest.json
|
| 3 |
2ff6d955a61003e0d3cb2155be36c14aa3df69c879713f30880ddd07d71fde21 weights.fp16.safetensors
|
| 4 |
828c12c991019eef952a960661f25a92d6ad279591e2ea466b4aeddf1d20a18a tokenizer.model
|