🚀 S2T-MEDIUM-MUSTC-MULTILINGUAL-ST
s2t-medium-mustc-multilingual-st
は、エンドツーエンドの多言語音声翻訳(ST)用にトレーニングされた音声からテキストへのTransformer(S2T)モデルです。このモデルは、自動音声認識や音声翻訳のタスクに役立ちます。
🚀 クイックスタート
s2t-medium-mustc-multilingual-st
は、エンドツーエンドの多言語音声翻訳を行うためのモデルです。このモデルは、この論文で提案され、このリポジトリで公開されています。
✨ 主な機能
- 多言語対応:英語からフランス語、ドイツ語など複数の言語への音声翻訳が可能です。
- エンドツーエンドの翻訳:音声入力から直接テキスト出力までを一度に行えます。
- Transformerベース:最新のTransformerアーキテクチャを利用しています。
📦 インストール
torchaudio
とsentencepiece
パッケージが必要です。以下のいずれかの方法でインストールできます。
pip install transformers"[speech, sentencepiece]"
pip install torchaudio sentencepiece
💻 使用例
基本的な使用法
import torch
from transformers import Speech2TextProcessor, Speech2TextForConditionalGeneration
from datasets import load_dataset
import soundfile as sf
model = Speech2TextForConditionalGeneration.from_pretrained("facebook/s2t-medium-mustc-multilingual-st")
processor = Speech2TextProcessor.from_pretrained("facebook/s2t-medium-mustc-multilingual-st")
def map_to_array(batch):
speech, _ = sf.read(batch["file"])
batch["speech"] = speech
return batch
ds = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation")
ds = ds.map(map_to_array)
inputs = processor(ds["speech"][0], sampling_rate=16_000, return_tensors="pt")
generated_ids = model.generate(
input_ids=inputs["input_features"],
attention_mask=inputs["attention_mask"],
forced_bos_token_id=processor.tokenizer.lang_code_to_id["fr"]
)
translation_fr = processor.batch_decode(generated_ids)
generated_ids = model.generate(
input_ids=inputs["input_features"],
attention_mask=inputs["attention_mask"],
forced_bos_token_id=processor.tokenizer.lang_code_to_id["de"]
)
translation_de = processor.batch_decode(generated_ids, skip_special_tokens=True)
📚 ドキュメント
モデルの説明
S2Tは、エンドツーエンドの自動音声認識(ASR)と音声翻訳(ST)を目的とした、Transformerベースのseq2seq(エンコーダ - デコーダ)モデルです。音声入力は、エンコーダに入力される前に、畳み込みダウンサンプラーを使用して長さが3/4に縮小されます。このモデルは、標準的な自己回帰的クロスエントロピー損失でトレーニングされ、自己回帰的に文字起こし/翻訳を生成します。
想定される用途と制限
このモデルは、エンドツーエンドの英語の音声からフランス語のテキストへの翻訳に使用できます。他のS2Tチェックポイントについては、モデルハブを参照してください。
トレーニングデータ
s2t-medium-mustc-multilingual-st
は、MuST-Cでトレーニングされています。MuST-Cは、多言語音声翻訳コーパスであり、そのサイズと品質により、英語から複数の言語への音声翻訳のエンドツーエンドシステムのトレーニングが容易になります。各ターゲット言語について、MuST-Cは英語のTEDトークから数百時間の音声録音を含み、これらは手動の文字起こしと翻訳と文レベルで自動的にアライメントされています。
トレーニング手順
前処理
音声データは、PyKaldiまたはtorchaudioを介してWAV/FLACオーディオファイルから自動的にKaldi互換の80チャンネルのログメルフィルタバンク特徴量を抽出することで前処理されます。さらに、各サンプルに対して発話レベルのCMVN(ケプストラム平均と分散正規化)が適用されます。
テキストは小文字に変換され、SentencePieceを使用して語彙サイズ10,000でトークン化されます。
トレーニング
このモデルは、標準的な自己回帰的クロスエントロピー損失を使用し、SpecAugmentを用いてトレーニングされています。エンコーダは音声特徴量を受け取り、デコーダは自己回帰的に文字起こしを生成します。モデルのトレーニングを加速し、より良い性能を得るために、エンコーダは多言語ASR用に事前学習されています。多言語モデルの場合、ターゲット言語IDトークンがターゲットのBOSとして使用されます。
評価結果
MuST-Cのテスト結果(BLEUスコア):
英語 - ドイツ語 |
英語 - オランダ語 |
英語 - スペイン語 |
英語 - フランス語 |
英語 - イタリア語 |
英語 - ポルトガル語 |
英語 - ルーマニア語 |
英語 - ロシア語 |
24.5 |
28.6 |
28.2 |
34.9 |
24.6 |
31.1 |
23.8 |
16.0 |
BibTeXエントリと引用情報
@inproceedings{wang2020fairseqs2t,
title = {fairseq S2T: Fast Speech-to-Text Modeling with fairseq},
author = {Changhan Wang and Yun Tang and Xutai Ma and Anne Wu and Dmytro Okhonko and Juan Pino},
booktitle = {Proceedings of the 2020 Conference of the Asian Chapter of the Association for Computational Linguistics (AACL): System Demonstrations},
year = {2020},
}
📄 ライセンス
このモデルはMITライセンスの下で提供されています。