Reza2kn's picture
Restore Shenava emoji styling and bilingual visual hierarchy
6a409d2 verified
|
Raw
History Blame Contribute Delete
3.92 kB
metadata
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. 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 مستقل نیست

📦 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

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 · 🪶 Koochik Lite · ⚖️ Rizeh 32M · 🐣 Rizeh-Pizeh 6.9M

Apache-2.0. Compression method: LITEASR.