Instructions to use seanghay/Qwen3-ASR-0.6B-Khmer with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use seanghay/Qwen3-ASR-0.6B-Khmer with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="seanghay/Qwen3-ASR-0.6B-Khmer")# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("seanghay/Qwen3-ASR-0.6B-Khmer") model = AutoModelForMultimodalLM.from_pretrained("seanghay/Qwen3-ASR-0.6B-Khmer") - Notebooks
- Google Colab
- Kaggle
license: apache-2.0
language:
- km
base_model:
- Qwen/Qwen3-ASR-0.6B
datasets:
- DDD-Cambodia/khmer-speech-dataset
pipeline_tag: automatic-speech-recognition
library_name: transformers
tags:
- automatic-speech-recognition
- speech
- audio
- khmer
- qwen3-asr
metrics:
- cer
model-index:
- name: Qwen3-ASR-0.6B-Khmer
results:
- task:
type: automatic-speech-recognition
name: Automatic Speech Recognition
dataset:
type: khmer
name: Khmer held-out dev set (in-domain)
metrics:
- type: cer
value: 1.96
name: CER
- task:
type: automatic-speech-recognition
name: Automatic Speech Recognition
dataset:
type: khmer
name: Khmer out-of-domain set
metrics:
- type: cer
value: 7.91
name: CER
Qwen3-ASR-0.6B-Khmer
A Khmer (ខ្មែរ) automatic speech recognition model, fine-tuned from Qwen/Qwen3-ASR-0.6B on ~700 hours of Khmer speech from the DDD-Cambodia/khmer-speech-dataset. It substantially improves Khmer transcription accuracy over the base model while keeping the compact 0.6B footprint.
Results
Character Error Rate (CER, lower is better). Khmer has no spaces between words, so CER is computed space-insensitive; the out-of-domain set is additionally normalized by removing punctuation.
| Evaluation set | Clips | CER (corpus) | CER (avg) | Median CER | Perfect (CER=0) |
|---|---|---|---|---|---|
| In-domain dev | 1,000 | 1.96% | 1.95% | 0.65% | 49.2% |
| Out-of-domain | 2,906 | 7.91% | 8.26% | 6.25% | 26.4% |
- CER (corpus) = total edit distance ÷ total reference characters (micro-average).
- CER (avg) = mean of per-clip CER (macro-average).
Usage
Install the qwen-asr package (transformers backend):
pip install -U qwen-asr
import torch
from qwen_asr import Qwen3ASRModel
model = Qwen3ASRModel.from_pretrained(
"seanghay/Qwen3-ASR-0.6B-Khmer",
dtype=torch.bfloat16,
device_map="cuda:0",
max_inference_batch_size=32,
max_new_tokens=256, # increase for long audio to avoid truncation
)
results = model.transcribe(
audio="path/to/khmer.wav", # local path, URL, base64, or (np.ndarray, sr)
)
print(results[0].text)
Audio is resampled to 16 kHz mono internally. Long recordings are automatically
chunked; for long clips set a larger max_new_tokens so the transcript is not cut off.
Training
| Base model | Qwen/Qwen3-ASR-0.6B |
| Language | Khmer (km) |
| Training data | DDD-Cambodia/khmer-speech-dataset (~700 h, ~384k clips) |
| Epochs | 3 (35,997 steps) |
| Effective batch size | 32 (per-device 4 × grad-accum 8) |
| Learning rate | 2e-5, linear schedule with warmup |
| Precision | bf16 |
| Hardware | 1× NVIDIA RTX 3090 (24 GB) |
| Final eval loss | 0.040 |
The model is trained to emit a language tag followed by the transcript
(language Khmer<asr_text>…); the qwen-asr package parses this automatically.
Limitations
- Tuned primarily for read/clean Khmer speech. Accuracy degrades on noisy, spontaneous, or heavily code-switched (Khmer–English) technical speech, where English terms may be transliterated phonetically into Khmer script.
- Output is unpunctuated / minimally segmented Khmer text.
- As with most ASR models, very long or hesitant/repetitive speech can occasionally produce repeated phrases.
License
Released under the Apache-2.0 license, inheriting the license of the base Qwen3-ASR-0.6B model.
Acknowledgements
Built on Qwen3-ASR by the Alibaba Qwen team.
Citation
If you use this model, please cite:
@misc{seanghay2026qwen3asrkhmer,
title = {Qwen3-ASR-0.6B-Khmer},
author = {Seanghay},
year = {2026},
howpublished = {\url{https://huggingface.co/seanghay/Qwen3-ASR-0.6B-Khmer}}
}
This model is fine-tuned from Qwen3-ASR:
@misc{qwen3asr,
title = {Qwen3-ASR},
author = {Qwen Team},
year = {2025},
url = {https://github.com/QwenLM/Qwen3-ASR}
}