AI SeedbankHelp preserve open and free AI for humanity's future

← All models

Audio8_ARK-ASR-3B

Audio8 · View on Hugging Face ↗

Get this model

Download TorrentMagnet Link

Seeders: 1 · Leechers: 0

Observed 2026-09-02T13:56:39Z via announce.aitorrent.org:7070.

Model card

The complete upstream card, rendered from this payload's README.md — the same hash-verified bytes the torrent distributes. Images and off-site links are removed; the original card on Hugging Face carries them.


library_name: transformers tags:

  • automatic-speech-recognition
  • speech
  • audio
  • transformers
  • pytorch
  • safetensors
  • vllm
  • ark-asr pipeline_tag: automatic-speech-recognition language:
  • zh
  • en
  • de
  • ja
  • fr
  • ko
  • es
  • pl
  • it
  • ro
  • hu
  • cs
  • nl
  • fi
  • hr
  • sk
  • sl
  • et
  • lt license: apache-2.0 repository: https://github.com/AutoArk/open-audio-opd

ARK-ASR-3B: State-of-the-Art Multilingual ASR

TL;DR ARK-ASR-3B is a multilingual automatic speech recognition model. It achieves current state-of-the-art results on the Hugging Face Open ASR Leaderboard English short-form benchmark, with an average WER of 5.04% and RTFx of 490.98 across AMI, Earnings22, GigaSpeech, LibriSpeech, SPGISpeech, and VoxPopuli. The accompanying training, inference, and evaluation code is available at AutoArk/open-audio-opd.

Abstract

ARK-ASR-3B is a 3B-scale audio-capable autoregressive Transformers model for automatic speech recognition.

It combines a Whisper-style audio encoder, an MLP adapter, and a Qwen decoder with custom arkasr remote code.

ARK-ASR currently supports Chinese, English, German, Japanese, French, Korean, Spanish, Polish, Italian, Romanian, Hungarian, Czech, Dutch, Finnish, Croatian, Slovak, Slovene, Estonian, and Lithuanian ASR.

Supported Languages

Chinese, English, German, Japanese, French, Korean, Spanish, Polish, Italian, Romanian, Hungarian, Czech, Dutch, Finnish, Croatian, Slovak, Slovene, Estonian, and Lithuanian.

Model Overview


Figure 1: ARK-ASR architecture. Audio is encoded by a Whisper-style encoder with RoPE, merged through an MLP adapter, and injected into a Qwen decoder by replacing audio placeholder token embeddings before transcript generation.

  • Model size: 3B-scale decoder LLM with a dedicated Whisper-style audio encoder and MLP adapter
  • Task: automatic speech recognition
  • Architecture: audio-capable autoregressive Transformers model with custom arkasr remote code
  • Checkpoint format: safetensors
  • Sampling rate: 16 kHz
  • Recommended inference code: scripts/infer/ark_asr_transformers.py
  • vLLM serving: scripts/vllm/ark_asr_vllm

The model should be loaded with trust_remote_code=True. The official inference script handles the processor, tokenizer, audio prompt format, generation cleanup, and ASR token filtering.

Performance

The following results are from the Hugging Face Open ASR Leaderboard. Lower WER is better. ARK-ASR-3B reaches the current state of the art on this English short-form benchmark.

English WER

Model AMI Earnings22 GigaSpeech LS Clean LS Other SPGISpeech VoxPopuli Avg
ARK-ASR-3B 8.79% 8.23% 6.98% 1.03% 2.35% 2.46% 5.47% 5.04%
ARK-ASR-0.6B 10.02% 9.77% 8.00% 1.53% 3.51% 2.63% 6.31% 5.97%

Chinese CER

Model AISHELL-1 WenetSpeech test meeting WenetSpeech test-net
ARK-ASR-3B 1.80% 4.97% 4.58%
ARK-ASR-0.6B 2.02% 5.92% 4.96%

Inference

Run ASR inference with Hugging Face Transformers:

import torch
from transformers import AutoModelForCausalLM, AutoProcessor, AutoTokenizer

model_path = "AutoArk-AI/ARK-ASR-3B"
audio_path = "assets/libai.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)
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_path,
    trust_remote_code=True,
    torch_dtype=torch_dtype,
    attn_implementation="sdpa",
).to(device)
model.eval()


def build_bad_words_ids(tokenizer):
    eos_ids = tokenizer.eos_token_id
    keep_ids = {eos_ids} if isinstance(eos_ids, int) else set(eos_ids or [])
    bad_ids = set(tokenizer.all_special_ids) - keep_ids
    bad_ids.update(
        token_id
        for token, token_id in tokenizer.get_added_vocab().items()
        if token.startswith("<") and token.endswith(">") and token_id not in keep_ids
    )
    return [[token_id] for token_id in sorted(bad_ids)]

conversation = [
    {
        "role": "user",
        "content": [
            {"type": "audio", "path": audio_path},
            {"type": "text", "text": "Please transcribe this audio."},
        ],
    }
]

