Instructions to use boazsew/Ethio-ASR-w2v-bert-2.0-uf with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use boazsew/Ethio-ASR-w2v-bert-2.0-uf with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="boazsew/Ethio-ASR-w2v-bert-2.0-uf")# Load model directly from transformers import AutoProcessor, AutoModelForCTC processor = AutoProcessor.from_pretrained("boazsew/Ethio-ASR-w2v-bert-2.0-uf") model = AutoModelForCTC.from_pretrained("boazsew/Ethio-ASR-w2v-bert-2.0-uf") - Notebooks
- Google Colab
- Kaggle
Ethio-ASR-w2v-bert-2.0-uf
Reproduction of the paper's best architecture (w2v-BERT-2.0). Matches the paper-published checkpoint within 0.01% macro WER.
This model is part of an independent reproduction of Ethio-ASR
(Abdullah et al., 2026) carried out at the University of Florida on
the HiPerGator HPC cluster (NVIDIA B200 GPUs). It is fine-tuned from
facebook/w2v-bert-2.0 on the
WAXAL Ethiopian subset
covering Amharic, Tigrinya, Oromo, Sidaama and Wolaytta.
Performance
Word Error Rate on the WAXAL test split (18 810 utterances), with paper-faithful post-processing (Ge'ez homophone collapse + punctuation removal):
| Language | WER (%) |
|---|---|
| Amharic | 25.44 |
| Oromo | 27.52 |
| Sidaama | 30.33 |
| Tigrinya | 39.75 |
| Wolaytta | 38.29 |
| Macro avg | 32.27 |
Without post-processing the macro WER is 35.76% (raw model output).
Usage
from transformers import AutoProcessor, AutoModelForCTC
import torch, librosa
REPO = "boazsew/Ethio-ASR-w2v-bert-2.0-uf"
processor = AutoProcessor.from_pretrained(REPO)
model = AutoModelForCTC.from_pretrained(REPO, torch_dtype=torch.bfloat16).to("cuda").eval()
# Load any 16 kHz audio
audio, sr = librosa.load("your_audio.wav", sr=16000, mono=True)
inputs = processor(audio, sampling_rate=16000, return_tensors="pt")
key = "input_features" if "input_features" in inputs else "input_values"
in_kwargs = {key: inputs[key].to("cuda", dtype=torch.bfloat16)}
if "attention_mask" in inputs:
in_kwargs["attention_mask"] = inputs["attention_mask"].to("cuda")
with torch.no_grad():
logits = model(**in_kwargs).logits
pred_ids = logits.argmax(dim=-1)
text = processor.batch_decode(pred_ids)[0]
print(text) # starts with [AMH]/[TIR]/[ORM]/[WAL]/[SID] language tag
Training details
- Encoder:
facebook/w2v-bert-2.0(600M parameters) - Dataset:
badrex/waxalNLP-ethiopic-final(~1106 h, 5 Ethiopian languages) - Max steps: 36 800 (≈7 epochs, effective batch size 32)
- Hardware: 1 × NVIDIA B200
- Optimizer: AdamW, linear warmup over 10 % of steps, mixed-precision bf16 (except AfriHuBERT which used fp32)
- CTC objective with prepended [LANG] token (joint LID + ASR)
Citation
If you use this model please cite both the original paper and the reproduction:
@article{abdullah2026ethioasr,
title={Ethio-ASR: Joint Multilingual Speech Recognition and Language
Identification for Ethiopian Languages},
author={Abdullah, Badr M. and others},
journal={arXiv preprint arXiv:2603.23654},
year={2026}
}
Full reproduction code, configs and evaluation utilities are at
https://github.com/boaztulu/Ethio-ASR under reproduction_uf/.
License
CC-BY-NC-4.0 — inherits from the upstream facebook/w2v-bert-2.0 license.
- Downloads last month
- 42
Model tree for boazsew/Ethio-ASR-w2v-bert-2.0-uf
Base model
facebook/w2v-bert-2.0