G999n/whisper-large-v3-turbo-odia-lora
033
๐๏ธ 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 guidancebengali) - 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)
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.
