🚀 S2T-SMALL-MUSTC-EN-FR-ST
s2t-small-mustc-en-fr-st
は、エンドツーエンドの音声翻訳(ST)用にトレーニングされた音声からテキストへのTransformer(S2T)モデルです。このS2Tモデルは、この論文で提案され、このリポジトリで公開されました。
🚀 クイックスタート
このモデルは、エンドツーエンドの英語の音声をフランス語のテキストに翻訳するために使用できます。他のS2Tチェックポイントを探すには、モデルハブを参照してください。
✨ 主な機能
- エンドツーエンドの音声翻訳をサポート
- 英語の音声をフランス語のテキストに翻訳可能
📦 インストール
このモデルを使用するには、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-small-mustc-en-fr-st")
processor = Speech2TextProcessor.from_pretrained("facebook/s2t-small-mustc-en-fr-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"])
translation = processor.batch_decode(generated_ids, skip_special_tokens=True)
注意事項
⚠️ 重要提示
Speech2TextProcessor
オブジェクトは torchaudio を使用してフィルタバンク特徴量を抽出します。この例を実行する前に、torchaudio
パッケージをインストールしてください。
📚 ドキュメント
モデルの説明
S2Tは、エンドツーエンドの自動音声認識(ASR)と音声翻訳(ST)を目的とした、Transformerベースのseq2seq(エンコーダ-デコーダ)モデルです。このモデルは、音声入力をエンコーダに入力する前に、畳み込みダウンサンプラーを使用して音声入力の長さを3/4に縮小します。モデルは、標準的な自己回帰的な交差エントロピー損失でトレーニングされ、自己回帰的に文字起こし/翻訳を生成します。
想定される用途と制限
このモデルは、エンドツーエンドの英語の音声をフランス語のテキストに翻訳するために使用できます。他のS2Tチェックポイントを探すには、モデルハブを参照してください。
トレーニングデータ
s2t-small-mustc-en-fr-st
は、MuST-C の英語-フランス語サブセットでトレーニングされています。MuST-Cは、多言語の音声翻訳コーパスであり、そのサイズと品質により、英語から複数の言語への音声翻訳のエンドツーエンドシステムのトレーニングが容易になります。各ターゲット言語について、MuST-Cは、英語のTEDトークからの数百時間の音声録音を含み、これらは手動の文字起こしと翻訳と文レベルで自動的にアライメントされています。
トレーニング手順
前処理
音声データは、PyKaldiまたはtorchaudioを介してWAV/FLAC音声ファイルから自動的にKaldi互換の80チャンネルのログメルフィルタバンク特徴量を抽出することで前処理されます。さらに、各サンプルに対して発話レベルのCMVN(ケプストラム平均と分散正規化)が適用されます。
テキストは小文字に変換され、SentencePieceを使用して語彙サイズ8,000でトークン化されます。
トレーニング
モデルは、標準的な自己回帰的な交差エントロピー損失と SpecAugment を使用してトレーニングされます。エンコーダは音声特徴量を受け取り、デコーダは自己回帰的に文字起こしを生成します。モデルのトレーニングを加速し、より良いパフォーマンスを得るために、エンコーダは英語のASR用に事前学習されています。
評価結果
英語-フランス語のMuST-Cテスト結果(BLEUスコア): 32.9
🔧 技術詳細
S2Tは、Transformerベースのseq2seq(エンコーダ-デコーダ)モデルで、エンドツーエンドの自動音声認識(ASR)と音声翻訳(ST)を目的としています。音声入力は、畳み込みダウンサンプラーを使用して長さが3/4に縮小された後、エンコーダに入力されます。モデルは、標準的な自己回帰的な交差エントロピー損失でトレーニングされ、自己回帰的に文字起こし/翻訳を生成します。
📄 ライセンス
このモデルはMITライセンスの下で公開されています。
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},
}
情報テーブル
| 属性 | 详情 |
|------|------|
| モデルタイプ | エンドツーエンドの音声翻訳用Transformerモデル |
| トレーニングデータ | [MuST-C](https://ict.fbk.eu/must-c/) の英語-フランス語サブセット |