🚀 M-CTC-T
M-CTC-T 是 Meta AI 推出的大规模多语言语音识别器。该模型是一个具有 10 亿参数的 Transformer 编码器,配备了一个针对 8065 个字符标签的 CTC 头部和一个针对 60 个语言 ID 标签的语言识别头部。它在 Common Voice(2020 年 12 月发布的 6.1 版本)和 VoxPopuli 数据集上进行训练。在这两个数据集上完成训练后,模型仅在 Common Voice 上继续训练。标签为未归一化的字符级转录(未去除标点和大小写)。该模型以 16Khz 音频信号的梅尔滤波器组特征作为输入。

原始的 Flashlight 代码、模型检查点和 Colab 笔记本可在 此处 找到。
✨ 主要特性
- 大规模多语言语音识别能力。
- 基于 10 亿参数的 Transformer 编码器架构。
- 配备 CTC 头部和语言识别头部。
📚 详细文档
引用信息
- 论文
- 作者:Loren Lugosch、Tatiana Likhomanenko、Gabriel Synnaeve、Ronan Collobert
@article{lugosch2021pseudo,
title={Pseudo-Labeling for Massively Multilingual Speech Recognition},
author={Lugosch, Loren and Likhomanenko, Tatiana and Synnaeve, Gabriel and Collobert, Ronan},
journal={ICASSP},
year={2022}
}
贡献者
非常感谢 Chan Woo Kim 将模型从 Flashlight C++ 移植到 PyTorch。
训练方法

有关该模型的训练方式的更多信息,请查看 官方论文。
💻 使用示例
基础用法
import torch
import torchaudio
from datasets import load_dataset
from transformers import MCTCTForCTC, MCTCTProcessor
model = MCTCTForCTC.from_pretrained("speechbrain/m-ctc-t-large")
processor = MCTCTProcessor.from_pretrained("speechbrain/m-ctc-t-large")
ds = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation")
input_features = processor(ds[0]["audio"]["array"], sampling_rate=ds[0]["audio"]["sampling_rate"], return_tensors="pt").input_features
with torch.no_grad():
logits = model(input_features).logits
predicted_ids = torch.argmax(logits, dim=-1)
transcription = processor.batch_decode(predicted_ids)
模型表现
Common Voice 数据集上所有语言的平均结果:
属性 |
详情 |
字符错误率 (CER) - 验证集 |
21.4 |
字符错误率 (CER) - 测试集 |
23.3 |
📄 许可证
本项目采用 Apache-2.0 许可证。
📥 问题与帮助
如果您对该模型有疑问或需要帮助,请考虑在本仓库中开启讨论或提交拉取请求,并标记 @lorenlugosch、@cwkeam 或 @patrickvonplaten。