ASLP-lab commited on
Commit
bdd1782
·
verified ·
1 Parent(s): cdbc4cf

Upload folder using huggingface_hub

Browse files
Files changed (4) hide show
  1. .gitattributes +2 -0
  2. README.md +274 -0
  3. figs/aslp.png +3 -0
  4. figs/speaker_reasoner.png +3 -0
.gitattributes CHANGED
@@ -34,3 +34,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  tokenizer.json filter=lfs diff=lfs merge=lfs -text
 
 
 
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  tokenizer.json filter=lfs diff=lfs merge=lfs -text
37
+ figs/aslp.png filter=lfs diff=lfs merge=lfs -text
38
+ figs/speaker_reasoner.png filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,274 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <h1 align="center">Speaker-Reasoner: Scaling Interaction Turns and Reasoning Patterns for Timestamped Speaker-Attributed ASR</h1>
2
+
3
+ <div align="center">
4
+
5
+ <div style="text-align: center;">
6
+ <img src="https://img.shields.io/badge/Python-3.10+-blue" alt="Python">
7
+ <img src="https://img.shields.io/badge/License-Apache%202.0-green" alt="License">
8
+ <a href="https://arxiv.org/abs/2604.03074">
9
+ <img src="https://img.shields.io/badge/arXiv-paper-red" alt="arXiv Paper">
10
+ </a>
11
+ <a href="https://github.com/ASLP-lab/Speaker-Reasoner">
12
+ <img src="https://img.shields.io/badge/GitHub-repo-black" alt="GitHub">
13
+ </a>
14
+ <a href="http://www.npu-aslp.org/">
15
+ <img src="https://img.shields.io/badge/🏫-ASLP-grey?labelColor=lightgrey" alt="lab">
16
+ </a>
17
+ </div>
18
+
19
+ </div>
20
+
21
+ <div align="center">
22
+ <h3>
23
+ Zhennan Lin<sup>1</sup>, Shuai Wang<sup>2</sup>, Zhaokai Sun<sup>1</sup>, Pengyuan Xie<sup>3</sup>, Chuan Xie<sup>3</sup>, Jie Liu<sup>3</sup>, Qiang Zhang<sup>3</sup>, Lei Xie<sup>1†</sup>
24
+ </h3>
25
+
26
+ <p>
27
+ <sup>†</sup>Corresponding author
28
+ </p>
29
+
30
+ <p>
31
+ <sup>1</sup>Audio, Speech and Language Processing Group (ASLP@NPU), Northwestern Polytechnical University<br>
32
+ <sup>2</sup>School of Intelligence Science and Technology, Nanjing University<br>
33
+ <sup>3</sup>Shanghai Lingguang Zhaxian Technology
34
+ </p>
35
+ </div>
36
+
37
+ ----
38
+
39
+ Speaker-Reasoner is an end-to-end Speech LLM for **timestamped speaker-attributed ASR** featuring agentic multi-turn temporal reasoning. Instead of single-pass inference, the model iteratively analyzes global audio structure, autonomously predicts temporal boundaries, and performs fine-grained segment analysis, jointly modeling speaker identity, gender, timestamps, and transcription. A speaker-aware cache further extends processing to audio exceeding the training context window.
40
+
41
+ ![](figs/speaker_reasoner.png)
42
+
43
+ ## 🌟 Highlights
44
+
45
+ - **Agentic multi-turn reasoning**: iterative global-to-local inference along the temporal axis — global speaker summary → boundary prediction → fine-grained segment decoding
46
+ - **Speaker-aware context cache**: extends processing to long-form audio beyond the training context window while preserving speaker consistency across chunks
47
+ - **Three-stage progressive training**: multi-task foundation → temporal interaction learning → cache-conditioned decoding
48
+ - **State-of-the-art performance**: outperforms strong baselines including closed-source Gemini-2.5-Pro on AliMeeting and AISHELL-4
49
+ - 🔥 **Bilingual & Scaled up**: extended training on 4,194 hours of multi-domain data, natively supporting English and Mandarin across complex multi-speaker scenarios
50
+
51
+ ## 📊 Results
52
+
53
+ ### Comprehensive Multi-Domain Evaluation
54
+
55
+ <p>We further scaled up Speaker-Reasoner with 4,194 hours of bilingual (ZH/EN) training data. The model demonstrates superior performance across diverse scenarios, including challenging video domains and various public meeting datasets.</p>
56
+
57
+ <div style="overflow-x: auto;">
58
+ <table style="white-space: nowrap;">
59
+ <thead>
60
+ <tr>
61
+ <th rowspan="2">Model</th>
62
+ <th colspan="4" align="center">Video-Internal-Eval</th>
63
+ <th colspan="4" align="center">Video-Internal-Eval-zh</th>
64
+ <th colspan="4" align="center">Video-Internal-Eval-en</th>
65
+ <th colspan="4" align="center">AISHELL4-Eval</th>
66
+ <th colspan="4" align="center">Alimeeting-Far</th>
67
+ <th colspan="4" align="center">AMI-SDM</th>
68
+ <th colspan="4" align="center">MLC-SLM-Eval-1</th>
69
+ <th colspan="4" align="center">MLC-SLM-Eval-2</th>
70
+ </tr>
71
+ <tr>
72
+ <th>WER↓</th><th>cpWER↓</th><th>DER↓</th><th>∆cp↓</th>
73
+ <th>WER↓</th><th>cpWER↓</th><th>DER↓</th><th>∆cp↓</th>
74
+ <th>WER↓</th><th>cpWER↓</th><th>DER↓</th><th>∆cp↓</th>
75
+ <th>WER↓</th><th>cpWER↓</th><th>DER↓</th><th>∆cp↓</th>
76
+ <th>WER↓</th><th>cpWER↓</th><th>DER↓</th><th>∆cp↓</th>
77
+ <th>WER↓</th><th>cpWER↓</th><th>DER↓</th><th>∆cp↓</th>
78
+ <th>WER↓</th><th>cpWER↓</th><th>DER↓</th><th>∆cp↓</th>
79
+ <th>WER↓</th><th>cpWER↓</th><th>DER↓</th><th>∆cp↓</th>
80
+ </tr>
81
+ </thead>
82
+ <tbody>
83
+ <tr>
84
+ <td>Gemini-2.5-Pro</td>
85
+ <td>22.47</td><td>44.13</td><td>74.05</td><td>21.66</td>
86
+ <td>18.28</td><td>40.97</td><td>69.35</td><td>22.69</td>
87
+ <td>55.40</td><td>68.82</td><td>100.95</td><td>13.42</td>
88
+ <td>19.81</td><td>25.11</td><td>36.07</td><td>5.30</td>
89
+ <td>30.16</td><td>39.29</td><td>56.39</td><td>9.13</td>
90
+ <td>31.66</td><td>39.98</td><td>50.28</td><td>8.32</td>
91
+ <td>36.87</td><td>41.88</td><td>42.33</td><td>5.01</td>
92
+ <td>26.73</td><td>32.19</td><td>46.19</td><td>5.46</td>
93
+ </tr>
94
+ <tr>
95
+ <td>VibeVoice-ASR</td>
96
+ <td>16.45</td><td>58.60</td><td>47.18</td><td>42.15</td>
97
+ <td>17.70</td><td>62.06</td><td>47.65</td><td>44.36</td>
98
+ <td>7.11</td><td>32.65</td><td>44.62</td><td>25.54</td>
99
+ <td>22.19</td><td>26.16</td><td>8.94</td><td>3.97</td>
100
+ <td>34.31</td><td>39.92</td><td>19.62</td><td>5.61</td>
101
+ <td>30.53</td><td>35.86</td><td>21.00</td><td>5.33</td>
102
+ <td>10.30</td><td>13.45</td><td>6.27</td><td>3.15</td>
103
+ <td><b>7.97</b></td><td><b>11.38</b></td><td><b>3.14</b></td><td>3.41</td>
104
+ </tr>
105
+ <tr>
106
+ <td><b>Speaker-Reasoner Multi-turn</b></td>
107
+ <td><b>6.27</b></td><td><b>24.43</b></td><td><b>15.33</b></td><td><b>18.16</b></td>
108
+ <td><b>6.50</b></td><td><b>25.81</b></td><td><b>16.68</b></td><td><b>19.31</b></td>
109
+ <td><b>4.42</b></td><td><b>16.31</b></td><td><b>7.58</b></td><td><b>11.89</b></td>
110
+ <td><b>7.13</b></td><td><b>8.14</b></td><td><b>3.38</b></td><td><b>1.01</b></td>
111
+ <td><b>19.72</b></td><td><b>19.92</b></td><td><b>6.70</b></td><td><b>0.20</b></td>
112
+ <td><b>23.29</b></td><td><b>25.16</b></td><td><b>13.56</b></td><td><b>1.87</b></td>
113
+ <td><b>9.17</b></td><td><b>11.74</b></td><td><b>4.76</b></td><td><b>2.57</b></td>
114
+ <td>8.54</td><td>11.76</td><td>4.35</td><td><b>3.22</b></td>
115
+ </tr>
116
+ </tbody>
117
+ </table>
118
+ </div>
119
+
120
+ ### Segmented Evaluation (40–50s segments)
121
+
122
+ <div style="overflow-x: auto;">
123
+ <table style="white-space: nowrap;">
124
+ <thead>
125
+ <tr>
126
+ <th rowspan="2">Model</th>
127
+ <th colspan="4" align="center">AISHELL4-Eval</th>
128
+ <th colspan="4" align="center">Alimeeting-Far</th>
129
+ </tr>
130
+ <tr>
131
+ <th>DER↓</th><th>CER↓</th><th>cpCER↓</th><th>∆cp↓</th>
132
+ <th>DER↓</th><th>CER↓</th><th>cpCER↓</th><th>∆cp↓</th>
133
+ </tr>
134
+ </thead>
135
+ <tbody>
136
+ <tr><td colspan="9"><b>Cascade Baselines</b></td></tr>
137
+ <tr><td>Pyannote3.1 + Paraformer</td><td>8.10</td><td>19.18</td><td>26.24</td><td>7.06</td><td>19.13</td><td>30.15</td><td>45.39</td><td>15.24</td></tr>
138
+ <tr><td colspan="9"><b>End-to-End Baselines</b></td></tr>
139
+ <tr><td>Gemini-2.5-Pro†</td><td>36.07</td><td>19.81</td><td>25.11</td><td>5.30</td><td>56.39</td><td>30.16</td><td>39.29</td><td>9.13</td></tr>
140
+ <tr><td>Qwen3-Omni-30B-A3B-Instruct</td><td>32.42</td><td>14.46</td><td>22.22</td><td>7.76</td><td>37.15</td><td>25.40</td><td>36.28</td><td>10.88</td></tr>
141
+ <tr><td>Qwen2.5-Omni-7B</td><td>85.68</td><td>33.37</td><td>60.45</td><td>27.08</td><td>91.77</td><td>38.13</td><td>73.38</td><td>35.25</td></tr>
142
+ <tr><td>SpeakerLM (212.25h)</td><td>–</td><td>17.75</td><td>26.14</td><td>8.39</td><td>–</td><td>18.63</td><td>32.22</td><td>13.59</td></tr>
143
+ <tr><td>SpeakerLM (7638.95h)</td><td>–</td><td>17.17</td><td>18.37</td><td>1.20</td><td>–</td><td>13.97</td><td>16.05</td><td>2.08</td></tr>
144
+ <tr><td>VibeVoice-ASR</td><td>10.88</td><td>22.30</td><td>26.30</td><td>4.00</td><td>20.70</td><td>34.67</td><td>40.54</td><td>5.87</td></tr>
145
+ <tr><td>TagSpeech-Alimeeting</td><td>37.51</td><td>35.70</td><td>53.44</td><td>17.74</td><td>52.46</td><td>47.11</td><td>68.74</td><td>21.63</td></tr>
146
+ <tr><td colspan="9"><b>Ours</b></td></tr>
147
+ <tr><td>Qwen3-Omni + SOT sft (Stage 1)</td><td>–</td><td>17.65</td><td>19.59</td><td>1.94</td><td>–</td><td>24.24</td><td>26.03</td><td>1.79</td></tr>
148
+ <tr><td>Speaker-Reasoner Base (Stage 1)</td><td>6.24</td><td>14.04</td><td>16.54</td><td>2.50</td><td>8.96</td><td>21.16</td><td>22.64</td><td>1.48</td></tr>
149
+ <tr><td>Speaker-Reasoner Multi-turn (Stage 2)</td><td>5.19</td><td>13.83</td><td>14.93</td><td>1.10</td><td>7.47</td><td>20.34</td><td>20.29</td><td>−0.05</td></tr>
150
+ <tr><td><b>Speaker-Reasoner Multi-turn w/ SAC (Stage 3)</b></td><td><b>5.26</b></td><td><b>13.83</b></td><td><b>14.73</b></td><td><b>0.90</b></td><td><b>7.34</b></td><td><b>20.57</b></td><td><b>20.43</b></td><td><b>−0.14</b></td></tr>
151
+ <tr><td>Speaker-Reasoner Base 7B</td><td>12.00</td><td>15.65</td><td>25.60</td><td>9.95</td><td>18.43</td><td>24.97</td><td>38.12</td><td>13.15</td></tr>
152
+ <tr><td>Speaker-Reasoner Multi-turn 7B</td><td>9.38</td><td>15.31</td><td>22.91</td><td>7.60</td><td>15.56</td><td>24.33</td><td>34.81</td><td>10.48</td></tr>
153
+ </tbody>
154
+ </table>
155
+ </div>
156
+
157
+ † Closed-source model. DER unavailable for SpeakerLM and SOT-based models due to incompatible output formats.
158
+
159
+ ### Long-form Evaluation (without segmentation)
160
+
161
+ <div style="overflow-x: auto;">
162
+ <table style="white-space: nowrap;">
163
+ <thead>
164
+ <tr>
165
+ <th>Model</th>
166
+ <th>AISHELL4-Eval DER↓</th>
167
+ <th>AISHELL4-Eval cpCER↓</th>
168
+ </tr>
169
+ </thead>
170
+ <tbody>
171
+ <tr><td>Gemini-2.5-Pro</td><td>15.32</td><td>31.59</td></tr>
172
+ <tr><td>Speaker-Reasoner Multi-turn w/ SAC</td><td>21.60</td><td>36.20</td></tr>
173
+ </tbody>
174
+ </table>
175
+ </div>
176
+
177
+ ### Speaker Attribute Evaluation (AISHELL4-Eval)
178
+
179
+ <div style="overflow-x: auto;">
180
+ <table style="white-space: nowrap;">
181
+ <thead>
182
+ <tr>
183
+ <th>Model</th>
184
+ <th>Gender ACC↑</th>
185
+ <th>Speaker Count ACC (SCA)↑</th>
186
+ </tr>
187
+ </thead>
188
+ <tbody>
189
+ <tr><td>Gemini-2.5-Pro</td><td>94.80</td><td>67.03</td></tr>
190
+ <tr><td>Qwen3-Omni-30B-A3B-Instruct</td><td>97.12</td><td>60.49</td></tr>
191
+ <tr><td>Speaker-Reasoner Multi-turn</td><td><b>96.80</b></td><td><b>69.03</b></td></tr>
192
+ </tbody>
193
+ </table>
194
+ </div>
195
+
196
+ ## Installation
197
+
198
+ ### Environment Setup
199
+
200
+ ```bash
201
+ git clone https://github.com/ASLP-lab/Speaker-Reasoner.git
202
+ cd Speaker-Reasoner
203
+
204
+ conda create -n speaker-reasoner python=3.10 -y
205
+ conda activate speaker-reasoner
206
+ ```
207
+
208
+ Install MS-Swift and dependencies:
209
+
210
+ ```bash
211
+ pip install ms-swift
212
+ ```
213
+
214
+ ## Model Download
215
+
216
+ Coming soon.
217
+
218
+ ## Training
219
+
220
+ Coming soon.
221
+
222
+ ## Inference
223
+
224
+ ### vLLM
225
+
226
+ Speaker-Reasoner is built on top of [Qwen3-Omni-30B-A3B-Instruct](https://huggingface.co/Qwen/Qwen3-Omni-30B-A3B-Instruct). To run it, you will need to install a custom branch of vLLM from source.
227
+
228
+ ```bash
229
+ git clone -b qwen3_omni https://github.com/wangxiongts/vllm.git
230
+ cd vllm
231
+ pip install -r requirements/build.txt
232
+ pip install -r requirements/cuda.txt
233
+ export VLLM_PRECOMPILED_WHEEL_LOCATION=https://wheels.vllm.ai/a5dd03c1ebc5e4f56f3c9d3dc0436e9c582c978f/vllm-0.9.2-cp38-abi3-manylinux1_x86_64.whl
234
+ VLLM_USE_PRECOMPILED=1 pip install -e . -v --no-build-isolation
235
+ # If you meet an "Undefined symbol" error while using VLLM_USE_PRECOMPILED=1, please use "pip install -e . -v" to build from source.
236
+ # Install the Transformers
237
+ pip install git+https://github.com/huggingface/transformers
238
+ pip install accelerate
239
+ pip install qwen-omni-utils -U
240
+ pip install -U flash-attn --no-build-isolation
241
+ ```
242
+
243
+ > For more details on compiling vLLM from source, refer to the [vLLM official documentation](https://docs.vllm.ai/en/latest/getting_started/installation/gpu.html#set-up-using-python-only-build-without-compilation).
244
+
245
+ ## Citation
246
+
247
+ If you find this work useful, please cite:
248
+
249
+ ```bibtex
250
+ @article{lin2026speakerreasoner,
251
+ title={Speaker-Reasoner: Scaling Interaction Turns and Reasoning Patterns for Timestamped Speaker-Attributed ASR},
252
+ author={Zhennan Lin and Shuai Wang and Zhaokai Sun and Pengyuan Xie and Chuan Xie and Jie Liu and Qiang Zhang and Lei Xie},
253
+ year={2026},
254
+ eprint={2604.03074},
255
+ archivePrefix={arXiv},
256
+ primaryClass={eess.AS},
257
+ url={https://arxiv.org/abs/2604.03074},
258
+ }
259
+ ```
260
+
261
+ ## License
262
+
263
+ The code in this repository is released under the **Apache 2.0 License**.
264
+
265
+ ## Contact
266
+
267
+ - **Issues**: Please open a GitHub Issue for bug reports or suggestions.
268
+ - **Email**: znlin@mail.nwpu.edu.cn, lxie@nwpu.edu.cn
269
+
270
+ <p align="center">
271
+ <a href="http://www.nwpu-aslp.org/">
272
+ <img src="figs/aslp.png" width="400"/>
273
+ </a>
274
+ </p>
figs/aslp.png ADDED

Git LFS Details

  • SHA256: 34b95f978829e2fddacbeb23777f33d840e54c8f963b37e8454b7f7f4964b298
  • Pointer size: 133 Bytes
  • Size of remote file: 11.5 MB
figs/speaker_reasoner.png ADDED

Git LFS Details

  • SHA256: 5cbf7e1fc1757ee45c2d63110c619d7e39963e7b87aa7c518289a100c36ae1cc
  • Pointer size: 131 Bytes
  • Size of remote file: 444 kB