PaddlePaddle / PaddleSpeech

Easy-to-use Speech Toolkit including Self-Supervised Learning model, SOTA/Streaming ASR with punctuation, Streaming TTS with text frontend, Speaker Verification System, End-to-End Speech Translation and Keyword Spotting. Won NAACL2022 Best Demo Award.
https://paddlespeech.readthedocs.io
Apache License 2.0
11.16k stars 1.85k forks source link

关于使用batch_size,并行推理asr,结果不同的疑问? #2928

Open DerekKars opened 1 year ago

DerekKars commented 1 year ago

使用asr接口,调试batch_size并行输出结果。输入相同的数据,在下面的操作中(concat),不同的batch_size发现推理的结果不同。

所作操作: 1.import paddle from paddlespeech.cli.asr import ASRExecutor

asr_executor = ASRExecutor()

text = asr_executor( model='conformer_wenetspeech', # conformer_wenetspeech conformer_talcs lang="zh", # zh_en zh sample_rate=16000, decode_method='attention', codeswitch=False, # False True config=None, # Set config and ckpt_path to None to use pretrained model. ckpt_path=None, audio_file='../test_2.wav', force_yes=False, device=paddle.get_device())

print('ASR Result: \n{}'.format(text))

2.concat 1676440342424

3.音频信息: 1676440869485 数据为: test_2.zip

结果如下: batch_size = 1 (不做concat) : 1676440534750

batch_size = 2 (做concat) 1676440652620

DerekKars commented 1 year ago

又进一步做了测试: 上述问题在包括paddlepaddle-gpu 2.3 及以上版本出现。在paddlepaddle-gpu 2.2时候正常。

zxcd commented 1 year ago

目前来说cli不太能够支持多batch的解码。paddle版本不一致可能会影响解码结果不一致。

DerekKars commented 1 year ago

目前来说cli不太能够支持多batch的解码。paddle版本不一致可能会影响解码结果不一致。

paddlepaddle-gpu==2.2.1.post112版本的多batch的解码正常,但升级到2.3以上多batch的解码不正常。多batch_size训练模型,相同数据得到的推理应当是一致的。目前因为版本不一致而造成的结果不一致,应该不是正常现象。

zxcd commented 1 year ago

这确实是个问题,如果可以能否请你给出一个对应的语音,我们这边查证一下。

DerekKars commented 1 year ago

这确实是个问题,如果可以能否请你给出一个对应的语音,我们这边查证一下。

你好,请查收。 test_2_2.zip

zxcd commented 1 year ago

好的,非常感谢。我们尝试复现一下。

DerekKars commented 1 year ago

换一种解码方法是正常的,替换 attention ------》ctc_greedy_search,使用attention会出现上述结果不一的问题。

zxcd commented 1 year ago

我们在本地使用不同的paddle版本解码结果是一致的,或许你可以检测一下看看有没有其他因素影响。另外不建议使用concat的方式拼接语音,会影响某些解码方式的识别结果。 paddlepaddle=2.4.1

f42be8133b5f9fd13b2247edd6194868

paddlepaddle=2.2.0

7232757550d56f1f0f2cd689452e0cb0