🚀 NVIDIA Conformer-CTC Large (de)
このモデルは、自動音声認識(Automatic Speech Recognition)を行うためのモデルで、ドイツ語の音声を文字起こしします。Conformer-CTCアーキテクチャを採用し、数千時間のドイツ語音声データで学習されています。NVIDIA Rivaとの互換性も備えており、本番環境でのデプロイに適しています。
🚀 クイックスタート
このモデルはNeMoツールキットで使用できます。まずはNeMoをインストールしましょう。最新のPyTorchバージョンをインストールした後、以下のコマンドでNeMoをインストールします。
pip install nemo_toolkit['all']
モデルの自動インスタンス化
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecCTCModelBPE.from_pretrained("nvidia/stt_de_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_de_conformer_ctc_large"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
入力
このモデルは、16000 kHzのモノラルチャンネルの音声ファイル(wav形式)を入力として受け付けます。
出力
このモデルは、与えられた音声サンプルに対して、文字起こしされた文字列を出力します。
✨ 主な機能
- 自動音声認識(Automatic Speech Recognition)を行うことができます。
- Conformer-CTCアーキテクチャを採用しています。
- 数千時間のドイツ語音声データで学習されています。
- NVIDIA Rivaとの互換性があり、本番環境でのデプロイに適しています。
📦 インストール
最新のPyTorchバージョンをインストールした後、以下のコマンドでNeMoをインストールします。
pip install nemo_toolkit['all']
💻 使用例
基本的な使用法
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecCTCModelBPE.from_pretrained("nvidia/stt_de_conformer_ctc_large")
高度な使用法
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py
pretrained_name="nvidia/stt_de_conformer_ctc_large"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
📚 ドキュメント
モデルアーキテクチャ
Conformer-CTCモデルは、自動音声認識用のConformerモデルの非自己回帰型バリアントです。Transducerの代わりにCTC損失/デコーディングを使用しています。このモデルの詳細については、Conformer-CTC Modelを参照してください。
学習
NeMoツールキット [3] を使用して、数百エポック以上の学習を行いました。これらのモデルは、この サンプルスクリプト とこの 基本設定 を使用して学習されています。
これらのモデルのトークナイザーは、学習セットのテキストトランスクリプトを使用して、この スクリプト で構築されています。
データセット
このコレクションのすべてのモデルは、数千時間の英語音声を含む複合データセット(NeMo ASRSET)で学習されています。
- VoxPopuli (DE)
- Multilingual Librispeech (MLS DE) - 1500時間のサブセット
- Mozilla Common Voice (v7.0)
注: 古いバージョンのモデルは、より少ないデータセットで学習されている場合があります。
性能
このコレクションで利用可能なモデルのリストは、次の表に示されています。ASRモデルの性能は、貪欲デコーディングによる単語誤り率(WER%)で報告されています。
バージョン |
トークナイザー |
語彙サイズ |
MCV7.0 dev |
MCV7.0 test |
MLS dev |
MLS test |
Voxpopuli dev |
Voxpopuli test |
1.5.0 |
SentencePiece Unigram |
128 |
5.84 |
6.68 |
3.85 |
4.63 |
12.56 |
10.51 |
制限事項
このモデルは公開されている音声データセットで学習されているため、技術用語やモデルが学習していない方言を含む音声に対しては、性能が低下する可能性があります。また、アクセントのある音声に対しても、性能が低下する可能性があります。
NVIDIA Rivaを使用したデプロイ
最高のリアルタイム精度、レイテンシ、スループットを得るために、このモデルを NVIDIA Riva でデプロイしましょう。NVIDIA Rivaは、オンプレミス、すべてのクラウド、マルチクラウド、ハイブリッド、エッジ、組み込み環境でデプロイ可能な高速化された音声AI SDKです。
また、Rivaは以下の機能を提供します。
- 数十万のGPUコンピュート時間で独自データを使用して学習されたモデルチェックポイントを備え、最も一般的な言語に対して世界クラスの即時精度を提供します。
- ランタイムでの単語ブースト(例: ブランド名や製品名)や、音響モデル、言語モデル、逆テキスト正規化のカスタマイズにより、最高クラスの精度を実現します。
- ストリーミング音声認識、Kubernetes互換のスケーリング、エンタープライズグレードのサポートを提供します。
Rivaのライブデモ をチェックしてみてください。
🔧 技術詳細
モデルアーキテクチャ
Conformer-CTCモデルは、自動音声認識用のConformerモデルの非自己回帰型バリアントです。Transducerの代わりにCTC損失/デコーディングを使用しています。このモデルの詳細については、Conformer-CTC Modelを参照してください。
学習
NeMoツールキット [3] を使用して、数百エポック以上の学習を行いました。これらのモデルは、この サンプルスクリプト とこの 基本設定 を使用して学習されています。
これらのモデルのトークナイザーは、学習セットのテキストトランスクリプトを使用して、この スクリプト で構築されています。
📄 ライセンス
このモデルは、CC BY 4.0ライセンスの下で公開されています。
参考文献