Automatic Speech Recognition
NeMo
Persian
speech
persian
farsi
fastconformer
ctc
on-device
shenava
shenava-1
visualears
liteasr
compression
low-rank
dhh
Instructions to use PersianML/Shenava-Koochik-Lite-v1.0 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- NeMo
How to use PersianML/Shenava-Koochik-Lite-v1.0 with NeMo:
import nemo.collections.asr as nemo_asr asr_model = nemo_asr.models.ASRModel.from_pretrained("PersianML/Shenava-Koochik-Lite-v1.0") transcriptions = asr_model.transcribe(["file.wav"]) - Notebooks
- Google Colab
- Kaggle
File size: 3,923 Bytes
191c760 6a409d2 191c760 6a409d2 191c760 6a409d2 191c760 6a409d2 191c760 6a409d2 191c760 6a409d2 191c760 6a409d2 191c760 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | ---
license: apache-2.0
language:
- fa
library_name: nemo
pipeline_tag: automatic-speech-recognition
tags:
- nemo
- automatic-speech-recognition
- speech
- persian
- farsi
- fastconformer
- ctc
- on-device
- shenava
- shenava-1
- visualears
- liteasr
- compression
- low-rank
- dhh
base_model: Reza2kn/Shenava-Koochik-v1.0
base_model_relation: quantized
datasets:
- Reza2kn/visualears-golden-6669
- Reza2kn/fleurs-fa-benchmark
---
# 🪶🎙️ Shenava Koochik Lite v1.0
A LITEASR-compressed encoder for [Shenava Koochik v1.0](https://huggingface.co/Reza2kn/Shenava-Koochik-v1.0). Post-training low-rank factorization reduces the encoder from 108.9M to 85.4M parameters (21.6%) without retraining.
This repository is **not a standalone ASR checkpoint**. It contains a replacement encoder state dict and must be loaded on top of the base `.nemo` model; the decoder, CTC head, and tokenizer still come from Koochik.
## ✨ At a glance | معرفی سریع
| | English | فارسی |
|---|---|---|
| 🪶 Role | Compressed Koochik encoder | encoder فشردهشدهٔ کوچیک |
| 📉 Reduction | 108.9M → 85.4M encoder parameters | کاهش ۲۱٫۶ درصدی پارامترهای encoder |
| 🧪 Method | Post-training LITEASR low-rank factorization | فشردهسازی low-rank بدون آموزش مجدد |
| 🧩 Requirement | Base Koochik `.nemo` is required | فایل NeMo مدل اصلی الزامی است |
| ⚠️ Scope | Not a standalone checkpoint | checkpoint مستقل نیست |
- Canonical repository: [`Reza2kn/Shenava-Koochik-Lite-v1.0`](https://huggingface.co/Reza2kn/Shenava-Koochik-Lite-v1.0)
- PersianML mirror: [`PersianML/Shenava-Koochik-Lite-v1.0`](https://huggingface.co/PersianML/Shenava-Koochik-Lite-v1.0)
## 📦 Files
- `koochik_lite099_enc.pt`: compressed FP32 encoder state dict.
- `koochik_lite099_kmap.json`: retained rank for each factorized layer.
- `load_koochik_lite.py`: reconstructs the low-rank modules and loads the state dict into the base model.
## 🚀 Load
```python
from huggingface_hub import hf_hub_download, snapshot_download
from load_koochik_lite import load_koochik_lite
base = hf_hub_download(
"Reza2kn/Shenava-Koochik-v1.0",
"shenava-koochik-v1.0.nemo",
)
repo = snapshot_download("Reza2kn/Shenava-Koochik-Lite-v1.0")
model = load_koochik_lite(
base,
f"{repo}/koochik_lite099_enc.pt",
f"{repo}/koochik_lite099_kmap.json",
)
print(model.transcribe(["speech.wav"])[0].text)
```
## 📊 Published trade-off
The release evaluated both greedy decoding and an optional Vosk-guided hotword beam. Lower is better.
| Decode | golden-6669 keyword-band WER | FLEURS keyword-band WER | golden-6669 overall WER | FLEURS overall WER |
|---|---:|---:|---:|---:|
| Full Koochik, greedy | 8.0 | 13.1 | 4.64 | 5.36 |
| Koochik Lite, greedy | 12.5 | 18.0 | 6.92 | 7.23 |
| Koochik Lite + Vosk guide | 6.4 | 11.7 | 5.30 | 5.31 |
Compression alone reduces quality; the Vosk-guided result requires a separate Vosk first pass plus hotword-aware `pyctcdecode` beam search. Do not compare the guided row to a greedy-only deployment as though they used the same runtime.
## 🇮🇷 خلاصهٔ فارسی
این مخزن یک مدل کامل و مستقل نیست؛ فقط encoder فشردهشده را نگه میدارد و برای اجرا به فایل NeMo مدل اصلی نیاز دارد. نسخهٔ greedy سبکتر است ولی افت دقت دارد؛ ردیف Vosk-guided به یک مرحلهٔ جداگانهٔ Vosk و beam search نیاز دارد.
## 🌌 Explore Shenava-1
[🧠 Full Koochik](https://huggingface.co/Reza2kn/Shenava-Koochik-v1.0) · **🪶 Koochik Lite** · [⚖️ Rizeh 32M](https://huggingface.co/Reza2kn/Shenava-Rizeh-v1.0) · [🐣 Rizeh-Pizeh 6.9M](https://huggingface.co/Reza2kn/Shenava-Rizeh-Pizeh-v1.0)
Apache-2.0. Compression method: [LITEASR](https://arxiv.org/abs/2502.20583).
|