GigaAM-v3 โ€” GGUF (ggml conversions)

GGUF conversions of ai-sage/GigaAM-v3 for use with the gigaam backend in CrispStrobe/CrispASR.

GigaAM-v3 is a 220 M-parameter Conformer foundation model for Russian ASR, pretrained with a HuBERT-CTC objective on ~700 K hours of Russian speech. The upstream repo ships five checkpoints as git revisions; the four ASR ones are converted here (the ssl encoder has no head and produces no transcript).

File Size Head Vocabulary Output
gigaam-v3-e2e-rnnt-{f16,q8_0,q4_k}.gguf 452 / 249 / 154 MB RNN-T SentencePiece 1024 punctuation + casing + ITN โ€” best WER (8.4 % avg)
gigaam-v3-e2e-ctc-{f16,q8_0,q4_k}.gguf 449 / 247 / 152 MB CTC SentencePiece 256 punctuation + casing + ITN, faster decode
gigaam-v3-rnnt-{f16,q8_0,q4_k}.gguf 449 / 246 / 152 MB RNN-T 33 Cyrillic chars lowercase, no punctuation
gigaam-v3-ctc-{f16,q8_0,q4_k}.gguf 449 / 246 / 151 MB CTC 33 Cyrillic chars lowercase, no punctuation

Which one to pick

gigaam-v3-e2e-rnnt-q8_0.gguf unless you have a reason not to โ€” it is the lowest-WER variant, emits punctuation and casing, and its transcript is identical to the PyTorch reference.

Usage

crispasr --backend gigaam -m gigaam-v3-e2e-rnnt-q8_0.gguf -f audio.wav
# or let the registry fetch it:
crispasr --backend gigaam -m auto --auto-download -f audio.wav

Audio is 16 kHz mono. Long inputs are sliced by the CLI's VAD/chunking; the model itself has a ~25 s practical window (full attention, O(Tยฒ)).

Verification

Every file was checked against a per-stage PyTorch reference dumped from the upstream modeling_gigaam.py (crispasr-diff gigaam <model> <ref> <wav>), on GigaAM's own example.wav:

variant mel encoder (cos) transcript vs PyTorch
f16 (all four) 1.000000 1.000000 byte-identical
q8_0 (all four) 1.000000 0.9974 โ€“ 0.9988 byte-identical
q4_k ctc, rnnt 1.000000 0.95 โ€“ 0.99 byte-identical
q4_k e2e_ctc 1.000000 0.982 one spurious trailing ,
q4_k e2e_rnnt 1.000000 0.987 content identical; 4 words lose their capital letter

So: q8_0 is the safe quant; q4_k is fine for the charwise models and costs a little casing/punctuation fidelity on the two SentencePiece ones.

In every quant the mel filterbank, Hann window, encoder.pre.* subsampling convs and the decode head (joint.* / decoder.* / head.ctc.*) are kept at source precision โ€” the mel is un-normalized log-mel, so subsampling rounding error would otherwise cascade through all 16 conformer blocks, and the head is a blank-vs-token argmax where a flipped decision derails the greedy decode.

Conversion

python models/convert-gigaam-to-gguf.py \
    --model ai-sage/GigaAM-v3 --revision e2e_rnnt \
    --output gigaam-v3-e2e-rnnt-f16.gguf
./build/bin/crispasr-quantize gigaam-v3-e2e-rnnt-f16.gguf \
    gigaam-v3-e2e-rnnt-q8_0.gguf q8_0

License

MIT, inherited from ai-sage/GigaAM-v3. Please cite the upstream model when you use these weights.

Downloads last month
185
GGUF
Model size
0.2B params
Architecture
gigaam
Hardware compatibility
Log In to add your hardware

8-bit

16-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for cstr/gigaam-v3-GGUF

Quantized
(20)
this model