Model or dataset
AutoArk/open-audio-opd avatar
AutoArk/open-audio-opd

open-audio-opd: distilling a compact ASR model with on-policy rollouts

Industrial audio online policy distillation (OPD) training stack for ASR and TTS, distilling compact audio models from stronger teacher models.

1,128 stars71 forksPythonNOASSERTION

At a glance

What is it?
open-audio-opd is an industrial training stack for audio online policy distillation: a compact ASR student rolls out transcripts on-policy, a stronger teacher scores them, and the student updates by token-level KL over the union of top-k token supports. Built on THUNLP's OPD and a vendored verl, with FSDP2 distributed training and a released 0.6B checkpoint covering eighteen languages.
Who is it for?
open-audio-opd fits ASR teams distilling compact multilingual students and researchers working on policy distillation, who get a resumable FSDP2 trainer, evaluation scripts, a hosted demo and a released 0.6B checkpoint across eighteen languages, with the paper alongside. It does not fit anyone expecting TTS support, which remains roadmap, or turnkey single-GPU training, given the distributed design.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 106 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 17, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The data-efficiency claim, stated numerically

The repository's headline result is a ratio. Ark-ASR, the released 0.6-billion-parameter student, was trained with about 100 thousand hours of ASR audio. The public Qwen3-ASR technical-report material, as the README recounts it, describes a multi-stage pipeline whose AuT encoder pretraining stage alone uses about 40 million hours of pseudo-labelled audio, followed by Omni training, ASR supervised fine-tuning and ASR reinforcement learning. On that accounting, the student used roughly one four-hundredth of the disclosed pretraining scale while reaching a comparable level to the Qwen3-ASR 0.6B baseline.

The benchmark tables are published with the claim. On English word error rate across seven test sets, the repository reports Ark-ASR averaging 6.55 percent against 6.93 for Qwen3-ASR-0.6B and 6.25 for the 1.7B model, with per-set numbers for AMI, Earnings22, GigaSpeech, LibriSpeech Clean and Other, SPGISpeech and VoxPopuli. On Chinese character error rate, the averages sit at 4.30 versus 4.36 for the 0.6B baseline. These are the authors' own measurements, not an independent evaluation, and the paper, arXiv:2605.28139, Data-Efficient On-Policy Distillation for Automatic Speech Recognition, is where the methodology behind them is laid out.

A claim this specific is refreshingly checkable: the test sets are public, the comparison baselines are named, and the training scale is disclosed on both sides.

How the loop works

Online policy distillation, as implemented here, is a three-step cycle run on training audio. The student, an autoregressive ASR model, rolls out transcripts on-policy, meaning it generates what it currently believes the audio says. A stronger teacher then scores the same audio and transcript pair. The student is updated with a token-level KL divergence computed on the union of the top-k token supports, so the student is pulled toward the teacher exactly on the token distributions where both models are spending probability mass.

The framing matters for why this beats ordinary offline distillation: the student learns on its own outputs, its actual error distribution, rather than on a fixed corpus of transcriptions it may never have produced. Distribution shift between training data and model behaviour is the classic failure of naive distillation, and on-policy rollouts are the standard correction borrowed from reinforcement learning.

The stack is built on THUNLP's OPD and on verl, with a trimmed vendored copy of verl included so the training script gets FSDP2 wrapping, gradient clipping and checkpoint management without depending on another local checkout. Vendoring is a pragmatic choice for reproducibility, at the usual cost of drift from upstream.

What ships, and what deliberately does not

The repository layout is documented as a plain list, which doubles as the feature inventory:

text
scripts/train/train_ark_asr_opd_fsdp2_resume.py      # main FSDP2 ASR OPD trainer
scripts/run/run_ark_asr_opd_fsdp2_resume_hostfile.sh # multi-node launcher
scripts/infer/ark_asr_transformers.py                # ASR inference
scripts/eval/eval_jwer_ark_asr_transformers.py       # J/WER evaluation
scripts/eval/run_arkasr_eval.sh                      # multi-GPU evaluation launcher
configs/hostfile.example                             # hostfile format example
https://arxiv.org/abs/2605.28139                     # arXiv paper
assets/opd_overview.png                              # OPD overview figure
verl/                                                # vendored verl runtime code
README.md / README_zh.md                             # usage docs

Reading it: the main FSDP2 trainer is resumable, a hostfile shell script launches multi-node runs, inference runs through a transformers-style script, evaluation computes J/WER with a multi-GPU launcher, and a hostfile example documents the cluster format.

