🚀 NVIDIA Conformer-CTC Large (es)
このモデルは、スペースを含む小文字のスペイン語アルファベットで音声を文字起こしします。1340時間のスペイン語音声からなる複合データセットで学習されています。Conformerの非自己回帰型の「大規模」バリアントで、約1億2000万のパラメータを持っています。完全なアーキテクチャの詳細については、モデルアーキテクチャセクションとNeMoドキュメントを参照してください。また、本番環境のサーバーデプロイメント用のNVIDIA Rivaと互換性があります。
|
|
|
|
|
🚀 クイックスタート
このモデルはNeMoツールキット [3] で使用でき、推論用の事前学習済みチェックポイントとして、または別のデータセットでの微調整に使用できます。
モデルを学習、微調整、または試すには、NVIDIA NeMo をインストールする必要があります。最新のPyTorchバージョンをインストールした後に、NeMoをインストールすることをお勧めします。
pip install nemo_toolkit['all']
✨ 主な機能
- スペースを含む小文字のスペイン語アルファベットでの音声文字起こし
- 1340時間のスペイン語音声からなる複合データセットで学習
- Conformerの非自己回帰型の「大規模」バリアント
- 約1億2000万のパラメータ
- NVIDIA Rivaとの互換性
📦 インストール
モデルを使用するには、以下のコマンドでNeMoツールキットをインストールします。
pip install nemo_toolkit['all']
💻 使用例
基本的な使用法
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecCTCModelBPE.from_pretrained("nvidia/stt_es_conformer_ctc_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_es_conformer_ctc_large"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
📚 ドキュメント
入力
このモデルは、16000 kHzのモノラルチャンネル音声(wavファイル)を入力として受け付けます。
出力
このモデルは、与えられた音声サンプルに対して文字起こしされた文字列を提供します。
モデルアーキテクチャ
Conformer-CTCモデルは、自動音声認識用のConformerモデル [1] の非自己回帰型バリアントで、Transducerの代わりにCTC損失/デコードを使用しています。このモデルの詳細については、Conformer-CTC Model を参照してください。
学習
これらのモデルは、NeMoツールキット [3] を使用して数百エポック以上学習されました。これらのモデルは、この サンプルスクリプト とこの 基本設定 を使用して学習されました。
これらのモデルのトークナイザーは、学習セットのテキストトランスクリプトを使用して、この スクリプト で構築されました。
ニューラルリスコアラーとして使用される言語モデルのチェックポイントは、ここ で見つけることができます。ASRモデルの言語モデルを学習および使用する方法の詳細については、ASR Language Modeling を参照してください。
データセット
このコレクションのすべてのモデルは、1340時間のスペイン語音声からなる複合データセット(NeMo ASRSET)で学習されています。
- Mozilla Common Voice 7.0(スペイン語) - データクリーニング後289時間
- Multilingual LibriSpeech(スペイン語) - データクリーニング後801時間
- Voxpopuli transcribed subset(スペイン語) - データクリーニング後110時間
- Fisher dataset(スペイン語) - データクリーニング後140時間
性能
このコレクションで利用可能なモデルのリストを以下の表に示します。ASRモデルの性能は、貪欲デコードによる単語誤り率(WER%)で報告されています。
Version |
Tokenizer |
Vocabulary Size |
MCV 7.0 Dev |
MCV 7.0 Test |
MLS Dev |
MLS Test |
Voxpopuli Dev |
Voxpopuli Test |
Fisher Dev |
Fisher Test |
Train Dataset |
1.8.0 |
SentencePiece Unigram |
1024 |
6.3 |
6.9 |
4.3 |
4.2 |
6.1 |
7.5 |
18.3 |
18.5 |
NeMo ASRSET 2.0 |
NVIDIA Riva でデプロイする場合、このモデルを外部の言語モデルと組み合わせることで、WERをさらに改善することができます。最新モデルの異なる言語モデリング手法によるWER(%)を以下の表に示します。
Language Modeling |
Training Dataset |
MCV 7.0 Dev |
MCV 7.0 Test |
MLS Dev |
MLS Test |
Voxpopuli Dev |
Voxpopuli Test |
Fisher Dev |
Fisher Test |
Comment |
N-gram LM |
Spanish News Crawl corpus (50M sentences) + NeMo ASRSET training transcripts |
5.0 |
5.5 |
3.6 |
3.6 |
5.5 |
6.7 |
17.4 |
17.5 |
N=4, beam_width=128, n_gram_alpha=0.8, n_gram_beta=1.5 |
制限事項
このモデルは公開されている音声データセットで学習されているため、モデルが学習していない技術用語や方言を含む音声に対しては、性能が低下する可能性があります。また、アクセントのある音声に対しても性能が低下する可能性があります。
NVIDIA Rivaによるデプロイメント
最高のリアルタイム精度、レイテンシ、およびスループットを実現するには、NVIDIA Riva でモデルをデプロイします。NVIDIA Rivaは、オンプレミス、すべてのクラウド、マルチクラウド、ハイブリッド、エッジ、および組み込み環境でデプロイ可能な高速化された音声AI SDKです。
さらに、Rivaは以下の機能を提供します。
- 数十万のGPUコンピュート時間で独自データを使用して学習されたモデルチェックポイントを備えた、最も一般的な言語に対する世界クラスの即時精度
- ランタイムの単語ブースト(例:ブランド名や製品名)と音響モデル、言語モデル、および逆テキスト正規化のカスタマイズによる最高クラスの精度
- ストリーミング音声認識、Kubernetes互換のスケーリング、およびエンタープライズグレードのサポート
Rivaのライブデモ をご覧ください。
🔧 技術詳細
Conformer-CTCモデルは、自動音声認識用のConformerモデル [1] の非自己回帰型バリアントで、Transducerの代わりにCTC損失/デコードを使用しています。このモデルは、1340時間のスペイン語音声からなる複合データセット(NeMo ASRSET)で学習されています。
📄 ライセンス
このモデルは、CC BY 4.0ライセンスの下で提供されています。
参考文献