ihnatov-yuri/parakeet-tdt-0.6b-v3-uk

nvidia/parakeet-tdt-0.6b-v3 fine-tuned for Ukrainian speech recognition. It has the same architecture, tokenizer and 8193-token vocabulary as the base model, and English is kept. The output has casing and punctuation, and numbers are written as digits.

Version 2 (25 October 2026). This version was trained further on 601 hours, most of it conversational: parliamentary committee meetings (many of them video calls), podcasts and crowd-sourced read speech, plus English meeting audio. It makes fewer errors in meetings and discussions and keeps English better than version 1. Version 1 is still available at revision 08e41c63.

Core ML int8, Apple M3 Pro Base model Version 1 Version 2
Ukrainian WER, 7,684 held-out clips (pooled over 10 sets) 12.13% 9.07% 8.53%
Parliamentary committee meetings, 47 unseen meetings 13.81% 10.07% 8.84%
English meetings (AMI, 3 unseen meetings) 14.36% 14.59% 12.68%

Compared with Whisper large-v3 and Whisper UK on the same clips: see "Comparison with the other Ukrainian models" below.

How version 1 was made: How I Fine-Tuned a Speech-to-Text Model in a Weekend

Files

Path What
model.safetensors, config.json, tokenizer*.json, processor_config.json PyTorch weights, Hugging Face Transformers format (AutoModelForTDT)
coreml/int8/parakeet-tdt-0.6b-v3/ Core ML for Apple devices, int8 encoder (567 MB), runs on the Neural Engine. Recommended.
coreml/6bit/parakeet-tdt-0.6b-v3/ Core ML, 6-bit palettized encoder (425 MB, same format as FluidAudio's stock model), Neural Engine
coreml/fp16/parakeet-tdt-0.6b-v3/ Core ML, fp16 encoder (1.1 GB). Too large for the Neural Engine, so it runs on the CPU.

The Core ML folders use FluidAudio's layout: Preprocessor, Encoder, Decoder and JointDecisionv3 .mlmodelc, plus the vocab JSON. The inputs and outputs match the stock parakeet-tdt-0.6b-v3 Core ML models. FluidAudio requires the folder to be named parakeet-tdt-0.6b-v3. Each folder's config.json names the version ("version": "uk_v4b").

Usage

Transformers:

from transformers import AutoModelForTDT, AutoProcessor
import soundfile as sf

proc = AutoProcessor.from_pretrained("ihnatov-yuri/parakeet-tdt-0.6b-v3-uk")
model = AutoModelForTDT.from_pretrained("ihnatov-yuri/parakeet-tdt-0.6b-v3-uk").eval()
audio, sr = sf.read("clip.wav", dtype="float32")  # 16 kHz mono
out = model.generate(**proc(audio=[audio], sampling_rate=16000, return_tensors="pt"))
print(proc.batch_decode(out.sequences, skip_special_tokens=True)[0])

FluidAudio (Swift):

let models = try await AsrModels.load(from: URL(fileURLWithPath: ".../coreml/int8/parakeet-tdt-0.6b-v3"), version: .v3)
let asr = AsrManager(config: .default)
try await asr.loadModels(models)
var state = try TdtDecoderState()
let text = try await asr.transcribe(samples, decoderState: &state).text

To pin a version, pass revision= (Transformers) or download a fixed commit.

Results

All numbers are on held-out test sets: no meeting, session, channel, video or speaker in them was used for training. Clips are 1 to 20 s long. WER is on normalised text (lower case, no punctuation, hyphens as spaces). The three Parakeet models run in Core ML on an Apple M3 Pro through FluidAudio, one call per clip: the base model is FluidAudio's own 6-bit build, versions 1 and 2 are the int8 builds from this repository.

Test set Clips Base model Version 1 Version 2
Parliamentary committee meetings (47 unseen meetings) 3,389 13.81% 10.07% 8.84%
Podcasts and interviews (8 recordings, unseen channels) 644 13.78% 10.71% 10.56%
YODAS, public videos (20 unseen videos) 709 16.34% 14.72% 13.95%
Verkhovna Rada plenary (4 unseen sessions) 605 8.86% 5.00% 4.90%
Public video talks, mixed topics 439 11.69% 7.60% 7.76%
FLEURS uk 731 7.10% 6.17% 6.23%
IT 271 9.32% 8.36% 8.50%
Medicine 282 11.15% 8.02% 8.90%
Psychology 317 5.94% 4.77% 4.48%
Engineering 297 11.25% 8.08% 8.37%
Mean of the 10 Ukrainian sets 7,684 10.92% 8.35% 8.25%
Pooled over the 10 Ukrainian sets 7,684 12.13% 9.07% 8.53%
FLEURS en 626 5.74% 5.47% 5.53%
AMI English meetings (3 unseen meetings) 1,126 14.36% 14.59% 12.68%

Paired bootstrap over recordings (95% interval of the WER difference, pooled over the 10 Ukrainian sets, 442 recordings):

  • Version 2 vs version 1: -0.54 points [-0.73, -0.34]. Clearly better on committee meetings (-1.2) and English meetings (-1.9). Worse on medicine (+0.9). The other sets differ by less than 0.8 points either way.
  • Version 2 vs the base model: -3.60 points [-3.93, -3.28]. Better on every Ukrainian set.

Real online meetings, version to version (PyTorch). 70 minutes of real online meetings, split into 5-minute stretches with each side of the call read separately: 8 stretches of Ukrainian one-to-one conversations and 6 of English multi-party business calls. The recordings are not published. The reference transcripts were built blind (engines hidden behind letters) by an AI judge from four engines' readings, and were not checked by a person, so treat these numbers as indicative. The three Parakeet models were all among the judged readings, which keeps the comparison between them fair. PyTorch, identical audio chunks for all three:

Base model Version 1 Version 2
Ukrainian conversations, 4,150 words 18.4% 18.4% (9.1% without one repetition loop) 8.5%
English business calls, 4,562 words 4.9% 6.2% 4.4%

Version 1 got stuck repeating one phrase about 130 times on one stretch; version 2 did not. On the held-out test sets (9,636 clips) none of the models looped.

Speed and size are the same as version 1, because the architecture is identical: about 190 times real time on an Apple M3 Pro for long audio in Core ML int8 (Whisper large-v3: 1.2 times), 603 MB.

Comparison with the other Ukrainian models

This section is the same on the cards of Parakeet UK and Whisper UK, so the numbers can be compared directly.

Held-out test sets. The same clips for every model: a 1-hour sample of each test set. All models run in Core ML on an Apple M3 Pro: Whisper through WhisperKit with the language set (Ukrainian, or English for the English sets), Parakeet through FluidAudio with no language hint. Parakeet v3 (base) is FluidAudio's own 6-bit build, Parakeet UK v2 the int8 build from its repository and Whisper UK v1 the fp16 build from its repository. WER is on normalised text (lower case, no punctuation, hyphens as spaces). No meeting, session, channel, video or speaker in these sets was used for training.

Test set Clips Whisper large-v3 Whisper large-v3 turbo Whisper UK v1 Parakeet v3 (base) Parakeet UK v2
Parliamentary committee meetings 325 12.26% 13.69% 9.33% 14.31% 9.00%
Podcasts and interviews 269 11.59% 13.83% 10.75% 14.17% 10.70%
YODAS, public videos 459 14.56% 16.99% 14.35% 16.17% 13.71%
Verkhovna Rada plenary 306 7.92% 8.86% 4.64% 8.80% 4.90%
Public video talks, mixed topics 270 11.57% 11.81% 7.79% 12.23% 7.97%
FLEURS uk 343 7.37% 9.00% 7.01% 7.20% 6.36%
IT 270 7.58% 8.14% 8.47% 9.30% 8.48%
Medicine 269 11.34% 11.78% 7.86% 10.98% 8.81%
Psychology 272 4.38% 5.04% 4.42% 5.98% 4.63%
Engineering 248 9.36% โ€“ 7.69% 11.20% 8.32%
Mean of the 10 Ukrainian sets 9.79% โ€“ 8.23% 11.03% 8.29%
FLEURS en 378 4.83% 5.06% 5.28% 5.90% 5.51%
AMI English meetings 862 22.30% 22.63% 13.21% 14.14% 12.72%
Code-switching: 200 clips with an English sentence between two Ukrainian ones Whisper large-v3 Whisper large-v3 turbo Whisper UK v1 Parakeet v3 (base) Parakeet UK v2
WER 43.17% 44.48% 38.98% 30.95% 28.55%
English words written in English 0.3% 2.3% 9.5% 32.8% 32.9%

Stock turbo did not finish the engineering set, so it has no mean. Pooled over the 10 Ukrainian sets, difference in WER with a 95% interval from a paired bootstrap over recordings (negative = the first model is better):

  • Whisper UK v1 vs Whisper large-v3: -1.55 points [-2.17, -0.92]
  • Parakeet UK v2 vs Whisper large-v3: -1.50 points [-2.06, -0.90]
  • Whisper UK v1 vs Parakeet UK v2: -0.06 points [-0.32, +0.23]
  • Parakeet UK v2 vs Parakeet v3 (base): -2.78 points [-3.28, -2.36]

So on these test sets the two fine-tuned models are equally accurate, and both are clearly better than Whisper large-v3 and their base models. Parakeet UK is better at keeping English inside Ukrainian speech; Whisper with the language set to Ukrainian mostly drops or transliterates it.

Real online meetings (private test). 35 minutes of Ukrainian one-to-one online meetings, in 8 stretches with each side of the call read separately (4,150 words), run through a Mac transcription app (Transcriberr) with its own audio handling. "Combined" means two engines whose readings are merged word by word. The recordings are not published. The reference transcripts were built blind (engines hidden behind letters) by an AI judge from four engines' readings and were not checked by a person, so treat these numbers as indicative. Parakeet UK v2 was among the judged readings and Whisper UK v1 was not.

In the app, 8 stretches Local microphone Other side of the call All Time
Whisper large-v3 27.9% 23.4% 26.0% 34 min
Parakeet v3 (base) 26.6% 19.0% 23.4% โ€“
Whisper UK v1 28.9% 16.3% 23.6% 7 min
Parakeet UK v2 19.4% 10.4% 15.7% 7 min
Combined: Whisper large-v3 + Parakeet UK v2 21.2% 12.2% 17.4% 55 min
Combined: Whisper UK v1 + Parakeet UK v2 17.2% 11.4% 14.8% 11 min

Alone, Parakeet UK v2 is the more accurate of the two on these meetings. Combined with Whisper UK v1 it does better still: 14.8%, ahead of the large-v3 combination on all 8 stretches (2.7 points, 95% interval 0.7 to 4.4). On two further stretches with older, weaker references, Whisper large-v3 alone scored best (20.3%), ahead of Parakeet UK v2 (29.0%) and Whisper UK v1 (32.3%).

Training

Version 2 continues from version 1 for 1 epoch over 601 hours (242,135 clips of up to 20 s), lr 2e-5, with the lower 12 encoder layers frozen, on a MacBook Pro M3 Pro (MPS). The mix, in hours (617 h; 601 h remain after clips over 20 s are left out):

Source Hours Licence of the transcripts
Verkhovna Rada committee meetings, 20 committees, aligned to the official committee stenograms 200 CC BY 4.0 (stenograms)
Verkhovna Rada plenary sessions and conciliation council, aligned to the official stenograms 80 CC BY 4.0
YODAS Ukrainian (public videos), each video checked against a second recogniser 120 CC BY 3.0
Public videos and podcasts with uploader-made Ukrainian subtitles 113 see below
Mozilla Common Voice 22, Ukrainian 50 CC0
FLEURS Ukrainian, train split 9 CC BY 4.0
English: AMI meeting corpus 21.8 h, Common Voice English 15 h, FLEURS English 8 h 45 CC BY 4.0 / CC0 / CC BY 4.0

About 7% of the audio is English, to keep the base model's English. AMI's own transcripts are upper case without punctuation, so for AMI the labels are the base model's reading, kept only where it agrees with the AMI transcript (at most 15% WER).

Checks applied to the data: subtitle tracks that were machine-made or translated were rejected; recordings whose downloaded audio was an automatic dub in another language were removed; transcripts with no words were removed; test meetings, channels and videos were excluded from training across all sources.

Unknown token disabled. Some training transcripts contain characters the vocabulary does not have (typographic quotes and apostrophes, long dashes), and the model learned to emit the unknown token <unk> in their place. In version 2 the output bias of <unk> is set to -1000, so the model never emits it and writes the closest real token instead (an apostrophe or a hyphen). This changes nothing else; it is included in all files of this repository.

Version 1 (revision 08e41c63) was trained in two stages from the base model: 160 h (Rada plenary sessions, public videos with uploader-made subtitles, FLEURS English) and then 122.6 h of topic videos (IT, psychology, medicine, engineering) with replay.

Limitations

  • Numbers come out as digits, in stenogram style ("15 ะฒั–ะดัะพั‚ะบั–ะฒ").
  • Repetitions and false starts are mostly written as spoken.
  • Medicine is about 0.9 points worse than version 1; IT, engineering and mixed video talks are slightly worse.
  • English sentences inside Ukrainian speech are often dropped. Short English terms inside Ukrainian sentences fare better.
  • Expect higher error rates on strong dialects, surzhyk, noisy far-field audio and overlapping speakers.
  • Training clips are 1 to 20 s long. Long recordings work through chunking (as FluidAudio does).

Licence

CC BY 4.0. You may use, share and modify this model, including commercially, provided you credit the author (see "How to credit") and NVIDIA's base model, link the licence, and say whether you made changes.

Training data and your responsibility

Fine-tuned on Verkhovna Rada plenary and committee sessions with the parliament's official stenograms (CC BY 4.0), YODAS (CC BY 3.0, espnet/yodas), Mozilla Common Voice (CC0), Google FLEURS (CC BY 4.0), the AMI meeting corpus (CC BY 4.0), and public videos and podcasts from a video platform with uploader-made Ukrainian subtitles, used for research. That material belongs to its owners; no audio or transcripts are distributed here.

The model is provided as is, without warranty. Whether your use, especially commercial use, is appropriate is your decision and your responsibility. Content owners can ask to be excluded from future versions via https://ihnatov.nl.

How to credit

Yuri Ihnatov (https://ihnatov.nl), fine-tuned from NVIDIA Parakeet TDT 0.6B v3 (CC BY 4.0).

Downloads last month
79
Safetensors
Model size
0.6B params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for ihnatov-yuri/parakeet-tdt-0.6b-v3-uk

Finetuned
(131)
this model
Quantizations
1 model