🚀 Parakeet CTC 0.6B (en)
parakeet-ctc-0.6b
は、英語の音声を小文字のアルファベットで文字起こしする自動音声認識(ASR)モデルです。このモデルは、NVIDIA NeMoとSuno.aiのチームによって共同開発されました。これはFastConformer CTC [1]のXLバージョン(約6億個のパラメータ)のモデルです。完全なアーキテクチャの詳細については、モデルアーキテクチャセクションとNeMoドキュメントを参照してください。
🚀 クイックスタート
モデルのトレーニング
モデルをトレーニング、ファインチューニング、または操作するには、NVIDIA NeMoをインストールする必要があります。最新バージョンのPyTorchをインストールした後に、NeMoをインストールすることをおすすめします。
pip install nemo_toolkit['all']
モデルの使用方法
このモデルはNeMoツールキット [3] で使用でき、推論や別のデータセットでのファインチューニングのための事前学習済みチェックポイントとして利用できます。
基本的な使用法
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecCTCModelBPE.from_pretrained(model_name="nvidia/parakeet-ctc-0.6b")
高度な使用法
Pythonを使用した文字起こし
まず、サンプル音声ファイルを取得します。
wget https://dldata-public.s3.us-east-2.amazonaws.com/2086-149220-0033.wav
次に、以下のコマンドで文字起こしを行います。
asr_model.transcribe(['2086-149220-0033.wav'])
複数の音声ファイルの文字起こし
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py
pretrained_name="nvidia/parakeet-ctc-0.6b"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
入力
このモデルは、16000 Hzのモノラルチャンネルの音声(wavファイル)を入力として受け付けます。
出力
このモデルは、与えられた音声サンプルに対して文字起こしされた音声を文字列として提供します。
✨ 主な機能
- 英語の音声を小文字のアルファベットで高精度に文字起こしします。
- FastConformer CTCアーキテクチャを採用し、効率的な音声認識を実現します。
- NeMoツールキットでの使用が容易で、トレーニングやファインチューニングが可能です。
📦 インストール
モデルを使用するためには、NVIDIA NeMoをインストールする必要があります。最新バージョンのPyTorchをインストールした後に、以下のコマンドでNeMoをインストールします。
pip install nemo_toolkit['all']
💻 使用例
基本的な使用法
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecCTCModelBPE.from_pretrained(model_name="nvidia/parakeet-ctc-0.6b")
高度な使用法
Pythonを使用した文字起こし
import os
os.system('wget https://dldata-public.s3.us-east-2.amazonaws.com/2086-149220-0033.wav')
transcription = asr_model.transcribe(['2086-149220-0033.wav'])
print(transcription)
複数の音声ファイルの文字起こし
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py
pretrained_name="nvidia/parakeet-ctc-0.6b"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
📚 ドキュメント
モデルアーキテクチャ
FastConformer [1] は、Conformerモデルの最適化バージョンで、8倍の深度分離畳み込みダウンサンプリングを備えています。このモデルはCTC損失を使用してトレーニングされています。FastConformerの詳細については、Fast-Conformer Modelを参照してください。
トレーニング
NeMoツールキット [3] を使用して、数百エポック以上にわたってモデルをトレーニングしました。これらのモデルは、このサンプルスクリプト と この基本設定 を使用してトレーニングされています。
データセット
このモデルは、NVIDIA NeMoとSunoチームによって収集および準備された64,000時間の英語の音声データでトレーニングされています。トレーニングデータセットは、40,000時間の英語音声のプライベートサブセットと、以下の公開データセットからの24,000時間のデータで構成されています。
- 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時間のサブセット
性能
自動音声認識モデルの性能は、単語誤り率(Word Error Rate, WER)を使用して測定されます。このデータセットは複数のドメインとより大規模なコーパスでトレーニングされているため、一般的に音声の文字起こしにおいて良好な性能を発揮します。
以下の表は、このコレクション内の利用可能なモデルのCTCデコーダーによる性能をまとめたものです。ASRモデルの性能は、貪欲デコーディングによる単語誤り率(WER%)で報告されています。
バージョン |
トークナイザー |
語彙サイズ |
AMI |
Earnings-22 |
Giga Speech |
LS test-clean |
SPGI Speech |
TEDLIUM-v3 |
Vox Populi |
Common Voice |
1.22.0 |
SentencePiece Unigram |
1024 |
16.30 |
14.14 |
10.35 |
1.87 |
3.76 |
4.11 |
3.78 |
7.00 |
これらは外部言語モデルを使用しない貪欲なWERの数値です。評価の詳細については、HuggingFace ASR Leaderboard を参照してください。
NVIDIA Rivaによるデプロイメント
NVIDIA Riva は、オンプレミス、すべてのクラウド、マルチクラウド、ハイブリッド、エッジ、および組み込み環境でデプロイ可能な高速化された音声AI SDKです。また、Rivaは以下の機能を提供します。
- 数十万時間のGPUコンピューティング時間で独自データを使用してトレーニングされたモデルチェックポイントによる、最も一般的な言語の世界クラスの精度
- ランタイムでの単語ブースト(例:ブランド名や製品名)、および音響モデル、言語モデル、逆テキスト正規化のカスタマイズによる最高水準の精度
- ストリーミング音声認識、Kubernetes互換のスケーリング、およびエンタープライズグレードのサポート
このモデルは現時点ではRivaでサポートされていませんが、サポートされているモデルのリストはこちら です。Rivaのライブデモ もチェックしてみてください。
🔧 技術詳細
モデルアーキテクチャ
FastConformer [1] は、Conformerモデルの最適化バージョンで、8倍の深度分離畳み込みダウンサンプリングを備えています。このモデルはCTC損失を使用してトレーニングされています。FastConformerの詳細については、Fast-Conformer Modelを参照してください。
トレーニング
NeMoツールキット [3] を使用して、数百エポック以上にわたってモデルをトレーニングしました。これらのモデルは、このサンプルスクリプト と この基本設定 を使用してトレーニングされています。
📄 ライセンス
このモデルを使用するためのライセンスは、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
[4] Suno.ai
[5] HuggingFace ASR Leaderboard