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