EasyASR语音识别训练算法组件以TFRecord格式的数据作为输入,进行语音识别模型训练。本文介绍EasyASR语音识别训练算法组件的配置方法及使用示例。

前提条件

已开通OSS并完成授权,详情请参见开通OSS服务为PAI-Studio授予OSS访问权限

使用限制

仅PAI-Studio 2.0提供该算法组件。

算法简介

EasyASR语音识别训练算法组件使用EasyASR数据集构建输出的TFRecord作为数据源,用于训练语音识别模型。建议在单机多卡环境下运行该组件。

EasyASR语音识别训练算法组件位于组件库音视觉算法文件夹下的离线训练模型子文件夹。

可视化配置组件

  • 输入
    EasyASR语音识别训练算法组件需要两个输入,分别为训练数据和评估数据。您可以通过两种方式配置输入数据:
    • 方法一:通过输入桩配置
      EasyASR语音识别训练算法组件前面接两个EasyASR数据集构建组件,分别构建用于训练和评估模型精度的数据。并将训练数据接入EasyASR语音识别训练组件的左侧输入桩,将评估数据接入EasyASR语音识别训练组件的右侧输入桩,如下图所示。构建输入数据
    • 方法二:通过组件参数配置

      直接在配置参数中填写训练和评估集TFRecord的OSS路径,即配置训练TFRecord的OSS路径训练TFRecord的OSS路径参数,详情请参见下文的组件参数

  • 组件参数
    页签 参数 是否必选 描述 默认值
    参数设置 模型配置文件 语音识别模型配置文件的OSS路径。目前EasyASR语音识别训练算法组件支持wav2letter和transformer类型的模型,您可以下载对应的模型配置文件并将其保存在OSS,详情请参见使用EasyASR进行语音识别
    模型Checkpoint保存OSS路径

    如果在模型配置文件中没有填写模型Checkpoint文件,则必须单独配置模型Checkpoint保存OSS路径

    该参数为保存模型Checkpoint的OSS文件夹,例如oss://my_bucket/my_checkpoint_dir/
    ASR词汇表

    如果在模型配置文件中没有填写语音识别模型的词汇表,则必须单独配置ASR词汇表

    该参数表示语音识别模型词汇表的OSS路径。您可以下载语音识别的词汇表并将其保存在OSS,详情请参见使用EasyASR进行语音识别

    音频特征维度 如果在模型配置文件中没有填写该参数,则必须单独配置音频特征维度

    该参数表示音频的每一帧的LogFBank特征维度,用于音频信号处理。该参数的取值为正整数,建议设置为80。

    是否为Fine-tune 是否进行Fine-Tune,支持以下取值:
    • :不进行Fine-Tune。建议首次进行语音识别模型训练时,使用PAI提供的预训练模型,且不进行Fine-Tune。
    • :如果您已经有训练好的模型,可以在此基础上进行Fine-Tune。
    选择预训练模型 如果不进行Fine-Tune,则可以选择预训练的语音识别模型作为基础训练,支持以下预训练模型:
    • N/A:不使用预训练模型。通常使用已有的模型进行Fine-Tune时,无需使用预训练模型。
    • wav2letter-smallwav2letter系列适用于对推理速度要求高、精度要求较低的场景。其中wav2letter-base模型比wav2letter-small模型的参数量大一些。
    • wav2letter-basewav2letter系列适用于对推理速度要求高、精度要求较低的场景。其中wav2letter-base模型比wav2letter-small模型的参数量大一些。
    • transformer-smalltransformer系列适用于对精度要求高、推理速度较低的场景。其中transfromer-base模型比transformer-small模型的参数量大一些。
    • transfromer-basetransformer系列适用于对精度要求高、推理速度较低的场景。其中transfromer-base模型比transformer-small模型的参数量大一些。
    N/A
    选择模型导出模式 训练模型的导出模式,需要与模型配置文件的类型一致,即wav2letter或transformer类型。

    如果模型用于在PAI-Studio 2.0中进行离线推理,则选择离线。如果您需要将模型部署为PAI-EAS服务,则选择在线。

    因此,系统支持以下导出模式:
    • Wav2Letter ASR(离线)
    • Wav2Letter ASR(在线)
    • Transformer ASR(离线)
    • Transformer ASR(在线)
    Wav2Letter ASR(离线)
    训练TFRecord的OSS路径 如果没有通过输入桩配置算法组件的输入,则需要配置该参数,表示训练TFRecord的OSS路径。

    如果同时通过输入桩和该参数配置了算法组件的输入,则优先使用输入桩配置的输入。

    评估TFRecord的OSS路径 如果没有通过输入桩配置算法组件的输入,则需要配置该参数,表示评估TFRecord的OSS路径。

    如果同时通过输入桩和该参数配置了算法组件的输入,则优先使用输入桩配置的输入。

    执行调优 运行模式
    组件运行的引擎,您可以结合实际情况选择。系统支持以下计算引擎:
    MaxCompute
    计算资源 运行模式MaxCompute时,您还需要配置以下参数:
    • CPU数量:计算时,单个Worker的CPU数量。
    • GPU数量:GPU卡的数量,用于深度学习模型的计算。
    • 内存(MB):单个Worker的内存,单位为MB。
    • CPU数量:10
    • GPU数量:1
    • 内存(MB):50000
    GPU机型选择 运行模式DLC时,您需要选择用于计算的GPU机型。
  • 输出

    EasyASR语音识别训练算法组件的输出桩可以接入EasyASR离线预测(MaxCompute)EasyASR离线预测(DLC)算法组件。

    该组件训练的模型导出格式为SavedModel,保存在模型Checkpoint保存OSS路径下的export_dir子文件夹,例如oss://my_bucket/my_checkpoint_dir/export_dir/

示例

首次进行语音识别模型训练时,建议选择PAI预训练的语音识别模型作为基础进行训练。PAI提供了“wav2letter-small”、“wav2letter-base”、“transformer-small”及“transformer-base”四种模型,您可以下载对应的模型配置文件和词汇表等资源,详情请参见使用EasyASR进行语音识别

本示例通过输入桩配置EasyASR语音识别训练算法组件的输入,即构建如下实验。构建输入数据选择对应的预训练模型后,建议将模型的配置文件和词汇表存储在您的OSS中。首次训练语音识别模型时,您需要填写模型配置文件的路径、模型Checkpoint保存OSS路径ASR词汇表路径及音频特征维度,并且将是否为Fine-tune设置为。参数配置请参见上文的EasyASR语音识别训练组件的参数
EasyASR语音识别训练组件运行时,会自动进行训练和评估,并将模型导出为SavedModel(保存在模型Checkpoint保存OSS路径下的export_dir子文件夹,例如oss://my_bucket/my_checkpoint_dir/export_dir/)用于加速推理。您可以在日志中查看详细训练过程和评估结果。训练过程

您也可以在自己训练的语音识别模型Checkpoint基础上进行Fine-Tune,此时需要将是否为Fine-tune设置为,将选择预训练模型设置为N/A。参数配置请参见上文的EasyASR语音识别训练组件的参数