Instructions to use AutoArk-AI/Audio8-ASR-0.1B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use AutoArk-AI/Audio8-ASR-0.1B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="AutoArk-AI/Audio8-ASR-0.1B", trust_remote_code=True)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("AutoArk-AI/Audio8-ASR-0.1B", trust_remote_code=True, dtype="auto") - Notebooks
- Google Colab
- Kaggle
# Load model directly
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("AutoArk-AI/Audio8-ASR-0.1B", trust_remote_code=True, dtype="auto")Audio8-ASR-0.1B is a compact autoregressive ASR model whose language-model
component has only 0.1B parameters. It supports multilingual speech recognition
for languages including Chinese, English, French, German, Japanese, Korean, and
Cantonese. We position it as one of the smallest usable performance ASR models
in the LLM era.
This base repository provides the Hugging Face Transformers checkpoint. We also provide deployment-focused releases:
The ONNX Runtime release is designed for edge-device deployment and can run with roughly 1.1 GB peak memory footprint, depending on device, runtime configuration, and workload.
The iOS release is designed for local iPhone transcription with roughly 200 MB peak runtime memory footprint, depending on device, iOS version, and workload.
Evaluation Results
| Evaluation suite | Dataset / split | Language | Metric | Score (%) |
|---|---|---|---|---|
| Open ASR Leaderboard | AMI Cleaned | EN | WER | 11.02 |
| Open ASR Leaderboard | Earnings22 | EN | WER | 12.31 |
| Open ASR Leaderboard | GigaSpeech Cleaned | EN | WER | 8.49 |
| Open ASR Leaderboard | LibriSpeech test.clean | EN | WER | 2.70 |
| Open ASR Leaderboard | LibriSpeech test.other | EN | WER | 6.61 |
| Open ASR Leaderboard | SPGISpeech | EN | WER | 3.73 |
| Open ASR Leaderboard | VoxPopuli Cleaned AA | EN | WER | 4.34 |
| Open ASR Leaderboard | Seven-split mean | EN | WER | 7.03 |
| Internal canonical ASR eval | WenetSpeech meeting | ZH | CER | 8.842 |
| Internal canonical ASR eval | WenetSpeech net | ZH | CER | 7.976 |
The Open ASR results use the seven current public splits from
hf-audio/open-asr-leaderboard
at dataset revision b6bdcd0beb34f8975dc659796176d88f43aff502. They were
measured with the standalone Transformers package using BF16, eager attention,
greedy singleton decoding, max_new_tokens=256, and the documented 30-second
audio cap. The corresponding machine-readable results are provided in
.eval_results/open_asr_leaderboard.yaml.
The internal canonical WenetSpeech results come from the reproducibility-checked
teacher0p6B-step3000 export with batch size 128. Its effective model tensors
are byte-identical to this standalone release; the release only removes a
redundant tied LM-head tensor and packages the same weights for standalone use.
Chinese results are reported as character error rate. AISHELL is intentionally
excluded from this table.
Model Overview
- Task: automatic speech recognition
- Checkpoint format:
safetensors - Sampling rate: 16 kHz
- Decoder: 8-layer Qwen-style causal LM
- Audio front end: Qwen3-ASR audio encoder plus MLP adapter/projector
- Language-model parameters: 103,502,336 (about 0.104B)
- End-to-end unique parameters: 323,990,528 (about 0.324B)
- Runtime: Hugging Face Transformers
- Hotwords: optional decode-time logit boosting, no fine-tuning required
The model should be loaded with trust_remote_code=True.
Files
config.json, tokenizer files, processor files, andmodel.safetensorsconfiguration_arkasr.py,modeling_arkasr.py,processing_arkasr.pyqwen3_asr_audio_config.py,qwen3_asr_audio_model.pyhotword/: backend-agnostic hotword trieexamples/: Transformers inference examples
The root config.json is intentionally kept in this repository so Hugging Face
can recognize the model package and count downloads through normal model-file
queries.
Transformers Inference
import torch
from transformers import AutoModelForCausalLM, AutoProcessor
model_path = "AutoArk-AI/Audio8-ASR-0.1B"
audio_path = "path/to/audio.wav"
device = "cuda" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.bfloat16 if device == "cuda" else torch.float32
processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_path,
trust_remote_code=True,
torch_dtype=torch_dtype,
attn_implementation="eager",
).to(device)
model.eval()
conversation = [
{
"role": "user",
"content": [
{"type": "audio", "path": audio_path},
{"type": "text", "text": "Please transcribe this audio."},
],
}
]
batch = processor.apply_chat_template(
conversation,
return_tensors="pt",
sampling_rate=16000,
audio_padding="longest",
add_generation_prompt=True,
audio_max_length=30 * 16000,
text_kwargs={"padding": "longest", "truncation": True, "max_length": 1000},
)
batch = {key: value.to(device) if hasattr(value, "to") else value for key, value in dict(batch).items()}
with torch.inference_mode():
output_ids = model.generate(**batch, max_new_tokens=128, do_sample=False)
prompt_len = int(batch["input_ids"].shape[1])
text = processor.decode(output_ids[0, prompt_len:], skip_special_tokens=True).strip()
print(text)
Equivalent script:
python examples/transcribe.py path/to/audio.wav --model AutoArk-AI/Audio8-ASR-0.1B
For local staging before upload:
python examples/transcribe.py path/to/audio.wav --model .
Hotword Boosting
Hotwords are applied at decode time by nudging logits for tokenizer paths that match the requested words. This does not modify model weights and does not inject the hotwords into the prompt.
python examples/transcribe_hotword.py path/to/audio.wav \
--model AutoArk-AI/Audio8-ASR-0.1B \
--hotwords "Audio8,AutoArk"
Main knobs:
--hotword_topk: only boost tokens already inside the current top-k logits.--hotword_start_boost: boost for the first token of each hotword.--hotword_continuation_boost: boost for continuation tokens after a matched prefix.
Related Releases
Limitations
- The default examples target short-form ASR and truncate audio at 30 seconds.
- Hotword boosting can help with near-miss terms but can also over-bias decoding when boost values are too high.
- Some Transformers/tokenizers versions emit a Qwen tokenizer regex warning. The staged tokenizer config is kept in the loadable form used by this package; pass explicit tokenizer regex flags only after testing your local Transformers version.
Acknowledgements
The audio encoder backbone is based on Qwen3-ASR-0.6B, with the audio adapter and projector trained as part of Audio8-ASR. The language-model backbone is based on Ref-Pretrain-Qwen-104M.
- Downloads last month
- 11
Paper for AutoArk-AI/Audio8-ASR-0.1B
Evaluation results
- hf-audio/open-asr-leaderboard leaderboard
- Mean Wer View evaluation resultssource
7.03 - Ami Wer View evaluation resultssource
- Earnings22 Wer View evaluation resultssource
12.31
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="AutoArk-AI/Audio8-ASR-0.1B", trust_remote_code=True)