🚀 NVIDIA FastConformer-Hybrid Large (be)
このモデルは、白ロシア語の大文字と小文字のアルファベット、空白、句点、コンマ、疑問符を含む音声を文字起こしします。FastConformer Transducer - CTC の「ラージ」バージョン(約 1 億 1500 万のパラメータ)で、Transducer(デフォルト)と CTC の 2 つの損失関数で学習されたハイブリッドモデルです。詳細なアーキテクチャについては、モデルアーキテクチャセクションとNeMo ドキュメントを参照してください。
|
|
| 
🚀 クイックスタート
このモデルを使用するには、まず NVIDIA NeMo をインストールする必要があります。最新の Pytorch バージョンをインストールした後に NeMo をインストールすることをおすすめします。
pip install nemo_toolkit['all']
✨ 主な機能
- 白ロシア語の音声を文字起こしし、大文字と小文字のアルファベット、空白、句点、コンマ、疑問符を含むテキストを出力します。
- FastConformer Transducer - CTC の「ラージ」バージョンで、約 1 億 1500 万のパラメータを持ちます。
- Transducer と CTC の 2 つの損失関数で学習されたハイブリッドモデルです。
📦 インストール
pip install nemo_toolkit['all']
💻 使用例
基本的な使用法
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecHybridRNNTCTCBPEModel.from_pretrained(model_name="nvidia/stt_be_fastconformer_hybrid_large_pc")
高度な使用法
音声ファイルの取得
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)
複数の音声ファイルの文字起こし(Transducer モード)
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py
pretrained_name="nvidia/stt_be_fastconformer_hybrid_large_pc"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
複数の音声ファイルの文字起こし(CTC モード)
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py
pretrained_name="nvidia/stt_be_fastconformer_hybrid_large_pc"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
decoder_type="ctc"
📚 ドキュメント
入力
このモデルは、16000 Hz のモノラルチャンネル音声(wav ファイル)を入力として受け付けます。
出力
このモデルは、与えられた音声サンプルに対して文字起こしされた音声を文字列として提供します。
モデルアーキテクチャ
FastConformer [1] は、8 倍の深さ方向分離畳み込みダウンサンプリングを持つ Conformer モデルの最適化バージョンです。このモデルは、結合 Transducer と CTC デコーダ損失を使用したマルチタスク設定で学習されています。FastConformer の詳細については、Fast - Conformer Model および Hybrid Transducer - CTC 学習については、Hybrid Transducer - CTC を参照してください。
学習
NeMo ツールキット [3] を使用して、数百エポック以上の学習を行いました。これらのモデルは、このサンプルスクリプトとこの基本設定で学習されています。
これらのモデルのトークナイザーは、学習セットのテキストトランスクリプトを使用して、このスクリプトで構築されました。
データセット
このコレクションのすべてのモデルは、1500 時間の白ロシア語の音声からなる MCV12 BY コーパスで学習されています。
性能
自動音声認識モデルの性能は、単語誤り率(Word Error Rate)を使用して測定されます。このデータセットは複数のドメインとより大きなコーパスで学習されているため、一般的に音声の文字起こしにおいて良好な性能を発揮します。
以下の表は、このコレクションで利用可能なモデルの Transducer デコーダによる性能をまとめたものです。ASR モデルの性能は、貪欲復号化による単語誤り率(WER%)で報告されています。
a) 句読点と大文字を含まないデータでの Transducer デコーダによる性能
Version |
Tokenizer |
Vocabulary Size |
MCV12 DEV |
MCV12 TEST |
1.18.0 |
SentencePiece Unigram |
1024 |
2.68 |
2.72 |
b) 句読点と大文字を含むデータでの Transducer デコーダによる性能
Version |
Tokenizer |
Vocabulary Size |
MCV12 DEV |
MCV12 TEST |
1.18.0 |
SentencePiece Unigram |
1024 |
3.84 |
3.87 |
制限事項
このモデルは公開されている音声データセットで学習されているため、モデルが学習していない技術用語や方言を含む音声の文字起こしでは性能が低下する可能性があります。また、アクセントのある音声に対しても性能が低下する場合があります。このモデルは '.', ',', '?'
の句読点のみを出力するため、他の句読点が必要なシナリオではうまく機能しない可能性があります。
NVIDIA Riva へのデプロイ
NVIDIA Riva は、オンプレミス、すべてのクラウド、マルチクラウド、ハイブリッド、エッジ、組み込み環境でデプロイ可能な高速化された音声 AI SDK です。
さらに、Riva は以下の機能を提供します。
- 数十万時間の GPU コンピュート時間で独自データを使用して学習されたモデルチェックポイントを備え、最も一般的な言語に対して世界クラスの精度を提供します。
- ランタイムでの単語ブースト(例:ブランド名や製品名)、音響モデル、言語モデル、逆テキスト正規化のカスタマイズにより、クラス最高の精度を実現します。
- ストリーミング音声認識、Kubernetes 互換のスケーリング、エンタープライズグレードのサポートを提供します。
このモデルはまだ Riva でサポートされていませんが、サポートされているモデルのリストはこちらです。Riva のライブデモもチェックしてみてください。
🔧 技術詳細
FastConformer は、8 倍の深さ方向分離畳み込みダウンサンプリングを持つ Conformer モデルの最適化バージョンです。このモデルは、結合 Transducer と CTC デコーダ損失を使用したマルチタスク設定で学習されています。詳細については、Fast - Conformer Model および Hybrid Transducer - CTC を参照してください。
📄 ライセンス
このモデルを使用するためのライセンスは、CC - BY - 4.0 によってカバーされています。モデルの公開およびリリースバージョンをダウンロードすることで、CC - BY - 4.0 ライセンスの条件に同意したことになります。
参考文献
[1] Fast Conformer with Linearly Scalable Attention for Efficient Speech Recognition
[2] Google Sentencepiece Tokenizer
[3] NVIDIA NeMo Toolkit