Ming-3.0-ASR-tiny DSpark draft
A DSpark draft trained to match the frozen inclusionAI/Ming-3.0-asr-tiny verifier, pinned to revision ac95e7b1678c08ea6f4a2581a051e432ed63e9b7. Serving acceptance length, throughput, latency, English WER and Chinese CER have been measured in SGLang-Omni; see the online serving evaluation for results and limitations.
Configuration
| Setting | Value |
|---|---|
| Draft layers | 5 |
| Hidden size / intermediate size | 1,536 / 4,608 |
| Auxiliary target layer boundaries | 2, 7, 14, 18, 21 |
| Input vocabulary / draft output vocabulary | 157,184 / 48,000 |
| Block size | 8 predicted tokens, plus the verifier bonus token in offline EAL |
| Markov rank | 256 |
| Confidence head | Enabled |
| Weight precision | BF16 |
Use the verifier's tokenizer and audio processor. The draft requires Speculators with Ming's embedding-name resolver support. Implementation code is maintained separately; see Speculators and vLLM. Ming's model card documents Chinese and English ASR; the small Japanese training subset does not establish Japanese recognition quality.
Training
The run used offline teacher distillation: the Ming verifier remained frozen while the DSpark draft was trained. It completed one short-audio stage of 10 epochs; no long-audio continuation stage was performed. The formal training run took approximately 4 hours 48 minutes on two H200 GPUs.
- Prepare audio and splits. Stage mono 16 kHz clips of at most 30 seconds from LibriSpeech train-clean-360, People's Speech clean, VoxPopuli English, AISHELL-1 and FLEURS English/Chinese/Japanese. Keep training and validation in separate official partitions. Emilia-YODAS and Common Voice 17 were excluded. The final training set contains 357,005 clips and 999.71 audio hours; validation contains 2,576 clips.
- Generate teacher labels. Run the frozen Ming model through native vLLM with BF16 and greedy decoding, using batch size 128 on each GPU. Labels are Ming's own transcripts, including the language prefix and EOS. Human references are evaluation-only. Non-stopping generations are audited and excluded; 181 clips were excluded across training and validation.
- Replay and capture features. Replay each audio-conditioned sequence with its complete generated transcript. Save auxiliary states at target layer boundaries 2, 7, 14, 18 and 21, plus the final pre-norm states used to reconstruct teacher logits. Completed batches are checkpointed so collection can resume. Accepted feature filenames stay aligned with Arrow dataset row indices.
- Freeze the draft vocabulary. Count tokens only in training-set teacher labels and build 48,000-token d2t/t2d mappings. Ming's input vocabulary remains 157,184. Validation labels do not influence vocabulary selection. Vocabulary coverage is reported separately by language below.
- Train the draft. Use a five-layer DSpark decoder with hidden size 1,536, intermediate size 4,608, a rank-256 Markov head and a confidence head. Two-rank DDP uses BF16 mixed-precision compute, a budget of 16,384 packed input tokens and at most 3,072 anchors per rank, and eight predictions per block. Muon handles eligible matrix parameters and AdamW handles the remaining trainable parameters; the initial learning rate is 3e-4. Input embeddings and vocabulary projections retain frozen verifier weights. Packed batch length combines independent short examples and does not imply a 16K-token single recording.
- Optimize and validate. The objective combines KL divergence to the teacher distribution on the reduced vocabulary with a confidence-head BCE term (weight 1.0). Only valid transcript positions contribute; audio and padding positions are masked out. Prediction position k receives weight exp(-k/4), emphasizing early predictions in an accepted prefix. Evaluate after every epoch using aggregate validation loss and offline EAL. The published export is epoch 6, selected by the lowest aggregate validation loss, after completing all 10 epochs.
The collection and training phases used both GPUs in sequence. CPU assembly of completed shards overlapped with collection; the draft vocabulary was frozen before formal training started. The implementations are available in Speculators and vLLM.
| Training language | Clips | Audio hours | Training label vocabulary coverage |
|---|---|---|---|
| en | 231,515 | 832.32 | 99.871% |
| zh | 123,340 | 160.54 | 98.227% |
| ja | 2,150 | 6.84 | 98.270% |
Validation clips: 2,576. The published checkpoint was selected by the lowest aggregate validation loss across the ten-epoch run.
Offline validation of this export
| Metric | Value |
|---|---|
| Total validation loss | 0.409284 |
| Greedy offline EAL, including one verifier bonus token | 6.023555 |
| Analytical accepted length, including one verifier bonus token | 5.615419 |
These metrics use cached teacher-conditioned contexts and the reduced draft vocabulary. They are offline training-validation measurements, distinct from the online serving results below.
Online serving evaluation
SGLang-Omni PR #3660 reports acceptance length, throughput, latency and ASR accuracy on one H200 with BF16, TP1 and synchronous decoding, using 256 English and 256 Chinese SeedTTS eval samples at c1, c8 and c16. It compares the original baseline (A), a baseline with KDA/router compatibility patches and router matvec disabled (B), and DSpark on top of that patched baseline (C), in both normal and deterministic modes.
In deterministic mode, B and C produced exactly matching raw and normalized transcripts across the tested samples, concurrency levels and both repeat visits. Reported serving acceptance lengths were 4.6449 tokens per verify for English and 3.6788 for Chinese. These results establish parity on this fixed cohort with those runtime settings, not a general guarantee of lossless inference. Normal-mode B/C outputs still differ, and normal English c8 WER regresses despite higher throughput. Refer to the PR for the full performance and accuracy tables; its A-to-C gains include both compatibility patches and DSpark.
Provenance
Training code and run artifacts are maintained separately. See Speculators and vLLM for the training and inference frameworks. publication-manifest.json records SHA-256 hashes of the model repository files. Raw audio and optimizer state are not distributed here.
License
The draft weights and original documentation are released under the MIT License. The MIT notice from the Ming base model is retained. The included config.py loader derives from Speculators and remains under Apache-2.0. Dataset licenses remain those of their respective sources; raw audio is not redistributed in this repository.