CoolFace
Modelpublic

G999n/whisper-large-v3-turbo-odia-lora

sourceHugging Faceapache-2.0updated 21d agoView on Hugging Face
0likes33downloads
Model Card

๐ŸŽ™๏ธ Whisper Large-v3-Turbo LoRA for Odia (เฌ“เฌกเฌผเฌฟเฌ†) Speech Recognition

This repository contains the fine-tuned LoRA (PEFT) adapter weights for `openai/whisper-large-v3-turbo` on Odia speech from the `ai4bharat/IndicVoices` corpus.

๐Ÿ“Œ Model Details

  • โ€”Base Model: openai/whisper-large-v3-turbo
  • โ€”Language: Odia (or / proxy script guidance bengali)
  • โ€”Dataset: ai4bharat/IndicVoices (Odia split)
  • โ€”Checkpoint Step: 2250 (Training Loss: ~0.10)
  • โ€”LoRA Configuration:
  • โ€”Rank ($r$): 64
  • โ€”Alpha ($\alpha$): 128
  • โ€”Target Modules: q_proj, v_proj
  • โ€”Trainable Parameters: 11.8M / 809M (1.46%)

๐Ÿš€ Quick Usage (Inference)

python
import torch
import librosa
from transformers import WhisperProcessor, WhisperForConditionalGeneration
from peft import PeftModel

base_model_id = "openai/whisper-large-v3-turbo"
peft_model_id = "G999n/whisper-large-v3-turbo-odia-lora"

# 1. Load processor & base model
processor = WhisperProcessor.from_pretrained(base_model_id, language="bengali", task="transcribe")
model = WhisperForConditionalGeneration.from_pretrained(base_model_id, torch_dtype=torch.float16, device_map="auto")

# 2. Attach LoRA adapter
model = PeftModel.from_pretrained(model, peft_model_id)
model.eval()

# 3. Transcribe audio
audio, sr = librosa.load("your_odia_audio.wav", sr=16000)
input_features = processor(audio, sampling_rate=16000, return_tensors="pt").input_features.to("cuda", dtype=torch.float16)

with torch.no_grad():
    predicted_ids = model.generate(input_features, max_length=225)

transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)[0]
print("Transcribed Odia Text:", transcription)

Trained on Google Cloud Platform using an NVIDIA L4 GPU.