🚀 M-CTC-T
M-CTC-T 是 Meta AI 推出的大規模多語言語音識別器。該模型是一個具有 10 億參數的 Transformer 編碼器,配備了一個針對 8065 個字符標籤的 CTC 頭部,以及一個針對 60 種語言 ID 標籤的語言識別頭部。它能有效解決多語言語音識別難題,為全球不同語言的語音處理提供了強大工具。
🚀 快速開始
M-CTC-T 是 Meta AI 研發的大規模多語言語音識別器。此模型為 10 億參數的 Transformer 編碼器,帶有針對 8065 個字符標籤的 CTC 頭部和針對 60 種語言 ID 標籤的語言識別頭部。它在 Common Voice(版本 6.1,2020 年 12 月發佈)和 VoxPopuli 上進行訓練,之後僅在 Common Voice 上繼續訓練。標籤為未歸一化的字符級轉錄(未去除標點和大小寫)。模型的輸入為 16Khz 音頻信號的梅爾濾波器組特徵。

原始的 Flashlight 代碼、模型檢查點和 Colab 筆記本可在 此處 找到。
✨ 主要特性
- 多語言支持:能夠識別多種語言,適用於不同語言環境的語音識別任務。
- 大規模參數:擁有 10 億參數的 Transformer 編碼器,提供強大的識別能力。
- 雙頭部設計:CTC 頭部和語言識別頭部結合,提高識別準確性和語言判斷能力。
💻 使用示例
基礎用法
import torch
import torchaudio
from datasets import load_dataset
from transformers import MCTCTForCTC, MCTCTProcessor
model = MCTCTForCTC.from_pretrained("speechbrain/mctct-large")
processor = MCTCTProcessor.from_pretrained("speechbrain/mctct-large")
ds = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation")
input_features = processor(ds[0]["audio"]["array"], return_tensors="pt").input_features
logits = model(input_features).logits
predicted_ids = torch.argmax(logits, dim=-1)
transcription = processor.batch_decode(predicted_ids)
結果展示
Common Voice 的結果,按所有語言平均:
字符錯誤率 (CER):
📚 詳細文檔
引用信息
論文
作者: 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 和 Patrick von Platen 將模型從 Flashlight 移植到 PyTorch。
訓練方法
待辦事項:用論文中的訓練圖替換
有關模型訓練的更多信息,請查看 官方論文。
📄 許可證
本項目採用 Apache-2.0 許可證。