🚀 Parakeet TDT-CTC 110M PnC(en)
parakeet-tdt_ctc-110m
は、英語のアルファベットの句読点と大文字小文字を含む音声を文字起こしする自動音声認識(ASR)モデルです。このモデルは、NVIDIA NeMoとSuno.aiのチームによって共同開発されました。これは、ハイブリッドFastConformer [1] TDT-CTC [2]の大規模バージョン(約1億1400万のパラメータ)のモデルです。このモデルは、完全な注意機構を持つFastConformerアーキテクチャで学習されており、一度に最大20分の音声を文字起こしすることができます。このモデルは、すべてのデータセットで非常に高速なRTFx値を達成し、A100でのHugging Faceリーダーボード評価セットで平均RTFxが約5300です。完全なアーキテクチャの詳細については、モデルアーキテクチャセクションとNeMoドキュメントを参照してください。
🚀 クイックスタート
NVIDIA NeMoのインストール
モデルを学習、ファインチューニング、または操作するには、NVIDIA NeMoをインストールする必要があります。最新バージョンのPyTorchをインストールした後に、NeMoをインストールすることをお勧めします。
pip install nemo_toolkit['all']
モデルの使用方法
このモデルは、NeMoツールキット [3] で使用でき、推論や別のデータセットでのファインチューニングのための事前学習済みチェックポイントとして利用できます。
✨ 主な機能
- 英語の音声に対する高精度な文字起こし
- 最大20分の音声を一度に文字起こし可能
- 高速なRTFx値を達成
📦 インストール
pip install nemo_toolkit['all']
💻 使用例
基本的な使用法
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.ASRModel.from_pretrained(model_name="nvidia/parakeet-tdt_ctc-110m")
高度な使用法
音声ファイルの文字起こし
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)
複数の音声ファイルの文字起こし
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py \
pretrained_name="nvidia/parakeet-tdt_ctc-110m" \
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
📚 ドキュメント
入力
このモデルは、16000 Hzのモノラルチャンネル音声(wavファイル)を入力として受け付けます。
出力
このモデルは、与えられた音声サンプルに対して文字起こしされた音声を文字列として提供します。
モデルアーキテクチャ
このモデルは、ハイブリッドFastConformer-TDT-CTCアーキテクチャを使用しています。FastConformer [1] は、Conformerモデルの最適化されたバージョンで、8倍の深さ方向分離畳み込みダウンサンプリングを備えています。FastConformerの詳細については、Fast-Conformer Model を参照してください。
学習
NeMoツールキット [3] を使用して、parakeet-tdt-1.1
モデルに対して20,000ステップのファインチューニングを行いました。このモデルは、このサンプルスクリプトとこの基本設定で学習されました。
これらのモデルのトークナイザーは、学習セットのテキストトランスクリプトを使用して、このスクリプトで構築されました。
データセット
このモデルは、NVIDIA NeMoとSunoチームによって収集および準備された36,000時間の英語の音声で学習されました。学習データセットは、27,000時間の英語の音声を含む非公開サブセットと、以下の公開PnCデータセットからの9,000時間で構成されています。
- Librispeech:960時間の英語の音声
- Fisher Corpus
- National Speech Corpus Part 1
- VCTK
- VoxPopuli (EN)
- Europarl-ASR (EN)
- Multilingual Librispeech (MLS EN) - 2,000時間のサブセット
- Mozilla Common Voice (v7.0)
性能
自動音声認識モデルの性能は、単語誤り率(Word Error Rate, WER)で測定されます。このデータセットは複数のドメインと非常に大規模なコーパスで学習されているため、一般的な音声の文字起こしにおいて良好な性能を発揮します。
バージョン |
トークナイザー |
語彙サイズ |
AMI |
Earnings-22 |
Giga Speech |
LS test-clean |
LS test-other |
SPGI Speech |
TEDLIUM-v3 |
Vox Populi |
2.0 |
BPE |
1024 |
15.88 |
12.42 |
10.52 |
2.4 |
5.2 |
2.54 |
4.16 |
6.91 |
これらは外部言語モデルを使用しない貪欲なWERの数値です。評価の詳細については、HuggingFace ASR Leaderboard を参照してください。
NVIDIA Rivaによるデプロイメント
NVIDIA Rivaは、オンプレミス、すべてのクラウド、マルチクラウド、ハイブリッド、エッジ、および組み込み環境でデプロイ可能な高速化された音声AI SDKです。また、Rivaは以下の機能を提供します。
- 独自のデータで数十万時間のGPUコンピューティング時間をかけて学習されたモデルチェックポイントによる、最も一般的な言語に対する世界クラスの精度
- 実行時の単語ブースト(例:ブランドや製品名)および音響モデル、言語モデル、逆テキスト正規化のカスタマイズによる最高クラスの精度
- ストリーミング音声認識、Kubernetes互換のスケーリング、およびエンタープライズグレードのサポート
このモデルはまだRivaでサポートされていませんが、サポートされているモデルのリストはこちらです。Rivaのライブデモもご覧ください。
🔧 技術詳細
このモデルは、ハイブリッドFastConformer-TDT-CTCアーキテクチャを採用しています。FastConformerは、Conformerモデルを最適化したもので、8倍の深さ方向分離畳み込みダウンサンプリングを備えています。これにより、高速かつ高精度な音声認識が可能となります。
📄 ライセンス
このモデルを使用するためのライセンスは、CC-BY-4.0に準拠しています。モデルの公開およびリリースバージョンをダウンロードすることで、CC-BY-4.0ライセンスの条件に同意したことになります。
参考文献
[1] Fast Conformer with Linearly Scalable Attention for Efficient Speech Recognition
[2] Efficient Sequence Transduction by Jointly Predicting Tokens and Durations
[3] Google Sentencepiece Tokenizer
[4] NVIDIA NeMo Toolkit
[5] Suno.ai
[6] HuggingFace ASR Leaderboard
[7] Towards Measuring Fairness in AI: the Casual Conversations Dataset