Sabich v4.0: trained from scratch on a standardised dataset
A from-scratch run after the rolling updates v2.5 to v3.4, and the new baseline future updates continue from.
Sabich v4.0 was released on 2026-11-10. It is the Sabich the Hebrish apps download, and they pick it up from the CDN on their own. The version jump marks a different kind of release: v4.0 was trained from scratch, starting again from stock NVIDIA Parakeet TDT 0.6B v2, on a dataset that had just been standardised. It is the new clean baseline that future rolling updates continue from.
Trained from scratch
Every Sabich since v2.4 was an incremental training. The rolling updates, v2.5 to v3.4 (the first on 2026-11-02, the last, v3.4, on 2026-11-10), each continued from the previous version's weights for a few epochs on the new recordings plus older ones. That is quick, and it kept the apps close to the data, but each step carried forward whatever the weights before it had learned.
v4.0 was not initialised from any earlier Sabich weights. It starts from nvidia/parakeet-tdt-0.6b-v2 and learns everything again from the full dataset:
- Run:
r38-all, 2026-11-10. - Recipe: 20 epochs, learning rate 3e-5, batch 16, speed perturbation 0.9x to 1.1x, public English replay targeted at 10% (6.3% in practice).
- Hardware: one NVIDIA H100 (preemptible) on Nebius AI Cloud, through Serverless AI jobs, in eu-north1 (Finland). Training took 192 minutes.
- Released weights: the best single epoch, epoch 17. Its word error rate on 1,857 held-out validation clips was 4.82%; averaging the last 5 checkpoints scored 4.91% and was not used.
The validation set has grown with the dataset, so 4.82% can't be compared with figures for earlier versions, and it is not a benchmark score. The rolling line has no published benchmark.
Dataset standardisation first
A from-scratch run is the moment to fix the data, because nothing learned from the old formatting is carried over. Before the run, on 2026-11-09, the dataset was standardised in two ways. This is an important part of the release.
Transcript conventions. One set of writing rules was settled and applied to every published take:
- Times in digits, with AM and PM written "7 PM" and "4:30 AM".
- Units abbreviated, with a space: "150 km".
- Digits for 10 and up, words for one to nine in ordinary counts. Quoted texts such as Tanach and Talmud keep their own wording.
- One spelling for each term that sounds the same, such as "kupat cholim" and "Be'er Sheva". Different words stay apart: Jaffa and Yafo, Ram and RAM.
- Canonical romanisations of Hebrew words and proper-noun casing. People's names are never respelled.
- Shekel amounts written as NIS.
Each changed row keeps its old text in a text_before_normalization column, so nothing was lost.
Dataset format. Every topic became its own Hebrish dataset in one standard format, with a sentences tab and a takes tab: 40 topic datasets were created or converted on 2026-11-09 (voice commands are left out for now). The dataset index lists them.
The aim is consistent formatting in what the model writes, and a clean baseline to build on. This post makes no claim that it lowers the error rate.
The data at training time
The master dataset at revision b87b8df (2026-11-10): 29,099 unique clips, 2,754 minutes (about 45.9 hours) of unique audio, recorded between 2025-11-17 and 2026-11-10. Priority-word clips, words Daniel's dictation got wrong, are repeated three times, so the training set itself was 32,619 rows and 3,029 minutes.
| Source | Unique minutes |
|---|---|
| Daniel's own phone recordings | 2,536 |
| LibriSpeech-PC (public English replay) | 191 |
| EHMS import | 27 |
Of the 2,754 minutes, 1,106 are code-switching (English with Hebrew words in it) and 1,648 are everything else: tech, names, general English and the task recordings.
| Category | Clips | Minutes |
|---|---|---|
| tech | 7,007 | 668 |
| message | 3,724 | 394 |
| code_switch | 2,660 | 225 |
| names | 2,512 | 187 |
| voice-commands | 2,418 | 87 |
| 1,607 | 199 | |
| general | 1,089 | 105 |
| librispeech | 900 | 191 |
| israeli-streets | 577 | 54 |
| dates-times | 406 | 29 |
| brand-names | 362 | 40 |
| whispered | 292 | 27 |
| tanach | 291 | 36 |
| numerics | 282 | 19 |
| irish-english | 242 | 22 |
| architecture | 221 | 17 |
| october-7 | 208 | 18 |
| rabbis | 203 | 22 |
| web-addresses | 200 | 17 |
| personal | 190 | 15 |
| email-addresses | 171 | 18 |
| talmud | 147 | 15 |
| rabbinic-works | 143 | 17 |
| story | 129 | 30 |
| claude-dictations | 59 | 19 |
The largest categories, by clips. The code-switching total above counts the Hebrew-word sentences across categories, not only code_switch.
Where to get it
- In the apps: nothing to do. The Hebrish apps update Sabich from the CDN by themselves.
- On Hugging Face:
Hebrish/Sabich-Rolling(NeMo) andHebrish/Sabich-Rolling-sherpa-onnx-int8(the app build). The repository names are kept.
What comes next
Rolling updates continue from v4.0's weights. Sabich v3.4 and the released versions v1.0 to v2.4 stay on Hugging Face. The full version list is on the model page.