4.8 KiB
ModelScope 使用说明
ModelScope是阿里巴巴推出的开源模型即服务共享平台,为广大学术界用户和工业界用户提供灵活、便捷的模型应用支持。具体的使用方法和开源模型可以参见ModelScope 。在语音方向,我们提供了自回归/非自回归语音识别,语音预训练,标点预测等模型,用户可以方便使用。
整体介绍
我们在egs_modelscope 目录下提供了不同模型的使用方法,支持直接用我们提供的模型进行推理,同时也支持将我们提供的模型作为预训练好的初始模型进行微调。下面,我们将以egs_modelscope/asr/paraformer/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch目录中提供的模型来进行介绍,包括infer.py,finetune.py和infer_after_finetune.py,对应的功能如下:
infer.py: 基于我们提供的模型,对指定的数据集进行推理finetune.py: 将我们提供的模型作为初始模型进行微调infer_after_finetune.py: 基于微调得到的模型,对指定的数据集进行推理
模型推理
我们提供了infer.py来实现模型推理。基于此文件,用户可以基于我们提供的模型,对指定的数据集进行推理,得到相应的识别结果。如果给定了抄本,则会同时计算CER。在开始推理前,用户可以指定如下参数来修改推理配置:
data_dir:数据集目录。目录下应该包括音频列表文件wav.scp和抄本文件text(可选),具体格式可以参见快速开始中的说明。如果text文件存在,则会相应的计算CER,否则会跳过。output_dir:推理结果保存目录batch_size:推理时的batch大小ctc_weight:部分模型包含CTC模块,可以设置该参数来指定推理时,CTC模块的权重
除了直接在infer.py中设置参数外,用户也可以通过手动修改模型下载目录下的decoding.yaml文件中的参数来修改推理配置。
模型微调
我们提供了finetune.py来实现模型微调。基于此文件,用户可以基于我们提供的模型作为初始模型,在指定的数据集上进行微调,从而在特征领域取得更好的性能。在微调开始前,用户可以指定如下参数来修改微调配置:
data_path:数据目录。该目录下应该包括存放训练集数据的train目录和存放验证集数据的dev目录。每个目录中需要包括音频列表文件wav.scp和抄本文件textoutput_dir:微调结果保存目录dataset_type:对于小数据集,设置为small;当数据量大于1000小时时,设置为largebatch_bins:batch size,如果dataset_type设置为small,batch_bins单位为fbank特征帧数;如果dataset_type设置为large,batch_bins单位为毫秒max_epoch:最大的训练轮数
以下参数也可以进行设置。但是如果没有特别的需求,可以忽略,直接使用我们给定的默认值:
accum_grad:梯度累积keep_nbest_models:选择性能最好的keep_nbest_models个模型的参数进行平均,得到性能更好的模型optim:设置优化器lr:设置学习率scheduler:设置学习率调整策略scheduler_conf:学习率调整策略的相关参数specaug:设置谱增广specaug_conf:谱增广的相关参数
除了直接在finetune.py中设置参数外,用户也可以通过手动修改模型下载目录下的finetune.yaml文件中的参数来修改微调配置。
基于微调后的模型推理
我们提供了infer_after_finetune.py来实现基于用户自己微调得到的模型进行推理。基于此文件,用户可以基于微调后的模型,对指定的数据集进行推理,得到相应的识别结果。如果给定了抄本,则会同时计算CER。在开始推理前,用户可以指定如下参数来修改推理配置:
data_dir:数据集目录。目录下应该包括音频列表文件wav.scp和抄本文件text(可选)。如果text文件存在,则会相应的计算CER,否则会跳过。output_dir:推理结果保存目录batch_size:推理时的batch大小ctc_weight:部分模型包含CTC模块,可以设置该参数来指定推理时,CTC模块的权重decoding_model_name:指定用于推理的模型名
以下参数也可以进行设置。但是如果没有特别的需求,可以忽略,直接使用我们给定的默认值:
modelscope_model_name:微调时使用的初始模型名required_files:使用modelscope接口进行推理时需要用到的文件
注意事项
部分模型可能在微调、推理时存在一些特有的参数,这部分参数可以在对应目录的README.md文件中找到具体用法。