2.6 Model Inference
本小节主要的介绍如何使用推理进行合成音频
Last updated
本小节主要的介绍如何使用推理进行合成音频
Last updated
在机器学习和深度学习领域,“推理” (Inference) 是指使用训练好的模型对新的数据进行预测或分类的过程。推理阶段是模型实际应用的重要部分,通常发生在模型部署之后,用于处理实时数据或者批量数据。这与模型训练阶段不同,训练阶段是通过历史数据来优化模型参数,而推理阶段则是使用已经优化好的模型参数来进行预测。
加载模型:
首先需要加载已经训练好的模型。模型通常以特定的格式保存,例如 TensorFlow 的 .pb
文件、PyTorch 的 .pth
文件等。
预处理输入数据:
对输入数据进行预处理,使其符合模型的输入要求。常见的预处理步骤包括归一化、标准化、特征提取、分词等。
模型推理:
将预处理后的数据输入到模型中,进行前向传播(Forward Propagation),模型会输出预测结果。
后处理输出数据:
对模型输出的预测结果进行后处理,使其符合实际应用的需求。例如将模型输出的概率转换为类别标签,或者进行结果的聚合和筛选。
打开推理界面之后可以看到一些参数,首先我们要了解这些参数的意义。
我们可以看到的两个的在之前模型基础上进行微调的模型权重文件,并且模型文件之中还有对应不同的Epoch 数下的文件。
下拉选择模型推理,e代表轮数,s代表步数。不是轮数越高越好。选择好模型点开启TTS推理,自动弹出推理界面。如果没有弹出,复制http://0.0.0.0:9872到浏览器打开。
然后上传一段参考音频,建议是数据集中的音频。最好5秒。参考音频很重要!参考音频的文本是参考音频说什么就填什么,语种也要对应。可以选择无参考文本模式,但非常不建议使用。右上角有个融合音色的可选项,可以忽略。接着就是输入要合成的文本了,注意语种要对应。目前可以中英混合,日英混合和中日英混合。切分建议无脑选凑四句一切,低于四句的不会切。如果凑四句一切报错的话就是显存太小了可以按句号切。如果不切,显存越大能合成的越多。top_p,top_k和temperature,保持默认就行了。这些控制的都是随机性,拉大数值,随机性也会变大,所以建议默认就好
那么接下来我们进行推理
我们可以看到后台在进行推理计算
这三个值都是用来控制采样的。在推理的时候要挑出一个最好的token,但机器并不知道哪个是最好的。于是先按照top_k挑出前几个token,top_p在top_k的基础上筛选token。最后temperature控制随机性输出。
比如总共有100个token,top_k设置5,top_p设置0.6,temperature设置为0.5。那么就会从100个token中先挑出5个概率最大的token,这五个token的概率分别是(0.3,0.3,0.2,0.2,0.1),那么再挑出累加概率不超过0.6的token(0.3和0.3),再从这两个token中随机挑出一个token输出,其中前一个token被挑选到的几率更大。以此类推
= 1不惩罚重复,> 1时开始惩罚重复,< 1时鼓励重复。一般都设置为 > 1,因为本身复读就挺严重的。
如果出现吞字,重复,参考音频混入的情况,这是正常现象。改善的方法有使用较低轮数的GPT模型、合成文本再短点、换参考音频。