READSmart

Finding 02

Finding 2 — Which model size should each device use?

In one sentence: medium is the most accurate model tested, and the table below shows what you give up on each smaller device.

Why this matters

A bigger speech model is more accurate but costs more to run. The finished system has to run somewhere real, on a budget, so the question is not "which model is best" but "what does each level of compute cost us in accuracy."

Note on phones: in this system the phone only records and uploads — all speech recognition happens on the server. The tiers below are server tiers. Timings come from one laptop GPU and are not handset benchmarks.

WER below means Word Error Rate — the share of words the computer got wrong when listening. Lower is better. 0.20 means roughly 1 word in 5 was misheard.

The comparison

ModelRealistic deviceWords misheard (WER)EnglishFilipinoSeconds per recording
tinyMinimal CPU box0.7330.58620.89172.4335
baseSmall CPU box0.5590.37830.75532.7327
smallModest server / shared CPU0.4020.27990.53363.0715
mediumEntry GPU server0.2750.22840.32556.2466
large-v3-turboGPU server — best speed/accuracy trade0.4210.38840.45616.3971
large-v3GPU server — highest accuracy0.3080.24970.371659.8073

The English / Filipino gap

This is the finding that matters most for a bilingual Philippine deployment: smaller models are not equally bad in both languages. They tend to fall apart on Filipino while still coping with English.

ModelHow much worse Filipino is
tiny+0.305 ⚠️
base+0.377 ⚠️
small+0.254 ⚠️
medium+0.097
large-v3-turbo+0.068
large-v3+0.122 ⚠️

Largest gap: base (+0.377). Smallest gap: large-v3-turbo (+0.068).

A model with a large gap is not safe to ship to Filipino-speaking classrooms, even if its overall average looks acceptable.

How each model fails

Two models can share a WER and be wrong in completely different ways. For reading assessment the kind of error matters more than the amount, because a model that quietly skips words looks like a child who skipped them.

ModelWords inventedWords misheardWords skippedShare of passage returned
tiny6.845.529.30.79 ⚠️
base9.143.212.10.99
small4.925.016.20.91
medium3.919.27.40.97
large-v3-turbo4.614.026.70.79 ⚠️
large-v36.414.513.60.94

Words skipped is the dangerous column. A model that returns much less than the full passage is not reading badly — it is stopping early, and every word it never attempted is counted against the child. Anything below ~0.85 in the last column should not be used for assessment at any speed.

What this means for the app

  • Pick the model per device tier, not once for the whole product.
  • Each tier needs its own bias correction — a correction fitted for the big model would be wrong for the small one.
  • Check the Filipino column before approving any tier for real classroom use.

What this cost to run

Nothing here was trained. Whisper is a pre-trained model, so this is the cost of running it over the corpus — the machine listening to every recording six times over. (The only thing this project trains is the small correction model, which takes milliseconds on a CPU.)

Measured on one laptop with an 8 GB RTX 4060, over 215 recordings per model.

ModelListeningAligning wordsTotal GPU timeTypical recordingAverage
tiny0.14 h0.11 h0.25 h2.6 s4.2 s
base0.16 h0.10 h0.27 h3.5 s4.5 s
small0.18 h1.04 h1.22 h7.4 s20.4 s
medium0.37 h0.22 h0.59 h6.4 s9.9 s
large-v3-turbo0.38 h0.37 h0.76 h8.8 s12.6 s
large-v33.57 h0.95 h4.52 h50.9 s75.7 s
All six4.82 h2.79 h7.61 h

Use the "typical" column, not the average. On 26 recordings the model lost its place and produced a runaway transcript, which then took up to ~3 minutes to align instead of ~5 seconds. Those few cases drag the average far above what a normal recording actually costs — small averages 20 s per recording but typically takes about 5 s.

This is worth knowing for two reasons: budget from the typical figure, and treat a slow alignment as a free warning sign that the transcript for that recording is probably garbage and should be checked.

large-v3 alone accounts for 3.57 h of the 4.82 h spent listening — 74% of the total, for one of six models. On an 8 GB card it barely fits in memory, and the shortage slows down the word-alignment step as well.

Practical reading: the whole six-model comparison fits in a single overnight run on one consumer laptop. A school deployment only ever runs one model, so the per-recording column is the number that matters for planning.

Honest limitations

  • Timings come from one laptop GPU, not from real phones. Treat the device column as guidance about relative cost, not a measured on-device benchmark.
  • WER counts every misheard word equally, including ones a teacher would ignore.

Generated by pipeline/summarize_models.py.

All findings