Kaiqfu commited on
Commit
0526348
·
verified ·
1 Parent(s): f5f2f9c

Update model card with bilingual streaming ASR results at τ=480/960/2400 ms

Browse files
Files changed (1) hide show
  1. README.md +33 -12
README.md CHANGED
@@ -69,7 +69,7 @@ outputs = model.generate(**inputs)
69
  print(processor.batch_decode(outputs, skip_special_tokens=True)[0])
70
  ```
71
 
72
- Default streaming delay is **τ = 480 ms** (6 × 80 ms), matching the pretrained Voxtral Realtime recipe. The same weights cover τ in 80–2400 ms; see the paper for the accuracy–latency trade-off.
73
 
74
  A GPU with **at least 16 GB of VRAM** is recommended.
75
 
@@ -80,20 +80,41 @@ Training follows the two-stage recipe in the paper:
80
  1. **Stage 1 (this checkpoint)** — streaming ASR adaptation on ~26k hours of Chinese–English speech with frame-level ASR labels. Full fine-tune of the causal audio encoder and the language decoder. τ is sampled per batch between 1 and 30 frames (80–2400 ms).
81
  2. **Stage 2** — [`X2-Turn-4B-0812`](https://huggingface.co/x-square-robot/X2-Turn-4B-0812) attaches an independent turn head (initialized as a copy of the ASR `lm_head`) and jointly fine-tunes ASR + turn state.
82
 
83
- Stage 2 is stronger at turn-taking. **Stage 1 is stronger at ASR** on the paper’s streaming test sets (see below). After Stage 2 joint training, recognition degrades on some sets; that is expected.
84
 
85
  ## Benchmark results
86
 
87
- Numbers are from [**X2-Turn: Frame-Synchronous Dual-Head Modeling for Joint Streaming ASR and Turn State Prediction**](https://arxiv.org/abs/2608.10878) (arXiv:2608.10878), Table 3. Values are CER (Chinese) / WER (English). Uni-ASR uses a 320 ms chunk with beam search; Freeze-Omni uses a chunk size of 4.
88
-
89
- | Test set | Uni-ASR | Freeze-Omni | **X2-ASR (480 ms)** | **X2-ASR (2400 ms)** | X2-Turn (480 ms) |
90
- |---|:---:|:---:|:---:|:---:|:---:|
91
- | AISHELL-1 | 2.90 | 2.79 | **2.57** | **1.48** | 3.94 |
92
- | test-meeting || 14.2 | **9.25** | **7.68** | 12.18 |
93
- | test-net | | 12.6 | **9.50** | **8.40** | 10.39 |
94
- | GigaSpeech | | — | **12.23** | **10.87** | 12.55 |
95
- | LS-clean | 3.21 | 4.05 | **2.40** | **1.54** | 3.30 |
96
- | LS-other | 7.71 | 10.48 | **5.87** | **3.77** | 8.53 |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
 
98
  ## Training data
99
 
 
69
  print(processor.batch_decode(outputs, skip_special_tokens=True)[0])
70
  ```
71
 
72
+ Default streaming delay is **τ = 480 ms** (6 × 80 ms), matching the pretrained Voxtral Realtime recipe. The same weights cover τ in 80–2400 ms; the tables below show the accuracy–latency trade-off.
73
 
74
  A GPU with **at least 16 GB of VRAM** is recommended.
75
 
 
80
  1. **Stage 1 (this checkpoint)** — streaming ASR adaptation on ~26k hours of Chinese–English speech with frame-level ASR labels. Full fine-tune of the causal audio encoder and the language decoder. τ is sampled per batch between 1 and 30 frames (80–2400 ms).
81
  2. **Stage 2** — [`X2-Turn-4B-0812`](https://huggingface.co/x-square-robot/X2-Turn-4B-0812) attaches an independent turn head (initialized as a copy of the ASR `lm_head`) and jointly fine-tunes ASR + turn state.
82
 
83
+ Stage 2 is stronger at turn-taking. **Stage 1 is stronger at ASR** on the same streaming test sets (see below). After Stage 2 joint training, recognition degrades on some sets; that is expected.
84
 
85
  ## Benchmark results
86
 
87
+ Streaming ASR of **this checkpoint** at three operating points of the delay τ. Chinese numbers are **CER** (%); English numbers are **WER** (%). Avg. is the unweighted mean over the listed sets. A subset of the 480 ms / 2400 ms numbers also appears in Table 3 of the [paper](https://arxiv.org/abs/2608.10878), together with Stage 2 (X2-Turn) and chunk-based baselines.
88
+
89
+ **Chinese (CER )**
90
+
91
+ | Test set | τ = 480 ms | τ = 960 ms | τ = 2400 ms |
92
+ |---|:---:|:---:|:---:|
93
+ | AISHELL-1 Dev | 2.14 | 1.45 | 1.30 |
94
+ | AISHELL-1 Test | 2.57 | 1.76 | 1.48 |
95
+ | AISHELL-2 Android | 4.70 | 3.77 | 3.42 |
96
+ | AISHELL-2 iOS | 4.41 | 3.60 | 3.23 |
97
+ | AISHELL-2 Mic | 4.54 | 3.77 | 3.54 |
98
+ | AISHELL-3 Test | 3.16 | 2.33 | 2.13 |
99
+ | AISHELL-4 Test | 18.72 | 17.26 | 16.42 |
100
+ | WenetSpeech Dev | 8.13 | 7.79 | 7.81 |
101
+ | WenetSpeech Test-Meeting | 9.25 | 8.26 | 7.68 |
102
+ | WenetSpeech Test-Net | 9.50 | 8.70 | 8.40 |
103
+ | **Avg.** | **6.71** | **5.87** | **5.54** |
104
+
105
+ **English (WER ↓)**
106
+
107
+ | Test set | τ = 480 ms | τ = 960 ms | τ = 2400 ms |
108
+ |---|:---:|:---:|:---:|
109
+ | GigaSpeech | 12.23 | 11.05 | 10.87 |
110
+ | LibriSpeech test-clean | 2.40 | 1.65 | 1.54 |
111
+ | LibriSpeech test-other | 5.87 | 4.25 | 3.77 |
112
+ | TED-LIUM Test | 4.62 | 3.76 | 3.66 |
113
+ | VoxPopuli | 9.16 | 6.63 | 6.05 |
114
+ | VoxPopuli Accented | 27.93 | 25.88 | 25.12 |
115
+ | **Avg.** | **10.37** | **8.87** | **8.50** |
116
+
117
+ Larger τ uses more lookahead and generally lowers error, at the cost of additional streaming delay. AISHELL-4 and VoxPopuli Accented remain the hardest sets in each language. For Stage 2 turn-taking accuracy and the comparison against Uni-ASR / Freeze-Omni, see the [paper](https://arxiv.org/abs/2608.10878).
118
 
119
  ## Training data
120