Awesome-x/aci-yoruba-phase10
0119
ACI Yoruba Phase 10
Acoustic weights fine-tuned from Phase 9, using an error-weighted training set (samples Phase 9 got wrong, oversampled 3x) drawn from a 90% split of our AR_Audios dataset. Paired with the same KenLM decoder (alpha=0.5, beta=1.0) and phonetic map as Phase 9.
Evaluation
Measured on the untouched 10% held-out split (55 samples) -- the only samples this model's acoustic weights never saw during fine-tuning.
The acoustic fine-tuning here produced a modest 0.3-point gain over Phase 9. A much larger gain came from decoder configuration alone -- for production use, see [Awesome-x/aci-yoruba-phaseX](https://huggingface.co/Awesome-x/aci-yoruba-phaseX), which uses these same acoustic weights with a stronger KenLM weighting and larger unigram vocabulary.
Training configuration
- Base:
Awesome-x/aci-yoruba-phase9acoustic weights - Method: continued fine-tuning, feature encoder frozen
- Learning rate: 1e-5, 3 epochs
- Training set: 90% split of AR_Audios (n approx 495), hard examples oversampled 3x
Quickstart
pip install torch transformers pyctcdecode librosaimport torch
import librosa
from transformers import Wav2Vec2ForCTC, Wav2Vec2ProcessorWithLM
REPO_ID = "Awesome-x/aci-yoruba-phase10"
model = Wav2Vec2ForCTC.from_pretrained(REPO_ID)
processor = Wav2Vec2ProcessorWithLM.from_pretrained(REPO_ID)
audio, sr = librosa.load("sample.wav", sr=16000)
input_values = processor(audio, sampling_rate=16000, return_tensors="pt").input_values
with torch.no_grad():
logits = model(input_values).logits
print(processor.decode(logits[0].numpy()).text)