Equally informative is what is absent: no audio files, no JSONL datasets, no private machine paths. All model, data and output paths are explicit command-line arguments, which is the difference between a publishable stack and a screenshot of one. The Python packaging declares the expected heavy dependencies with pins where they matter, torch above 2.3, transformers above 4.51, a tensordict range with one version explicitly excluded, and numpy held below 2.0.

The licence situation needs one sentence of care: the project file declares Apache-2.0, the badge says see the licence file, and GitHub's detection reports no standard licence, so redistributors should read the file rather than the metadata.

The checkpoint, and where to try it

The distilled artifact is released separately as AutoArk-AI/ARK-ASR-0.6B on Hugging Face. The model card facts: an autoregressive ASR task, a training recipe of supervised fine-tuning plus teacher-data adaptation plus the OPD stage, and eighteen languages, Chinese, English, German, Japanese, French, Korean, Spanish, Polish, Italian, Romanian, Hungarian, Czech, Dutch, Finnish, Croatian, Slovak, Slovene, Estonian and Lithuanian, a coverage skew toward European languages plus the two largest Asian ones.

An online demo has run in a Hugging Face Space since late May 2026, so the model can be tried before any GPU is committed. The repository itself supports three uses per its own table: inference, evaluation, and continued OPD training, which makes it both a consumer of the checkpoint and a laboratory for extending it.

The release timeline is compact: repository public and weights released on 2026-05-25, the paper the following day, the demo two days later. The last push was on 2026-06-05, and there are no tagged releases, so anyone building on it is pinning commits.

The roadmap says TTS

Everything above is the ASR half of the project's name. The roadmap's TTS section is entirely planned rather than done, and its three rows describe the adaptation honestly: reuse the online student rollout and teacher scoring machinery, but re-target the objectives at speech generation quality and alignment, and add supervision over acoustic tokens.

That is a materially harder problem than ASR distillation, since the student's rollout is an audio generation, not a text decode, and scoring generated speech involves quality and alignment judgements that have no token-level KL equivalent waiting off the shelf. The roadmap's phrasing suggests the authors know this, describing new objectives rather than a straight port.

For adopters, the practical reading is that this is currently an ASR distillation stack with a credible architecture for more, and any TTS expectation should wait for the recipe to land.

Who should use it, and against what

The audience is specific: ASR teams who need compact students and have, or can rent, multi-GPU training; and researchers reproducing or extending the paper, for whom the resumable trainer, the evaluation scripts and the vendored runtime remove the usual reproduction friction.

The first alternative is ordinary offline knowledge distillation: train the student on transcribed data with teacher logits, no rollouts, no cluster choreography. It is simpler and weaker precisely where OPD claims its edge, on the student's own error distribution. The second is the upstream foundation itself, THUNLP's OPD for the method and verl for the distributed RL machinery, both general-purpose and neither audio-specific; open-audio-opd's value is the packaged intersection.

Weighed as a release: an honest ratio, public tables, a demo, and a codebase with no private paths. The open items are the licence metadata mismatch, the absence of tagged releases, and the fact that all headline numbers are the authors' own. For a data-efficiency claim this large, independent replication is the missing half, and the stack is at least built so that replication is possible.

Editorial conclusion

open-audio-opd fits ASR teams distilling compact multilingual students and researchers working on policy distillation, who get a resumable FSDP2 trainer, evaluation scripts, a hosted demo and a released 0.6B checkpoint across eighteen languages, with the paper alongside. It does not fit anyone expecting TTS support, which remains roadmap, or turnkey single-GPU training, given the distributed design. Verify first: the licence file behind the Apache-2.0 declaration, since GitHub detects no standard licence, the benchmark tables against your own test sets before trusting the one-four-hundredth data claim, and a pinned commit, since there are no tagged releases. The last push was on 2026-06-05.

Frequently asked questions

What does on-policy distillation mean in open-audio-opd?

The student ASR model rolls out its own transcripts for the training audio, a stronger teacher scores the same audio and transcript, and the student is updated with a token-level KL divergence over the union of the two models' top-k token supports.

Where are the model weights and training data?

Weights are released separately on Hugging Face as AutoArk-AI/ARK-ASR-0.6B. The repository ships no audio files or datasets; all model, data and output paths are explicit command-line arguments.

Which languages does ARK-ASR-0.6B support?

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

Official sources

  1. AutoArk/open-audio-opd on GitHub
  2. Issues
  3. README
Community notes

Community notes