🚀 NVIDIA Conformer-Transducer Large (Russian)
このモデルは、音声を空白を含む小文字のキリル文字に文字起こしし、約1636時間のロシア語の音声データで学習されています。Conformerの非自己回帰型の「大規模」バリアントで、約1億2000万のパラメータを持っています。完全なアーキテクチャの詳細については、モデルアーキテクチャセクションとNeMoドキュメントを参照してください。
|
|
| 
🚀 クイックスタート
このモデルはNeMoツールキット [3] で使用でき、推論用の事前学習済みチェックポイントとして、または別のデータセットでの微調整に使用できます。
モデルを学習、微調整、または試すには、NVIDIA NeMo をインストールする必要があります。最新バージョンのPyTorchをインストールした後にインストールすることをおすすめします。
pip install nemo_toolkit['all']
モデルの自動インスタンス化
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecRNNTBPEModel.from_pretrained("nvidia/stt_ru_conformer_transducer_large")
Pythonを使用した文字起こし
以下のように簡単に行えます。
output = asr_model.transcribe(['sample.wav'])
print(output[0].text)
多数の音声ファイルの文字起こし
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py
pretrained_name="nvidia/stt_ru_conformer_transducer_large"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
入力
このモデルは、16 kHzのモノラルチャンネル音声(wavファイル)を入力として受け付けます。
出力
このモデルは、与えられた音声サンプルに対して文字起こしされた音声を文字列として提供します。
✨ 主な機能
Conformer-Transducerモデルは、Transducer損失/デコードを使用する自動音声認識用のConformerモデル [1] の自己回帰型バリアントです。このモデルの詳細については、Conformer-Transducer Model で詳しく説明されています。
📦 インストール
モデルを使用するには、NeMoツールキットをインストールする必要があります。以下のコマンドを使用してインストールできます。
pip install nemo_toolkit['all']
💻 使用例
基本的な使用法
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecRNNTBPEModel.from_pretrained("nvidia/stt_ru_conformer_transducer_large")
output = asr_model.transcribe(['sample.wav'])
print(output[0].text)
高度な使用法
多数の音声ファイルを文字起こしする場合:
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py
pretrained_name="nvidia/stt_ru_conformer_transducer_large"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
📚 ドキュメント
モデルアーキテクチャ
Conformer-Transducerモデルは、自動音声認識用のConformerモデルの自己回帰型バリアントで、Transducer損失/デコードを使用しています。詳細については、Conformer-Transducer Model を参照してください。
学習
NeMoツールキット [3] を使用して、数百エポック以上の学習を行いました。これらのモデルは、このサンプルスクリプト と この基本設定 を使用して学習されています。
使用する語彙は33文字で構成されています。
[' ', 'а', 'б', 'в', 'г', 'д', 'е', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я']
前処理中に、濁点付きの稀な記号は置き換えられました。
これらのモデルのトークナイザーは、学習セットのテキスト文字起こしを使用して このスクリプト で構築されました。
データセット
このコレクションのすべてのモデルは、千時間以上のロシア語の音声から構成される複合データセット(NeMo ASRSET)で学習されています。
- Mozilla Common Voice 10.0 (Russian) - 学習サブセット [28時間]
- Golos - crowd [1070時間] と fairfield [111時間] サブセット
- Russian LibriSpeech (RuLS) [92時間]
- SOVA - RuAudiobooksDevices [260時間] と RuDevices [75時間] サブセット
性能
このコレクションで利用可能なモデルのリストを次の表に示します。ASRモデルの性能は、貪欲デコードによる単語誤り率(WER%)で報告されています。
バージョン |
トークナイザー |
語彙サイズ |
MCV 10.0 dev |
MCV 10.0 test |
GOLOS-crowd test |
GOLOS-farfield test |
RuLS test |
学習データセット |
1.13.0 |
SentencePiece Unigram |
1024 |
3.5 |
4.0 |
2.7 |
7.6 |
12.0 |
NeMo ASRSET |
制限事項
このモデルは公開されている音声データセットで学習されているため、技術用語やモデルが学習していない方言を含む音声に対しては性能が低下する可能性があります。アクセントのある音声に対しても性能が低下する場合があります。
NVIDIA Rivaでのデプロイ
NVIDIA Riva は、オンプレミス、すべてのクラウド、マルチクラウド、ハイブリッド、エッジ、および組み込み環境で展開可能な高速化された音声AI SDKです。
さらに、Rivaは以下の機能を提供します。
- 数十万時間のGPUコンピューティング時間で独自データを使用して学習されたモデルチェックポイントを備えた、最も一般的な言語に対する世界クラスの即時精度
- 実行時の単語ブースト(例:ブランドや製品名)と音響モデル、言語モデル、および逆テキスト正規化のカスタマイズによる最高クラスの精度
- ストリーミング音声認識、Kubernetes互換のスケーリング、およびエンタープライズグレードのサポート
このモデルはまだRivaでサポートされていませんが、サポートされているモデルのリストはこちら です。
Rivaのライブデモ もご覧ください。
📄 ライセンス
このモデルはCC BY 4.0ライセンスの下で提供されています。
🔧 技術詳細
参考文献