Model · speech-to-text
Hebrish (Sabich-Qwen3-ASR-1.7B v1.0): Sabich on Qwen3-ASR 1.7B for desktop GPUs
The most accurate Sabich: the same code-switching and tech data, trained on Qwen3-ASR 1.7B, an ASR model with an LLM decoder, for computers with a GPU.
Which model? This is Sabich's training data on a larger base, for computers with a GPU (about 5 GB of VRAM in bf16, or about 2 GB as a GGUF). For phones and the Hebrish apps, use Sabich itself, on Parakeet TDT 0.6B v2. See Sabich →
About the model
Sabich-Qwen3-ASR-1.7B is Sabich, the everything model of the Hebrish project, trained on a larger base. The data is the same: English with Hebrew words in it, written in one romanized spelling, plus tech vocabulary, brand names, acronyms, numbers and currency in digits, and everyday email and message dictation.
The main Sabich is Parakeet TDT 0.6B v2, sized for phones. This variant puts the same data on Qwen/Qwen3-ASR-1.7B, an ASR model with an LLM decoder, for desktop GPUs and the highest accuracy. On the held-out split it halves stock Qwen3-ASR's code-switching error, from 10.0% to 5.4%, and writes numbers in digits every time.
Output is English, cased and punctuated, with Hebrew words in Latin letters, never Hebrew script. It is not in the Hebrish apps yet: run it in your own tools, with Transformers on PyTorch (CUDA or ROCm) or as a GGUF in llama.cpp.
A variant on another base keeps its line's food name and adds the base: Sabich-<Base>-<Size>. Other Sabich variants run on Canary-Qwen 2.5B, Parakeet TDT-CTC 110M and FUTO asr4all.
Which file should I download?
Both repos (the Transformers weights and the GGUF builds) are gated: request access on Hugging Face. Requests are reviewed by hand. The links below work once access is granted and you are signed in.
Q8_0 (llama.cpp) 1.83 GB
Desktop GPU or CPU, the default llama.cpp build. Needs the audio encoder (mmproj) file beside it. Fits a 4 GB card.
Run with llama.cpp (HIP, Vulkan, CUDA) Download Q8_0 (llama.cpp) →Audio encoder (mmproj Q8_0) 356 MB
The audio encoder that llama.cpp loads with --mmproj, next to the Q8_0 model file.
Run with llama.cpp Download Audio encoder (mmproj Q8_0) →transcribe.cpp Q4_K_M 1.32 GB
Android phone, imported into Offline Voice Input. It runs, but slowly; for phones, Sabich is the better fit.
Run with Offline Voice Input Download transcribe.cpp Q4_K_M →Results
v1.0 · Sabich-Qwen3-ASR-1.7B, run q1-all, evaluated 21 October 2026. Lower WER is better; higher term recall is better.
| Test set | Stock Qwen3-ASR 1.7B | Sabich-Qwen3-ASR-1.7B v1.0 |
|---|---|---|
| English–Hebrew code-switching (normalised WER) | 10.0% | 5.4% |
| Hebrew terms never seen in training: recall | 32% | 50% |
| Hebrew terms seen in training: recall | 40% | 73% |
| Speaker's own English (normalised WER) | 4.6% | 2.5% |
| LibriSpeech test-clean, 200 utterances (normalised WER) | 1.2% | 1.35% |
| Long form, about 3-minute joined clips (normalised WER) | 12.0% | 8.7% |
| Numbers written in digits | 2/8 | 8/8 |
- Held-out test split of the speaker's recordings at dataset revision cf84f7e4, term-disjoint from training. Stock is Qwen/Qwen3-ASR-1.7B on the same clips.
- WER is normalised: lowercase, punctuation removed. Term recall is a word-boundary match on the romanized Hebrew term.
- These numbers are on a different test-set revision from Sabich's (f956dbb1), so the two have not been compared head to head yet.
- LibriSpeech is within noise of stock. Long-form audio is its weakest area.
Training
- v1.0: Sabich's data at dataset revision e918e381 (blend all): 592 min of my own recordings (383 min of them code-switching) plus 66 min of LibriSpeech-PC replay, 10% of the mix, 658 min in all. Run name q1-all.
- Full fine-tune from stock Qwen3-ASR 1.7B with the official Qwen3-ASR fine-tuning script: 3 epochs, lr 2e-5 with linear decay, 5% warmup, effective batch 32, bf16, one H100 on Modal, 15 minutes. The epoch 3 checkpoint was kept.
- Training targets carry the prefix "language English", so inference always passes language="English".
- GGUF builds for llama.cpp (bf16, Q8_0, Q4_K_M, with a separate audio encoder) and for transcribe.cpp (Q8_0, Q4_K_M), each checked against the bf16 model on three held-out clips. That is a format check, not an evaluation.
Training data
Checkpoints and roadmap
Where the model is now and the checkpoints still to come. Planned stages are the current plan, not promises.
- v1.0 (q1-all) Done 21 October 2026
First release: Sabich's data on Qwen3-ASR 1.7B, 3 epochs on one H100, epoch 3 kept. 5.4% code-switching WER against 10.0% for stock.
- GGUF builds Done 21 October 2026
llama.cpp (bf16, Q8_0, Q4_K_M plus the audio encoder) and transcribe.cpp (Q8_0, Q4_K_M), checked on three held-out clips.
- Head to head with Sabich Planned
Score it on the same test-set revision as Sabich; the two have not been compared yet.
- Phone speed Planned
Measure the transcribe.cpp build on a phone; only CPU speed in the cloud is known.
Limitations
- Trained on one voice so far: an English speaker with an Irish accent living in Jerusalem. Recordings from more speakers are the next step; contribute yours at hebrish.app/contact?topic=samples.
- About half of the Hebrew terms it never heard in training are still missed or misspelled (50% recall).
- Long-form audio is its weakest area: 8.7% WER on about 3-minute clips.
- Needs a GPU for comfortable speed. On 8 cloud CPU cores the Q8_0 file ran at about 1× realtime; phone speed is not measured.
- Not in the Hebrish apps. The repos are gated, with access by request.
Related
- Sabich-Qwen3-ASR-1.7B on hebrish.appResults, formats, how to run it and how to request access
- Sabich (sister model)The same data on Parakeet TDT 0.6B v2, sized for phones and in the Hebrish apps
- Which model should I use?Picks a Hebrish model by device, GPU and VRAM
- Sabich-Canary-Qwen-2.5BThe other desktop-GPU Sabich: behind this one on code-switching, best on plain English
- Hebrish websiteThe project site: every model, dataset and result