Automatic Speech Recognition
PEFT
Safetensors
Tibetan
tibetan
low-resource
whisper
lora
Eval Results (legacy)
Instructions to use billingsmoore/tibetan-asr-nict-tib1-whisper-tiny-lora with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use billingsmoore/tibetan-asr-nict-tib1-whisper-tiny-lora with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
File size: 7,505 Bytes
7a27346 b6272bd 7a27346 1381a16 b6272bd 36bc3dc b6272bd 1381a16 b6272bd 7a27346 b6272bd 7a27346 b6272bd 06bbd3d 36bc3dc b6272bd 1381a16 b6272bd 7a27346 b6272bd 36bc3dc b6272bd 36bc3dc b6272bd 36bc3dc b6272bd 7a27346 06bbd3d b6272bd 06bbd3d c25b1cc 06bbd3d c25b1cc 06bbd3d c25b1cc 06bbd3d c25b1cc 06bbd3d b6272bd 06bbd3d b6272bd | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | ---
language: bo
license: apache-2.0
library_name: peft
tags:
- automatic-speech-recognition
- tibetan
- low-resource
- whisper
- lora
- peft
base_model: openai/whisper-tiny
datasets:
- billingsmoore/nict-tib1
metrics:
- cer
- wer
model-index:
- name: tibetan-asr-nict-tib1-whisper-tiny-lora
results:
- task:
type: automatic-speech-recognition
name: Automatic Speech Recognition
dataset:
type: billingsmoore/nict-tib1
name: NICT-Tib1 (Lhasa Tibetan)
split: test
metrics:
- type: cer
value: 0.7587
name: CER
- type: wer
value: 1.0849
name: BoTok-SWER (Segmented WER)
---
# Whisper Tiny — Tibetan ASR (LoRA)
Fine-tuned **`openai/whisper-tiny`** for automatic speech recognition (ASR) on **Lhasa Tibetan**, released alongside:
> J. Moore, S. Li and P. Lauren, "Evaluating Tibetan ASR With Segmented Word Error Rate: Beyond Character-Level Metrics," in *IEEE Access*, vol. 14, pp. 101790-101805, 2026, doi: 10.1109/ACCESS.2026.3709206.
This repo is one of 14 model checkpoints released with the paper, benchmarking 5 ASR architectures (Whisper Tiny/Base/Small, Wav2Vec 2.0 Base, HuBERT Base) under full fine-tuning, LoRA, and QLoRA (8-bit/4-bit) adaptation. See [billingsmoore/tibetan-asr-nict-tib1-*](https://huggingface.co/billingsmoore) for the full set.
## Model description
Whisper is an encoder–decoder transformer, originally pre-trained by OpenAI on 680,000 hours of weakly-labeled multilingual speech-text data, fine-tuned here for sequence-to-sequence Tibetan transcription. This checkpoint uses **LoRA fine-tuning (rank-decomposition adapters, base weights frozen and unquantized)**.
**LoRA configuration:** r=8, alpha=16, dropout=0.1, targeting the attention projections (`k_proj`, `q_proj`, `v_proj`, `out_proj`) and both feed-forward layers (`fc1`, `fc2`) of every Whisper transformer block.
## Training data
Fine-tuned on [NICT-Tib1](https://huggingface.co/datasets/billingsmoore/nict-tib1), a corpus of transcribed Lhasa Tibetan speech from 20 speakers (Soky, Gong & Li, 2022). The data was split by speaker (85/15, not by utterance) so that no speaker appears in both splits: 15,099 training utterances from 17 speakers, 1,547 test utterances from the remaining 3 speakers.
## Training procedure
- Base model: `openai/whisper-tiny`
- Learning rate: 3.75e-5
- Max steps: 4000 (warmup 500)
- Effective batch size: 16 (per-device batch size 2, gradient accumulation 8)
- Mixed precision: fp16, with gradient checkpointing
- Generation max length: 225
## Evaluation results
Evaluated on the 1,547-utterance NICT-Tib1 test set under five metrics: Character Error Rate (CER), Syllable Error Rate (SER), and three Segmented Word Error Rate (SWER) variants using different automatic word segmenters (BoTok-SWER, BERT-SWER, and Gem-SWER, the last computed on a 500-utterance subset for API cost reasons). All values are micro-averaged. See the paper for full bootstrap confidence intervals.
| Metric | Value |
|---|---|
| CER (micro) | 0.7587 |
| SER (micro) | 0.9824 |
| BoTok-SWER (micro) | 1.0849 |
| BERT-SWER (micro, full 1,547-utt. test set) | 0.544 |
| Gem-SWER (micro, 500-utt. subset) | 1.1739 |
### Full model family comparison (standard fine-tuning)
| Model | Repo | CER | SER | BoTok-SWER | BERT-SWER | Gem-SWER |
|---|---|---|---|---|---|---|
| HuBERT Base | [tibetan-asr-nict-tib1-hubert-base](https://huggingface.co/billingsmoore/tibetan-asr-nict-tib1-hubert-base) | 0.1352 | 0.3690 | 0.4477 | 0.161 | 0.9653 |
| Wav2Vec 2.0 Base | [tibetan-asr-nict-tib1-wav2vec2-base](https://huggingface.co/billingsmoore/tibetan-asr-nict-tib1-wav2vec2-base) | 0.0745 | 0.2152 | 0.2747 | 0.097 | 0.7447 |
| Whisper Tiny | [tibetan-asr-nict-tib1-whisper-tiny](https://huggingface.co/billingsmoore/tibetan-asr-nict-tib1-whisper-tiny) | 0.1560 | 0.2351 | 0.2975 | 0.118 | 0.6759 |
| Whisper Base | [tibetan-asr-nict-tib1-whisper-base](https://huggingface.co/billingsmoore/tibetan-asr-nict-tib1-whisper-base) | 0.1417 | 0.2083 | 0.2600 | 0.105 | 0.6314 |
| **Whisper Small** | [tibetan-asr-nict-tib1-whisper-small](https://huggingface.co/billingsmoore/tibetan-asr-nict-tib1-whisper-small) | **0.1185** | **0.1692** | **0.2042** | **0.086** | **0.5337** |
> [!WARNING]
> **This is a LoRA/QLoRA fine-tuned checkpoint. In the paper's benchmark, all LoRA and QLoRA configurations showed catastrophic word-level degradation** relative to full fine-tuning of the same base model, despite retaining partial character-level accuracy. This repo is published for reproducibility of that (negative) result, not as a recommended deployment artifact. If you need a usable Tibetan ASR model, use the [standard fine-tuned checkpoint](https://huggingface.co/billingsmoore/tibetan-asr-nict-tib1-whisper-tiny) instead.
## How to use
```python
from transformers import WhisperForConditionalGeneration, WhisperProcessor
from peft import PeftModel
base_model = WhisperForConditionalGeneration.from_pretrained("openai/whisper-tiny", device_map="auto")
model = PeftModel.from_pretrained(base_model, "billingsmoore/tibetan-asr-nict-tib1-whisper-tiny-lora")
processor = WhisperProcessor.from_pretrained("openai/whisper-tiny", language="bo", task="transcribe")
# generate as usual, e.g.:
# inputs = processor(audio, sampling_rate=16000, return_tensors="pt")
# predicted_ids = model.generate(**inputs)
# transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)
```
## Limitations
- Trained and evaluated only on read-speech, modern **Lhasa (Central) Tibetan** news recordings; performance on Amdo or Kham dialects, Classical Tibetan, or spontaneous/conversational speech is unknown.
- The test set contains only 3 speakers (by design, to prevent speaker leakage), which limits how confidently results generalize across speaker, age, and prosodic variation.
- CER alone understates errors that matter at the word level for Tibetan; see the paper for why SER and SWER are necessary complements when judging output quality.
- LoRA/QLoRA adapters showed severe sequence-level collapse in this study (SWER often exceeding 1.0, i.e. worse than a random-length hypothesis) despite retaining moderate CER — treat this checkpoint as a research artifact documenting that failure mode, not as a usable transcription model.
## Citation
If you use this model, please cite the paper and the source NICT-Tib1 corpus:
```bibtex
@ARTICLE{11592371,
author={Moore, Jacob and Li, Sheng and Lauren, Paula},
journal={IEEE Access},
title={Evaluating Tibetan ASR With Segmented Word Error Rate: Beyond Character-Level Metrics},
year={2026},
volume={14},
number={},
pages={101790-101805},
keywords={Modeling;Automatic speech recognition;Error analysis;LoRa;Measurement;Ranking (statistics);Quantization (signal);Bit error rate;Standards;Training;Tibetan;automatic speech recognition;word error rate;low-resource language},
doi={10.1109/ACCESS.2026.3709206}
}
@inproceedings{soky2022nict,
title={Nict-tib1: A public speech corpus of lhasa dialect for benchmarking tibetan language speech recognition systems},
author={Soky, Kak and Gong, Zhuo and Li, Sheng},
booktitle={2022 25th Conference of the Oriental COCOSDA International Committee for the Co-ordination and Standardisation of Speech Databases and Assessment Techniques (O-COCOSDA)},
pages={1--5},
year={2022},
organization={IEEE}
}
```
## License
Released under Apache License 2.0, inherited from the base model `openai/whisper-tiny`.
|