Views
No views yet
| Property | Value |
|---|---|
| Base model | openai/whisper-large-v3 |
| Fine-tuning method | LoRA (PEFT) |
| Language | Egyptian Arabic |
| Task | Automatic Speech Recognition |
| Training dataset | MAdel121/arabic-egy-cleaned |
| Training samples | ~82,900 |
| LoRA rank | 32 |
| LoRA alpha | 64 |
| LoRA target modules | q_proj, v_proj, k_proj, out_proj |
| Metric | Score |
|---|---|
| WER (arabic-egy-cleaned test split) | 36.92% |
1import torch
2from transformers import WhisperProcessor, WhisperForConditionalGeneration
3from peft import PeftModel
4
5BASE_MODEL_ID = "openai/whisper-large-v3"
6LORA_MODEL_ID = "maryamas222/whisper-large-v3-egyptian-lora-v4"
7
8processor = WhisperProcessor.from_pretrained(BASE_MODEL_ID, language="Arabic", task="transcribe")
9
10base_model = WhisperForConditionalGeneration.from_pretrained(
11 BASE_MODEL_ID, torch_dtype=torch.float16, device_map="auto"
12)
13model = PeftModel.from_pretrained(base_model, LORA_MODEL_ID)
14model = model.merge_and_unload()
15model.eval()
16
17# Transcribe audio
18inputs = processor(audio_array, sampling_rate=16000, return_tensors="pt").input_features
19inputs = inputs.to("cuda").to(torch.float16)
20
21with torch.no_grad():
22 predicted_ids = model.generate(
23 inputs,
24 language="arabic",
25 task="transcribe",
26 max_new_tokens=225,
27 )
28
29transcription = processor.tokenizer.decode(predicted_ids[0], skip_special_tokens=True)
30print(transcription)1@misc{radford2022whisper,
2 title={Robust Speech Recognition via Large-Scale Weak Supervision},
3 author={Radford, Alec and Kim, Jong Wook and Xu, Tao and Brockman, Greg and McLeavey, Christine and Sutskever, Ilya},
4 year={2022}
5}