NVIDIAのASRモデル「Parakeet」を試す
2025/4/8時点でHuggingFaceのASRリーダーボードのトップ。バリアントも上位にいる。NVIDIAの他のモデルもいて、この領域ではNVIDIAは強いのかも。
日本語が使えるモデルもあるようなので試してみる。
Parakeetについて
Parakeet
Parakeet は、FastConformer エンコーダーと CTC、RNN-T、または TDT デコーダーを備えた ASR モデルのファミリー名です。
モデルチェックポイント:
- Parakeet-TDT-0.6B V2
- このモデルは、執筆時点(2025年5月2日)で HuggingFace OpenASR リーダーボードのトップに位置しています。
- Parakeet-CTC-0.6B および Parakeet-CTC-1.1B
- Parakeet-RNNT-0.6B および Parakeet-RNNT-1.1B
- Parakeet-TDT-1.1B モデルカード
エンコーダーは同じだけどデコーダーが異なるモデルが複数用意されているみたい。モデルはHuggingFaceとNVIDIA NIMで公開されているが、提供形態で色々異なる。o3にまとめてもらったのが以下。
- Hugging Face Hub経由
- NeMo形式の学習済重み+モデルカード。開発者が再学習・微調整に使いやすい。
- 利用方法:
nemo_asr.models.ASRModel.from_pretrained()
などで直接ロード。コードに組み込みやすい。 - モデル
- TDT-0.6B-V2(英語, 単語タイムスタンプ対応) — 最新版で高速高精度。
- RNNT 0.6B / 1.1B — ストリーミング指向、高精度 XL/XXL。
- CTC 0.6B / 1.1B、TDT+CTC ハイブリッド、Japanese 版など。
- ライセンス: すべて CC-BY-4.0の様子
- NVIDIA NIM(NGC コンテナ)
- CUDA・TensorRT 最適化済み Docker イメージ。
-
docker run
で起動し gRPC/HTTP エンドポイント が即利用可能。 - Silero VAD、プロファイル自動選択、WSL2 対応イメージなどもあり。
- モデル
- parakeet-0-6b-ctc-en-us — 小型・WSL2 対応イメージあり。
- parakeet-1-1b-ctc-en-us — 大型 CTC 版、Silero VAD 組込。
- parakeet-1-1b-rnnt-multilingual — 25 言語対応 RNNT。
- ライセンス: コンテナは無償公開、ただし商用運用は NVIDIA AI Enterprise/NIM サブスクリプション が推奨。
で日本語が使えるモデルとなると以下の2つになる
nvidia/parakeet-tdt_ctc-0.6b-ja
Colaboratory T4で。モデルカードに従ってやってみる。
パッケージインストール。
!pip install nemo_toolkit['asr']
!pip freeze | grep -i nemo
nemo-toolkit==2.3.0
モデルをロード
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.ASRModel.from_pretrained(model_name="nvidia/parakeet-tdt_ctc-0.6b-ja")
エラー
ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
んー、Numpyと依存ライブラリでバージョンミスマッチが起きているのかな?色々やってみたけど、ダメだったので、ローカルでやり直し。
ローカルのUbuntu-22.04(RTX4090・CUDA-12.4)でやり直し。
uvで環境作成。
uv init -p 3.12.9 parakeet-ja-work && cd parakeet-ja-work
パッケージインストール
uv add nemo_toolkit['asr']
オーディオファイルは、自分が過去に開催した勉強会のYouTube動画から冒頭5分程度の音声を抜き出したをサンプルとして使う。
以下のスクリプトを実行。初回はモデルダウンロードに時間がかかる。
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.ASRModel.from_pretrained(model_name="nvidia/parakeet-tdt_ctc-0.6b-ja")
output = asr_model.transcribe(['voice_lunch_jp_5min.wav'])
print(output[0].text)
uv run asr.py
モデルのロードで約9秒、推論は1.3 5秒ととても高速。2025/05/27 不備があったため修正
じゃあ、始めます、ちょっとまだ来られてない方もいらっしゃるんですけど、ボイスランチ、jp始めます、皆さん、日曜日にお集まりいただきまして、ありがとうございます、きょう、久しぶりにオフラインということで、きょうはスペシャルなゲストをお2人、来ていただいておりますということで、きょうちょっとトピックにまいりますけれども、ボイススローの始業であるブレゼンリームさんと、あとセールスフォースのカムフラージュデザインのディレクターであるグレッグベネスさんに来ていただいてます。ということで、日本に来ていただいてありがとうございますときょうはちょっとこのお2人にまたあとでいろいろと聞こうというコーナーがありますので、そこでまたいろいろと聞きたいと思います。で、ボイスランチjpについてなんですけれども、ボイスランチはボイスuiとか、音声関連ですね、そういった技術に実際に携わっている人、もしくは興味がある人たちのためのグローバルなコミュニティーという形になっていて、ボイスランチの日本ビジョンという形ではボイスランチjpになってますと、過去もずっとやってますけど、オンライン、オンラインでいろんな音声のデザインだったり、技術だったりというところで、情報とかを共有して、みんなで業界を盛り上げていこうぜというようなことでやっております、きょうのハッシュタグですね、社屋ボイスランチjpでいろいろと自由にシェアしてください、あと会場ですね、今回、グライニカ様のご厚意で利用させていただいてます、ありがとうございます、ぜひこちらもシェアをお願いしたいですと、きょうと配信のところもいろいろとやっていただいてますので、非常に感謝しております、ちょっと今、ごめんなさい、今、コロナで会場に来られる方とかもあまりいないということで、されてないんですけれども、通常はなんかここでiot機器とか、ガジェットとかを展示されているようなので、そういったものがあるとき、今度、また体験してみていただければなと思っていますというところで、あとすみません、トイレがこちら、あとたばこ吸われる方はこちらのところになってますんで、よろしくお願いします。ということで、最初のあいさつはこれで、じゃあ、まず、私のほうのセッションからさせていただきますというところで、ボイスローアップデート2022というところで、ことしの新機能について、少しお話をします、自己紹介です、清水と申します、神戸でインフラのエンジニアをやってますので、ふだんはクバネ鉄とかエリベストとかテラホームとかをいじってまして、最近、ちょっとフリーランスになります、ちょっと調べてみたら、ボイススローを一番最初に始めたのが2019年の頭ぐらいなんで、大体4年弱ぐらいですね、いろいろと触ってまして、あと音声関連のコミュニティーのところでは、ボイスランチjp、今回のやつですね、以外に、ジャグ、アマゾン、アレクサ、ジャパンユーザーグループとか、あとボイススローの日本語ユーザーグループということで、vfjugというのをやっています日本コミュニティーのほうはフェイスブックのほうでやってますので、もしよろしければ、見ていただければなと思いますと、あと2年ぐらい前に、技術書店のほうで、ここにきょう、スタッフで来ていただいている皆さんと一緒に同人誌作ろうぜということで、作ったんですけれども、もうこれ、ちょっと2年ぐらいたって、中身がだいぶ古くなってしまっているので、すでにちょっと販売は終了しております、きょうちょっと持ってきたかったんですけど、すみません、忘れてしまいました、なので、こういうこともやっていますと。
想像してたよりもかなり良いのでは?
nvidia-smiの出力
Fri May 16 22:17:41 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.35.05 Driver Version: 560.35.05 CUDA Version: 12.6 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 4090 Off | 00000000:01:00.0 Off | Off |
| 0% 52C P0 77W / 450W | 7422MiB / 24564MiB | 50% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
MacならMLXで使うのが良さそう
商用で利用するならNIMのほうがいいのかもね。そういえば試したことがないな、またそのうち。
あとV日本語対応したV2が出て欲しいところ。