🚀 NVIDIA Conformer-Transducer Large (fr)
该模型在包含超过1500小时法语语音的复合数据集上进行训练,是Conformer - Transducer的大型版本(约1.2亿个参数),可用于自动语音识别任务。
🚀 快速开始
此模型可用于NeMo工具包,可作为预训练检查点进行推理或在其他数据集上进行微调。要训练、微调或使用该模型,你需要安装 NVIDIA NeMo。建议在安装最新版本的PyTorch之后再安装它。
pip install nemo_toolkit['all']
✨ 主要特性
- 基于复合数据集训练,包含超过1500小时的法语语音。
- 是Conformer - Transducer的大型版本,约1.2亿个参数。
- 可用于自动语音识别任务,在多个评估数据集上有较好的表现。
📦 安装指南
要使用此模型,需要安装 NVIDIA NeMo。建议在安装最新版本的PyTorch之后再安装它,使用以下命令进行安装:
pip install nemo_toolkit['all']
💻 使用示例
基础用法
自动实例化模型:
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecRNNTBPEModel.from_pretrained("nvidia/stt_fr_conformer_transducer_large")
高级用法
使用Python进行转录
首先,获取一个示例音频文件:
wget https://dldata-public.s3.us-east-2.amazonaws.com/2086-149220-0033.wav
然后进行转录:
output = asr_model.transcribe(['2086-149220-0033.wav'])
print(output[0].text)
转录多个音频文件
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py
pretrained_name="nvidia/stt_fr_conformer_transducer_large"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
📚 详细文档
输入
该模型接受16000 kHz单声道音频(wav文件)作为输入。
输出
该模型为给定的音频样本提供转录后的语音字符串。
模型架构
Conformer - Transducer模型是Conformer模型 [1] 用于自动语音识别的自回归变体,它使用Transducer损失/解码而不是CTC损失。完整的架构细节请参阅 模型架构 部分和 NeMo文档。
训练
使用NeMo工具包 [3] 对模型进行了数百个epoch的训练。这些模型使用 示例脚本 和 基础配置 进行训练。这些模型的Sentence - piece分词器 [2] 使用训练集的文本转录通过 脚本 构建。
数据集
此集合中的所有模型都在一个复合数据集(NeMo ASRSET)上进行训练,该数据集包含超过一千小时的法语语音:
- MozillaCommonVoice 7.0 - 356小时
- Multilingual LibriSpeech - 1036小时
- VoxPopuli - 182小时
两个模型使用相同的数据集,不过在第二个模型的训练中,有一个去除数据中连字符的预处理步骤。
性能
自动语音识别模型的性能使用词错误率(WER)来衡量。由于该数据集在多个领域和更大的语料库上进行训练,因此在一般的音频转录中通常会表现得更好。最新模型在以下评估数据集上获得了以下贪心得分:
- MCV7.0开发集:6.85 %
- MCV7.0测试集:7.95 %
- MLS开发集:5.05 %
- MLS测试集:4.10 %
请注意,这些评估数据集已经过过滤和预处理,仅包含法文字母字符,并且去除了连字符和撇号以外的标点符号。
局限性
由于该模型是在公开可用的语音数据集上进行训练的,因此对于包含技术术语或模型未训练过的方言的语音,该模型的性能可能会下降。对于带有口音的语音,模型的表现可能也会更差。此外,由于训练集的部分内容包含1990年前后正字法改革的文本,两种风格之间的标点规则可能会有所不同。对于需要更高一致性的下游任务,可能需要进行微调或下游处理。如果不需要精确的正字法,建议使用第二个模型。
📄 许可证
本项目采用CC - BY - 4.0许可证。
🔗 参考资料