FireRedASR icon indicating copy to clipboard operation
FireRedASR copied to clipboard

batch!=1使用llm出现了一些重复解码的case是什么问题,怎么解决

Open zhanglinc opened this issue 10 months ago • 4 comments

batch!=1使用llm出现了一些重复解码的case是什么问题,怎么解决

zhanglinc avatar Feb 28 '25 14:02 zhanglinc

https://github.com/FireRedTeam/FireRedASR?tab=readme-ov-file#batch-beam-search

kaituoxu avatar Mar 01 '25 02:03 kaituoxu

问题的关键可能是padded_feat,原来的方式是一个一个wav提特征得到feats,如果多个并且有时长相差较大的wav放入提特征得到padded_feats,就会出现某个wav的feat有很多个0 padding,就可能会导致重复出字。 我比较好奇的是:训练的时候是不是需要按照readme所说做一个时长的数据预处理,将时长相近的wav组成一个个batch来提feats。当然我发现重复解码的case都是完整且正确地得到了结果,然后重复出字,确实是padding影响了实际问题,如果不管时长直接整体提特征,而后训练,可能问题也不大?

PigeonDan1 avatar Mar 04 '25 10:03 PigeonDan1

"训练的时候是不是需要按照readme所说做一个时长的数据预处理,将时长相近的wav组成一个个batch来提feats" 是的。

FireRedTeam avatar Mar 07 '25 08:03 FireRedTeam

“如果不管时长直接整体提特征,而后训练,可能问题也不大?” 这样训练中可能一个batch内的padding较多,会降低训练效率。

FireRedTeam avatar Mar 07 '25 08:03 FireRedTeam