大家好,我是波导终结者。
最近几年,很多原来想象不到的事情都由AI来完成了,最近甚至有AI驾驶的出租车在某地掀起浪潮,前两年我跟大家分享过的变声软件现在也被淘汰了,因为AI换脸跟AI换声都已经很成熟了。基于本地AI的一些生产力软件,我也跟大家分享过,有位小伙伴跟我组了差不多的配置,但是发现效率跟我这里有差别。所以最近来请教我,我也帮他复盘一下,分享给大家。
我的配置是12700K+48G+A770,小伙伴的配置是13700KF+96G+A770,一样跑Whisper语音识别,他说他的效率只有我的一半出头,一开始他是怀疑有核显跟没有显的区别,但是我感觉没那么简单,排查了一下也确实不是这个原因。不过确实他的配置比我高一些,显卡一样都是蓝戟的A770,貌似没有理由比我慢呀。
本来想叫小伙伴把视频发过来给我重现的,但是视频体积太大了,到最后是叫他把音频的部分扒下来发给我。实测确实发现速度分别为8倍和12倍,得高出了有一半之多,这显然不是误差。软件都是我发给他的,显卡也都是一样的,配置又是他比较高,那问题到底出在哪里呢?
经过两天的排查,最后发现问题的原因,竟然是我之前认为最不可能发生的点上。但说来也简单,可能就是软件有bug。我测试了自己录的一些游戏视频,参数基本一模一样,就只有视频分辨率跟码率有区别,有的是1080p有的是4k。按照常理来想,因为语音识别只处理音频,这应该跟视频内容没有什么关系才对,但实测结果确实打脸了。我有4K视频源处理速度正常,所以我又测试了同一个视频1080P,纯音频,2K,8K的处理结果,其中只有纯音频的速度与4K一样是正常的12倍,其他分辨率都降到了8倍。
实话说这一点,我从没想到,而且也有悖常理。第一,音频语音识别效率不应该跟视频规格有关系,更何况这个软件本身的处理流程,就是先把视频里的音频提取为WAV文件再来处理。
第二,就算是因为视频影响了,照常理来想,是不是因为视频规格高而影响了效率呢?也不是这样子。实测只有4k视频是正常的,其他分辨率都会效率大降,而此时无论是内存还是显存都绰绰有余,也不是负载太高或者爆显存的问题。测试至此,我只能说这应该是软件有个bug,虽然软件是开源的,但我应该也没有时间去修正它。解决的办法其实很简单,用脚本把视频里的音频全部扒出来再处理就完事儿了。原来我看软件会把音频先转成WAV,就以为说视频内容无论如何也不可能有什么影响,看来还是我天真了。
Whisper只能一个一个文件处理,如果有一堆文件要弄的话,也有人做了个GUI出来,叫Whisperer(笑)。它这里也有一次性处理多个文件的选项,我也顺便帮大家测试了。
可能大家会觉得多线程的速度反而没有单线程快,很奇怪,其实从代码的角度来看也挺正常的。这些毕竟是开源软件,而GUI工具又是民间自己弄的,没有针对多线程进行优化,发生资源挤占倒也正常。当然人家也有优点,就是不管有多少文件,丢进去之后呢人就不用管了,时间到了自然出结果。软件有些小问题也是很正常的,就像刚才我测出来的视频分辨率会大大影响速度,还有就算是我把音频扒出来成WAV,它工作的时候还是要再转换一遍WAV……
这年头各种AI软件的发展太快,大家会遇到的问题也千奇百怪,没有一个通用的定式,就只能是具体问题具体分析了。小伙伴主要的需求是语音识别,人声分离,以及SD绘图,这些现在都已经实现御三家独显可用,而目前性价比最高的方案仍然是A770。其他软件各有瓶颈,而16G显存则是AI绘图的刚需,INTEL的16G显存独显价格只要其他两家的一半左右(4060Ti 16G或7800XT),短时间内也很难撼动。
今天的分享就先到这里,也欢迎各位小伙伴留言交流,感谢大家的点赞关注,我们下期再见。