inputs = processor.apply_chat_template(
    conversation,
    add_generation_prompt=True,
    return_tensors="pt",
    sampling_rate=16000,
    audio_padding="longest",
    text_kwargs={"padding": "longest"},
    audio_max_length=30 * 16000,
)
inputs = inputs.to(device)
if "audios" in inputs:
    inputs["audios"] = inputs["audios"].to(dtype=torch_dtype)

bad_words_ids = build_bad_words_ids(tokenizer)
with torch.inference_mode():
    outputs = model.generate(
        **inputs,
        do_sample=False,
        max_new_tokens=256,
        pad_token_id=tokenizer.pad_token_id,
        eos_token_id=tokenizer.eos_token_id,
        bad_words_ids=bad_words_ids,
    )
decoded_outputs = tokenizer.batch_decode(
    outputs[:, inputs.input_ids.shape[1] :],
    skip_special_tokens=True,
)
print(decoded_outputs)

For batch JSONL inference, use the open-source inference code:

git clone https://github.com/AutoArk/open-audio-opd
cd open-audio-opd
pip install -e .

The input JSONL should contain one ASR sample per line:

{"audio":"/path/to/audio.wav","text":"","task":"asr","begin_time":-1,"end_time":-1}
python scripts/infer/ark_asr_transformers.py \
  --input /path/to/input.jsonl \
  --output runs/infer/predictions.jsonl \
  --model_path AutoArk-AI/ARK-ASR-3B \
  --processor_path AutoArk-AI/ARK-ASR-3B \
  --batch_size 40 \
  --dtype bfloat16 \
  --attn_impl sdpa

The output JSONL preserves input metadata and adds:

  • pred_text: cleaned prediction text for downstream evaluation
  • pred_text_raw: raw decoded generation before cleanup

vLLM Online Serving

ARK-ASR can also be deployed as a vLLM-backed online ASR service with the adapter in scripts/vllm/ark_asr_vllm. The service exposes both a compact /asr endpoint and an OpenAI-style /v1/audio/transcriptions endpoint.

Clone and install the serving code:

git clone https://github.com/AutoArk/open-audio-opd
cd open-audio-opd
pip install -e ".[vllm]"

Start the service:

MODEL=AutoArk-AI/ARK-ASR-3B \
GPU=0 \
PORT=8025 \
scripts/vllm/deploy_ark_asr_vllm_service.sh start

Check the service:

scripts/vllm/deploy_ark_asr_vllm_service.sh status
curl -sS http://127.0.0.1:8025/health
curl -sS http://127.0.0.1:8025/token-mask

Run one transcription request:

curl -sS -X POST http://127.0.0.1:8025/asr \
  -F file=@/path/to/audio.wav \
  -F max_new_tokens=256

OpenAI-style transcription endpoint:

curl -sS -X POST http://127.0.0.1:8025/v1/audio/transcriptions \
  -F file=@/path/to/audio.wav \
  -F model=ark-asr

Stop the service:

scripts/vllm/deploy_ark_asr_vllm_service.sh stop

The vLLM adapter registers the custom arkasr model, loads the local processor/tokenizer with trust_remote_code=True, applies generation-time token masking for non-ASR control tokens, and keeps <|im_end|> as the stop token. Service logs and PID files are written under runs/vllm/.

Evaluation

The reported leaderboard numbers are evaluated with the Hugging Face open_asr_leaderboard evaluation code.

For local J/WER evaluation, the repository also includes this entrypoint:

python scripts/eval/eval_jwer_ark_asr_transformers.py \
  --input /path/to/test.jsonl \
  --output runs/eval/result.jsonl \
  --model_path AutoArk-AI/ARK-ASR-3B \
  --processor_path AutoArk-AI/ARK-ASR-3B \
  --batch_size 40 \
  --dtype bfloat16 \
  --attn_impl sdpa

No evaluation audio or dataset files are bundled with this model repository.

Acknowledgements

The training code is based on THUNLP/OPD and verl. The OPD recipe uses a stronger ASR teacher to score online student rollouts.

Citation

If you find ARK-ASR or open-audio-opd useful, please cite:

