Whisper large-v3 β€” 30 s TFLite (LiteRT), quantized

Quantized TFLite (LiteRT) exports of openai/whisper-large-v3: 30 s fixed-window graphs split into encode and decode signatures, matching the graph interface of litert-community/whisper-tiny and litert-community/whisper-base β€” drop-in for pipelines built against those graphs (with the 128-mel frontend below).

Exported by the LiteRT-LM-Unity project from the openai checkpoint (transformers TFWhisperForConditionalGeneration β†’ two-signature 30 s graph), then post-training quantized. The f32 source export (~6 GB, buffer-offset flatbuffer) is retained by the producing project and available on request.

Files

File Size Recipe
whisper_large_v3_30s_i8.tflite 1.6 GB dynamic-range int8 weights (channelwise), fp32 activations
whisper_large_v3_30s_i4.tflite 1.1 GB dynamic_wi4b64_afp32 mixed ("mixD"): int4 blockwise-64 weights (fp16 scales) with the token-embedding/logits scopes kept at int8 channelwise

Integration notes (128-mel / vocab 51866)

  • 128 mel bins β€” the large-v3 family needs a 128-mel log-spectrogram frontend, not the 80-mel frontend used by tiny/base/medium. An 80-mel input silently produces wrong output.
  • Vocab 51866 β€” special token ids shift vs the 51865-vocab models: <|transcribe|> = 50360, <|notimestamps|> = 50364 (language tokens shift accordingly, e.g. <|ko|>/<|en|> differ from the tiny/base ids).
  • Two signatures: encode (128-mel spectrogram, 30 s window β†’ encoder hidden states) and decode (token ids + encoder states β†’ logits). The decoder is a fixed-length full re-run per step (no KV cache), matching the tiny/base graph interface.
  • Tokenizer: use tokenizer.json from openai/whisper-large-v3.

Quantization

Quantizer: ai-edge-quantizer 0.8.0, post-training dynamic-range.

  • i8: int8 weights channelwise, fp32 activations (dynamic_wi8_afp32 scheme).
  • i4 ("mixD"): dynamic_wi4b64_afp32 (int4 weights, blockwise-64, fp16 scales) with int8 overrides on the token-embedding/logits table. Pure full-scope int4 corrupts Korean output on the large family and was rejected. int4 channelwise and blockwise-32 recipes are known-bad (quality collapse / immediate EOS) and were not used.

Validation

9-clip Korean/English test set (Korean tactical-report sentence "2025λ…„ 3μ›” 5일 μ „μˆ ν‰κ°€ κ²°κ³Ό 보고", English equivalent, weather/status sentences, short Korean voice commands). Greedy decode, desktop CPU (XNNPACK, 8 threads). CER against punctuation-normalized references (space-removed); "exact" = normalized exact match.

Variant Exact /9 CER ko CER en Avg RTF Avg ms/step
i8 7 0.000 0.000 4.04 732
i4 7 0.000 0.000 3.38 582

Both tiers are character-perfect on every clip (CER 0.000 ko + en); the two misses vs exact match are spacing-only / filename artifacts. i4 is both ~30 % smaller and ~20 % faster per step than i8 with identical accuracy on this set.

Runtime compatibility

Validated with the LiteRT (ai-edge-litert) interpreter on Windows x86_64 CPU (XNNPACK) and within the LiteRT-LM-Unity v0.14.0 pipeline (LiteRT-LM v0.14.0, Windows x86_64 + Android arm64, Snapdragon 865-class device).

Caveats

  • 30 s fixed window; decoder is a full-sequence re-run per step (no KV cache) β€” a KV-cached runtime will be substantially faster per token.
  • large-v3 is the accuracy-reference tier: on this test set it decodes 3–7Γ— slower per step than litert-community/whisper-large-v3-turbo with no accuracy gain over turbo i4 β€” prefer turbo for latency-sensitive use.
  • Requires the 128-mel frontend and 51866-vocab token ids (see integration notes).
  • Language forcing recommended for short clips (e.g. <|ko|> / <|en|>).

Produced by

LiteRT-LM-Unity (release v0.14.0-unity). Whisper weights are MIT (OpenAI); quantized derivatives inherit the base license.

Downloads last month
72
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for litert-community/whisper-large-v3

Finetuned
(888)
this model