Hebrish
Technical

Technical

AI training

How the speech models are trained: what goes into each run, how the mix has changed from version to version, and how the first checkpoints compared. The models themselves are on Models.

The recipe stays much the same from version to version; the explorer below it shows how the amounts changed.

The training blend

Corn the Sloth in a kitchen, working a blender. Falling into it are wooden blocks with Hebrew letters, blocks reading SQL and CLI, English letter tiles and an open book giving off sound waves.

Every training run is a blend, and each clip goes into exactly one of five ingredients. Fine-tuning on code-switched speech alone tends to damage a model's ordinary English, so the job of the blend is to teach the new skill while the model keeps what it already knew.

  • Code-switching. English sentences with Hebrew words in them. This is the task itself and the largest ingredient in every version.
  • Priority words. Words my dictation got wrong. Each take appears up to three times in a run, with the extra copies capped at 10% of the run's audio, so the model sees its mistakes more often without overfitting to them.
  • Tech vocabulary. Model, product and command-line names, acronyms and brands, which stock models tend to mangle.
  • Other English. Numbers, emails, messages and everyday English in the same voice, so the model doesn't learn that this voice means Hebrew is coming.
  • LibriSpeech replay. Public English audiobook clips, read by other people, held at about 10% of the blend. They are there to stop the model forgetting: LibriSpeech is part of what stock Parakeet learned from, so it works as a regular reminder of plain English. The 10% follows published work on experience replay, where that share cut forgetting sharply without hurting the new domain.

A full retrain starts from the stock base. A rolling update starts from the previous version's weights and runs far fewer epochs, on new clips plus older ones. Test clips are held out of training and never repeated.

What each version was trained on

Pick a category to follow it on its own, in hours and as a share of the mix. Pick a version for its details.

Early checkpoints side by side

The first Parakeet, Nemotron and Whisper fine-tunes, with what each was trained on and its validation numbers during training. The current models are on Models.

Jachnun (Parakeet fine-tune)Shakshuka (Nemotron fine-tune) streamingWhisper Small fine-tune
Base modelnvidia/parakeet-tdt-0.6b-v2nvidia/nemotron-speech-streaming-en-0.6bopenai/whisper-small.en
ArchitectureFastConformer encoder, TDT decoder, 0.6BCache-aware FastConformer encoder, RNNT decoder, 0.6BWhisper encoder-decoder, 244M
How it transcribesThe whole clip, after you stop speakingStreaming, in chunks of 80 to 1,120 ms while you speak (also offline)The whole clip, up to 30 seconds. ACFT lets it process only as much audio as the clip is long
Current checkpointJachnun v1.0: checkpoint 6, run r6-en30, 2026-10-19Shakshuka v2.1, run r28-shak, 2026-11-05, on Sabich's data, not benchmarked yet (the rows below describe PoC-2, run r6-nemotron-en30, 2026-10-19)Run small-en-en30-acft, 2026-10-17
Trained onRead-Aloud-Voice-Sentences 550bfcaa, 2026-10-19 behindRead-Aloud-Voice-Sentences 550bfcaa, 2026-10-19 behindRead-Aloud-Voice-Sentences 36845b0d, 2026-10-17 behind
Training dataThe same for both: 339.2 min of code-switched speech (3,224 clips), 95.3 min of the speaker's own English, 48.5 min of LibriSpeech replay. 20 epochs on one L40SEarlier and smaller: Read-Aloud-Voice-Sentences as of 2026-10-17, 1,929 clips (215 min: 152.5 code-switching, 40.5 own English, 22.0 public English). 10 epochs
Validation WER (training) 5.0%6.3% (offline decoding)3.3% (its own validation set)
BenchmarkedYes: v1.0 73.3% term recall, 3.3% WER on the public benchmarkPublic benchmark (offline): 62.2% term recall, 4.7% WER. Streaming at 560 ms: 5.65% CS WER, same as offlineYes, on its own test set: 5.8% code-switching WER in FUTO's runtime. Not comparable with Parakeet's
Formats.nemo, GGUF, ONNX, sherpa-onnx int8, MLX.nemo, sherpa-onnx int8 (streaming), GGUFwhisper.cpp GGML Q8_0 (264 MB), Transformers fp32
Used byThe browser demo; no longer offered in the Hebrish apps (since Android 1.013 and Desktop 1.020, 2026-11-04)The Hebrish desktop app (0.7.0+, Ubuntu and Windows), as Shakshuka v2.1; not on Android yetFUTO Keyboard and FUTO Voice Input (Android), imported by hand
LicenceCC-BY-4.0NVIDIA Open Model License AgreementMIT

The Parakeet and Nemotron validation numbers are raw WER on the same 218-clip validation set, measured during training. Whisper's is on its own, smaller validation set. None of them are benchmark results, and the set is larger than earlier versions' sets, so they do not compare with older checkpoints. Benchmarked results: model card.

Bar charts: on 387 held-out clips, code-switching WER is 11.3% for stock Parakeet, 6.0% PoC-3, 5.1% v1.0, 5.8% Nemotron; held-out terms correct 25.9%, 45.7%, 47.8%, 44.4%; seen test terms correct 27.7%, 63.3%, 72.7%, 68.0%.
Jachnun v1.0 and Nemotron against stock and PoC-3 on the same held-out clips. All results: benchmarks · white paper (PDF).

More on training