@misc{lin2026dataefficientopd,
  title={Data-Efficient On-Policy Distillation for Automatic Speech Recognition},
  author={Lin, Yu and Wang, Yiming and Cai, Runyuan and Zeng, Xiaodong},
  year={2026},
  eprint={2605.28139},
  archivePrefix={arXiv},
  primaryClass={cs.AI},
  url={https://arxiv.org/abs/2605.28139}
}

Magnet link

Opens the swarm directly in your torrent client — no file download needed. Copy-paste works too:

magnet:?xt=urn:btih:7dfc1929d02607caa04e0b50e9aac607cd87e5f1&dn=Audio8_ARK-ASR-3B

Open magnet in torrent client · infohash 7dfc1929d02607caa04e0b50e9aac607cd87e5f1

Files & hashes

PathSizesha1sha256
README.md9.4 KB (9,593 B)9c21b63a32e71247f35b950d1ab1b1dfa008d86d31dfd08976cfdfe9e0386c9579e8818d50af37396093030b295623afa067adb4
added_tokens.json760 B (760 B)264440c993c96e2b5a5ee378d8d712799b465fd6586b3fa4bf3feefb10232df1b1ddf76d01e1d45481384343fbe22b8632da3350
chat_template.jinja334 B (334 B)dd10683891c51ad8106ec44fc02b8427e9c96555b65159f329e94704814031bb882de38ae9d0ac8955e520044e37ab49b2252ada
config.json3.0 KB (3,119 B)12e2c1d11217a8f45f04d26d3bdae0c4c0800263caeca44885fbb11f61d5fd7ee9d6e2ac4551a0b38a4fdb4401c8d2bc6103423f
configuration_arkasr.py1.6 KB (1,619 B)968e7b8ce71e0137ae89e9c0d41a0c4ec0b8ee54f7dc852c604f985b675c866e352ce81dfbc69f3a6c69646d0863adf9dd6e3aed
figures/ark_asr_architecture.png1.1 MB (1,140,902 B)513fb68164e00ffec9e7f1d70135f99cad710bc4a31af4173acf07f4ab5984820eb796362a82aa942d4fa133ebe201192e7737b8
generation_config.json147 B (147 B)fb5c288436e6d869e62b31e47fd5f2d0c4133b90ade5316c0962ced5772ab4317c0430758648e1993cd5c8386df03c0983d2f376
merges.txt1.6 MB (1,671,853 B)31349551d90c7606f325fe0f11bbb8bd5fa0d7c78831e4f1a044471340f7c0a83d7bd71306a5b867e95fd870f74d0c5308a904d5
model-00001-of-00002.safetensors4.65 GB (4,996,098,432 B)54b1c9847b49a8126f93753ad1255740950dbc2eb0f93d36c42c3487d95532c7d54952c7810bf629ee2a2265ed4e2f9e988e5342
model-00002-of-00002.safetensors2.92 GB (3,130,890,232 B)5bc4f1c0f972d223e6163f4d47182d8efcbeca98db6d540d2b230e322efc17176d7f67ae44a25705bd85c5caccdf5d8c426c072c
model.safetensors.index.json80.2 KB (82,157 B)35756d21442beba9a704e9836c0e033a2ac3dc53cca15b058f9ce515b2cab5521b7ebb932d2600f06ffb5c65350ea86bcd754dcf
modeling_arkasr.py9.2 KB (9,402 B)f801b0c08b9c380e92df3f235920dd464cc6e1f7b15aa7f98fc3de644ad68df2ebee3b16229763a0988a273cca92a1bf0ec33333
modeling_audio.py11.6 KB (11,834 B)d55314573c3280842d12219635c7158b26f4a586645093b34975a9556503384bb10ad9cf23d8b137bbe0cad1cc50715cf0d21fd3
preprocessor_config.json434 B (434 B)10cae2ebf8b9ce46d9312105bf0a5d726f8ad9c41e180caf7382179f67c7ffe0ac585d1d639ee9032dadae6868968ffb2e65dd77
processing_arkasr.py18.7 KB (19,160 B)a6b43b790d67bfe415335d867425f1f1bebc56b51db5338f55e714f97eb5d8ed076568897dda7339cb585e3b13fc7d8782c1a94e
processor_config.json201 B (201 B)03bace29ec85220b11e8924e0bebf798c0a488e1d637206d91054c242bea3f2ab25210582161f0c135cc1aa97c3b068d5e0fbd57
special_tokens_map.json434 B (434 B)d9e886cf6063030c56bdf1f022eab8c93e2e57ad1c6f70185b3b9ba0cb0ffede543c9a153e27e1d9e2fcc90c50bdfaf13fee2167
tokenizer.json10.9 MB (11,422,866 B)634608194f21725929acd98707b69cc79da7f370bc63972a406328b950c3dea5f64994846a95e444609657d440f0f2ecc4721b32
tokenizer_config.json5.3 KB (5,427 B)e3d1790c8aab2607a1e356457ae1aac9f22cff18d6ef48bad22668f57a44db107dbbaf15adb8253e77e3012129dbf53c32558bd4
vocab.json2.6 MB (2,776,833 B)4783fe10ac3adce15ac8f358ef5462739852c569ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910

Cite this release

Canonical URL
https://aiseedbank.org/models/Audio8_ARK-ASR-3B/
Slug
Audio8_ARK-ASR-3B
Infohash
7dfc1929d02607caa04e0b50e9aac607cd87e5f1
License
apache-2.0
Signing key fingerprint
85a3b32c3712427b

Every file carries a locally computed sha256 — verify a download against the signed sums: Audio8_ARK-ASR-3B.SHA256SUMS (+ minisign signature).

Provenance

Upstream repositoryAudio8/ARK-ASR-3B
Revision (pinned)1e28271b79edc97635783bea65abc89195a09ed3
Fetched at2026-09-02T05:05:24Z
License at fetchapache-2.0
Snapshot toolhuggingface · seedbank 0.1.0

Trackers

✓ verified · rehash-vs-hf-metadata at 2026-09-02T05:06:38Z

apache-2.07.58 GB (8,144,145,739 bytes)transformerssafetensorsarkasrtext-generationautomatic-speech-recognitionspeechaudiopytorchvllmark-asrcustom_codeeval-results19 languages (zh, en, de …)paper: 2605.28139