Downloads · 30 days
0
Abhisingh-18/kannada-dual-encoder-slam-asr
kannada-dual-encoder-slam-asr is a machine learning model from Abhisingh-18. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
Bilingual Kannada-English speech recognition using a frozen speech encoder + projector + gemma-3-4b-it LLM decoder fine-tuned with LoRA (SLAM-ASR architecture). One experiment from Prof. Umesh S's Kannada encoder/arch…
Downloads · 30 days
0
Access
Public
Updated Sep 23, 2026
Repo size
329 MB
Likes
0
Public
Click a slice to open those files.
.bin329 MB · 100%
From the Hugging Face model README
Bilingual Kannada-English speech recognition using a frozen speech encoder + projector + gemma-3-4b-it LLM decoder fine-tuned with LoRA (SLAM-ASR architecture). One experiment from Prof. Umesh S's Kannada encoder/architecture comparison study (IIT Madras SPRING Lab).
Speech encoders (both frozen): data2vec-AQC (Kannada fine-tuned) + data2vec-AQC (SSL pretrained), same raw audio, concat-fused (dim 2048)
Projector: linear (fused-dim)
LLM: gemma-3-4b-it with LoRA (r=8, alpha=32, dropout=0.05) on q/k/v/o/gate/up/down_proj
Dual-encoder concat-fusion experiment: data2vec-AQC (Kannada fine-tuned) + data2vec-AQC (SSL pretrained), both frozen, both fed the SAME raw audio, fused by feature-dim concatenation (1024+1024=2048) after temporal alignment, then the EXISTING linear projector re-instantiated with the doubled input dim. Best epoch-1 result of all Kannada encoder experiments here.
asr_epoch_1_step_33000)| Metric | Value |
|---|---|
| eval_epoch_acc (teacher-forced, held-out dev split) | 88.36% |
| eval_epoch_loss | 0.4628 |
| Testset | WER |
|---|---|
| FLEURS | 21.04% |
| IndicTTS | 16.41% |
| Kathbath | 16.65% |
| Kathbath-Noisy | 18.59% |
pytorch_model.bin contains only the trainable weights (LoRA adapters +
projector), not the frozen encoder(s) or base LLM weights.
code/finetune_data2vec_gemma3_kannada_dualencoder_cs.sh — training scriptcode/inference_data2vec_gemma3_kannada_dualencoder_4testsets.sh — decode script (loops over 4 benchmark testsets)core/ holds the underlying SLAM-ASR pipeline code the training/decode
script above runs on top of -- a snapshot of the relevant files from
SLAM-LLM-for-Kanada
(a fork of ddlBoJack/SLAM-LLM) at
the point this experiment was run.
This is an adapter/projector checkpoint, not a standalone model -- you need
the core/ files above (or the full
SLAM-LLM-for-Kanada
codebase), the frozen speech encoder checkpoint(s) (data2vec-AQC Kannada-FT + data2vec-AQC SSL, both SPRING_INX checkpoints), and
/speech/abhishek/SLAM_Hindi/models/google/gemma-3-4b-it to run inference. See code/inference_data2vec_gemma3_kannada_dualencoder_4testsets.sh for the exact
hydra config this checkpoint needs, and set ++ckpt_path=pytorch_model.bin.
best_checkpoint/pytorch_model.bin -- asr_epoch_1_step_32000 (eval_epoch_acc=88.37%, eval_epoch_loss=0.4648), found by scanning eval logs across the FULL training run (not just epoch-1). This is a LATER, slightly-better checkpoint than the epoch-1 boundary one above (same LoRA+projector weight format, just a different training step).