Views
No views yet
e2e_rnnt revision), quantized and calibrated for the Intel AI Boost NPU.audio_signal [1, 64, 3000], length [1] (30 s mel chunks).nncf.quantize_with_accuracy_control (MIXED preset) with cosine-similarity
validation, max_drop=0.02 absolute. The API performs full PTQ and then selectively
dequantizes individual layers until the validation metric is within threshold — so the
emitted IR is guaranteed to preserve model quality within the specified drop..bin).| Device / build | Bag-of-words recall | Character Error Rate |
|---|---|---|
This NPU build (quantize_with_accuracy_control) | 96.9% | 1.6% |
| NPU INT8 weight-only (no activation calibration) | 71.9% | 23.4% |
| NPU FP16 baseline (compress_to_fp16) | 71.9% | 22.6% |
| Intel Arc iGPU FP16 (canonical sibling, for reference) | 100.0% | 0.0% |
| CPU FP32 (reference) | 100.0% | 0.0% |
1reference : ...Меня зовут Андрей Сабынин. Я сетеом в Новакарт. Я работаю над проектами...
2NPU build : ...Меня зовут Андрей Сабынин. Я сетевой Новакарт. Я работаю над проектами...
3 ^^^^^^^^quantize_with_accuracy_control wins: the standard PTQ modes (MIXED, PERFORMANCE)
apply activation quantization aggressively and fall to ~65–72% BoW on this architecture.
Accuracy-control mode measures the actual output drift per layer and rolls back quantization
exactly where it hurts, emitting a hybrid model. The resulting IR keeps the numerically
most sensitive layers (softmax, layer-norms, selected attention projections) in their
original precision.$GIGAAM_CACHE_DIR
(default %PROGRAMDATA%\Voice Scribe\gigaam_cache\ under Voice Scribe); subsequent
service starts load in ~1 second.ov.Core before compile_model to cut first-compile
time from 92 min to ~3.5 min (26× speedup) on the same hybrid IR, zero accuracy
impact (weights unchanged, only compilation strategy changes):1core.set_property("NPU", {
2 "PERFORMANCE_HINT": "LATENCY",
3 "MODEL_PRIORITY": "HIGH",
4 "NPU_TURBO": "YES",
5 "NPU_QDQ_OPTIMIZATION_AGGRESSIVE": "YES",
6 "COMPILATION_NUM_THREADS": 8,
7})| Setup | First compile | Warm (cache) |
|---|---|---|
| Default properties | ~92 min | ~1 s |
| Above knob set | ~3.5 min | ~1 s |
SUPPORTED_PROPERTIES. They are safe
no-ops on non-NPU targets; Voice Scribe's gigaam_backend.py sets them under try/except
so older drivers or plugins without support fall back gracefully.scratch/):transformers.AutoModel.from_pretrained("ai-sage/GigaAM-v3", revision="e2e_rnnt", trust_remote_code=True).to_onnx()openvino.convert_model(onnx, input=[("audio_signal", [1, 64, 3000], f32), ("length", [1], i64)])nncf.quantize_with_accuracy_control(model, calibration_dataset, validation_dataset, validation_fn, max_drop=0.02, drop_type=DropType.ABSOLUTE, subset_size=300)
with validation_fn returning mean cosine similarity between the quantized and FP32 encoder outputs over 20 held-out samples.1models/gigaam-v3-e2e-rnnt-ov/
2├── v3_e2e_rnnt_encoder.xml # canonical (Arc/CPU, dynamic shape)
3├── v3_e2e_rnnt_encoder.bin
4├── v3_e2e_rnnt_encoder_static.xml # this repo (NPU-calibrated)
5├── v3_e2e_rnnt_encoder_static.bin
6├── v3_e2e_rnnt_decoder.xml / .bin
7├── v3_e2e_rnnt_joint.xml / .bin
8└── tokenizer.modelDEVICE_GIGAAM=NPU in C:\ProgramData\Voice Scribe\config.env and restart
the service. Or pass /GIGAAM=yes /GIGAAM_NPU=yes to the installer.ai-sage/GigaAM-v3).