🚀 NVIDIA Streaming Conformer-Hybrid Large (en-US)
このコレクションには、大規模な英語音声データで学習された、複数のルックアヘッドをサポートするキャッシュ対応型FastConformer-Hybridの大規模版(約1億1400万パラメータ)が含まれています。これらのモデルはストリーミング自動音声認識(ASR)用に学習されており、様々なレイテンシ(0ms、80ms、480ms、1040ms)のストリーミングアプリケーションに使用できます。各ケースにおけるモデルの最悪レイテンシと平均レイテンシは、これらの数値の半分になります。詳細と評価結果については、こちら [5]を参照してください。
|
|
| 
🚀 クイックスタート
このモデルはNeMoツールキット [3] で使用可能で、ストリーミング用の事前学習済みチェックポイントとして、または別のデータセットでの微調整に使用できます。
まず、NVIDIA NeMo をインストールする必要があります。最新のPytorchバージョンをインストールした後に、以下のコマンドでインストールすることをおすすめします。
pip install nemo_toolkit['all']
✨ 主な機能
- 大規模な英語音声データで学習された、キャッシュ対応型FastConformer-Hybridの大規模版。
- 複数のルックアヘッドをサポートし、様々なレイテンシのストリーミングアプリケーションに使用可能。
- トランスデューサーとCTCデコーダのマルチタスク学習により、高精度な音声認識が可能。
📦 インストール
pip install nemo_toolkit['all']
💻 使用例
基本的な使用法
サンプル音声ファイルを取得します。
wget https://dldata-public.s3.us-east-2.amazonaws.com/2086-149220-0033.wav
次に、以下のPythonコードを実行して音声を文字起こしします。
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecHybridRNNTCTCBPEModel.from_pretrained(model_name="nvidia/stt_en_fastconformer_hybrid_large_streaming_multi")
asr_model.encoder.set_default_att_context_size([70,13])
asr_model.change_decoding_strategy(decoder_type='rnnt')
output = asr_model.transcribe(['2086-149220-0033.wav'])
print(output[0].text)
高度な使用法
複数の音声ファイルを文字起こしする
トランスデューサーモードでの推論:
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py \
pretrained_name="stt_en_fastconformer_hybrid_large_streaming_multi" \
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
CTCモードでの推論:
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py \
pretrained_name="stt_en_fastconformer_hybrid_large_streaming_multi" \
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>" \
decoder_type="ctc"
異なるルックアヘッドを設定するには、transcribe_speech.pyスクリプトのatt_context_sizeを以下のように設定します。
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py \
pretrained_name="stt_en_fastconformer_hybrid_large_streaming_multi" \
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>" \
att_context_size=[70,0]
att_context_sizeのサポートされる値: {[70,0]: 0ms, [70,1]: 80ms, [70,16]: 480ms, [70,33]: 1040ms}。
📚 ドキュメント
モデルアーキテクチャ
これらのモデルは、ストリーミングASR用に学習されたキャッシュ対応型のHybrid FastConfomerです。キャッシュ対応型モデルの詳細については、Cache-aware Streaming Conformer [5] を参照してください。
モデルは複数のルックアヘッドで学習されており、異なるレイテンシをサポートできます。異なるルックアヘッドを切り替える方法については、キャッシュ対応型モデルのドキュメントを参照してください。
FastConformer [4] はConformerモデル [1] の最適化バージョンで、FastConformerの詳細については、Fast-Conformer Model を参照してください。
モデルは、トランスデューサーとCTCデコーダの損失を用いたマルチタスク学習で訓練されています。Hybrid Transducer-CTC学習の詳細については、Hybrid Transducer-CTC を参照してください。トランスデューサーとCTCデコーダを切り替える方法についても、ドキュメントで確認できます。
学習
これらのモデルは、NeMoツールキット [3] を使用して数百エポック以上学習されました。学習には、このスクリプト と このベースコンフィグ が使用されました。これらのモデルのSentencePieceトークナイザー [2] は、学習セットのテキストトランスクリプトを使用して このスクリプト で構築されました。
データセット
このコレクション内のすべてのモデルは、数千時間の英語音声から構成される複合データセット(NeMo ASRSET)で学習されています。
- Librispeech 960時間の英語音声
- Fisher Corpus
- Switchboard-1 Dataset
- WSJ-0とWSJ-1
- National Speech Corpus (Part 1, Part 6)
- VCTK
- VoxPopuli (EN)
- Europarl-ASR (EN)
- Multilingual Librispeech (MLS EN) - 2,000時間サブセット
- Mozilla Common Voice (v7.0)
- People's Speech - 12,000時間サブセット
注: 古いバージョンのモデルは、より小規模なデータセットで学習されている場合があります。
パフォーマンス
このコレクションで利用可能なモデルのリストは、以下の表に示されています。ASRモデルのパフォーマンスは、貪欲復号化による単語誤り率(WER%)で報告されています。
トランスデューサーデコーダ
att_context_sizes |
LS test-other ([70,13]-1040ms) |
LS test-other ([70,6]-480ms) |
LS test-other ([70,1]-80ms) |
LS test-other ([70,0]-0s) |
学習データセット |
[[70,13],[70,6],[70,1],[70,0]] |
5.4 |
5.7 |
6.4 |
7.0 |
NeMo ASRSET 3.0 |
CTCデコーダ
att_context_sizes |
LS test-other ([70,13]-1040ms) |
LS test-other ([70,6]-480ms) |
LS test-other ([70,1]-80ms) |
LS test-other ([70,0]-0s) |
学習データセット |
[[70,13],[70,6],[70,1],[70,0]] |
6.2 |
6.7 |
7.8 |
8.4 |
NeMo ASRSET 3.0 |
入力
このモデルは、16000 KHzのモノラルチャンネルオーディオ(wavファイル)を入力として受け付けます。
出力
このモデルは、与えられたオーディオサンプルに対して、文字起こしされた音声を文字列として提供します。
🔧 技術詳細
これらのモデルは、キャッシュ対応型のFastConformer-Hybridアーキテクチャを使用しており、トランスデューサーとCTCデコーダのマルチタスク学習により訓練されています。キャッシュ対応型の設計により、ストリーミングアプリケーションでの低レイテンシの音声認識が可能です。また、複数のルックアヘッドをサポートすることで、異なるレイテンシの要求に対応できます。詳細については、Stateful Conformer with Cache-based Inference for Streaming Automatic Speech Recognition [5] を参照してください。
📄 ライセンス
このモデルはCC BY 4.0ライセンスの下で提供されています。