Skip to content

Commit 005e9d8

Browse files
committed
merge vllm: new dynamic VAD + unified server + updated benchmark
2 parents bd9eeab + 7e2c3f4 commit 005e9d8

3 files changed

Lines changed: 20 additions & 16 deletions

File tree

docs/vllm_guide.md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -371,18 +371,20 @@ Client Server
371371

372372
### Benchmark 结果(184 files, 11541s audio, 1947 VAD segments)
373373

374-
| 模型 | 方法 | 耗时 | RTFx | CER | 加速 |
375-
|------|------|------|------|-----|------|
376-
| Fun-ASR-Nano | PyTorch | 589s | 19.6 | 8.94% | 基准 |
377-
| Fun-ASR-Nano | **vLLM (ours)** | **29.3s** | **393.9** | **8.91%** | **20.7x** |
378-
| Fun-ASR-Nano | yuekaizhang vLLM | 42.7s | 273.0 | 17.07% | 14.3x |
379-
| GLM-ASR-Nano | PyTorch | 338s | 34.4 | 12.94% | 基准 |
380-
| GLM-ASR-Nano | **vLLM (ours)** | **43.9s** | **263.2** | **12.92%** | **7.6x** |
374+
| 模型 | 方法 | RTFx | CER | 加速 |
375+
|------|------|------|-----|------|
376+
| Fun-ASR-Nano | PyTorch (fixed VAD) | 19.6 | 8.94% | 基准 |
377+
| Fun-ASR-Nano | **vLLM batch (fixed VAD)** | **393.9** | **8.91%** | **20.7x** |
378+
| Fun-ASR-Nano | **vLLM server (dynamic VAD)** | **68.3** | **8.14%** | **3.5x** |
379+
| Fun-ASR-Nano | yuekaizhang vLLM | 273.0 | 17.07% | 14.3x |
380+
| GLM-ASR-Nano | PyTorch | 34.4 | 12.94% | 基准 |
381+
| GLM-ASR-Nano | **vLLM (ours)** | **263.2** | **12.92%** | **7.6x** |
381382

382383
**关键结论:**
383-
- vLLM 与 PyTorch CER 完全一致(Fun-ASR-Nano 差 0.03%,GLM-ASR 差 0.02%)
384-
- Fun-ASR-Nano 加速 20.7x,GLM-ASR 加速 7.6x
385-
- 比第三方 yuekaizhang/Fun-ASR-vllm 快 44%,且 CER 优 8%
384+
- vLLM batch 与 PyTorch CER 完全一致(差 < 0.05%)
385+
- 新动态 VAD(保留长段 ≤60s)CER 降至 **8.14%**,优于 PyTorch 的 8.94%
386+
- Fun-ASR-Nano batch 加速 20.7x,服务模式加速 3.5x
387+
- 比第三方 yuekaizhang/Fun-ASR-vllm 快 44%,且 CER 优 9%
386388

387389
### 统一 vLLM 服务(serve_vllm.py)
388390

examples/industrial_data_pretraining/fun_asr_nano/serve_vllm.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def process_audio(audio_data, sr=16000, language=None, hotwords=None,
8484

8585
# VAD segmentation
8686
if use_vad and len(audio_data) > sr * 1:
87-
vad_res = _vad_model.generate(input=audio_data, fs=sr, dynamic_silence=True)
87+
vad_res = _vad_model.generate(input=audio_data, fs=sr)
8888
segments = vad_res[0]["value"]
8989
else:
9090
segments = [[0, int(len(audio_data) * 1000 / sr)]]

funasr/models/fsmn_vad_streaming/model.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,13 @@
3131

3232
# Non-streaming mode: shorter patience (audio already complete, cut by natural pauses)
3333
DEFAULT_SILENCE_SCHEDULE = [
34-
(5000, 800),
35-
(10000, 600),
36-
(20000, 500),
37-
(30000, 400),
38-
(float("inf"), 300),
34+
(10000, 2000),
35+
(20000, 1000),
36+
(30000, 800),
37+
(40000, 600),
38+
(50000, 400),
39+
(60000, 200),
40+
(float("inf"), 100),
3941
]
4042

4143

0 commit comments

Comments
 (0)