より高速なWhisper:高度な音声テキスト変換

CTranslate2 を使用した音声認識(Speech-to-Text)の革新:「faster-whisper」

急速に進化する人工知能(AI)の世界において、効率的で精度の高い音声認識(STT)技術は不可欠です。SYSTRAN の「faster-whisper」プロジェクトは、OpenAI の著名な Whisper モデルを CTranslate2 推論エンジンで再実装した、強力なオープンソースソリューションとして登場しました。この戦略的な選択により、パフォーマンスが大幅に向上し、開発者と研究者の両方にとって魅力的な選択肢となっています。

Faster Whisper の主な利点

「faster-whisper」の核心となるイノベーションは、速度とリソース管理の最適化にあります。元の OpenAI 実装と比較して最大 4 倍速い文字起こし速度を誇りながら、同時に必要なメモリ量を削減しています。この効率性は、CPU と GPU の両方に適用できる 8 ビット量子化によってさらに強化されており、カスタマイズ可能なパフォーマンスプロファイルを提供します。

パフォーマンスベンチマーク:

その能力を実証するために、「faster-whisper」は、openai/whisperwhisper.cpp、Hugging Face transformers といった他のさまざまな実装とのパフォーマンスを比較する詳細なベンチマークを提供しています。これらのベンチマークは顕著な改善を示しています。

  • GPU パフォーマンス: GPU 上で、FP16 精度を使用した「faster-whisper」は、他の代替手段よりも大幅に高速に文字起こしを完了します。INT8 量子化を使用すると、その利点はさらに顕著になり、VRAM 使用量を劇的に削減します。
  • CPU パフォーマンス: CPU で実行する場合でも、「faster-whisper」は、特に INT8 量子化とバッチ処理を利用する場合、競争力のある速度とメモリ効率を提供します。

インストールとセットアップ

「faster-whisper」の利用開始は簡単です。主な要件は Python 3.9 以降です。他の STT ソリューションとは異なり、オーディオデコーディングは PyAV ライブラリによって処理されるため、FFmpeg をシステムに別途インストールする必要はありません。

GPU 要件: GPU アクセラレーションの場合、ユーザーは CUDA 12 および cuDNN 9 用の cuBLAS など、NVIDIA ライブラリを必要とします。プロジェクトは、さまざまな CUDA バージョン向けの回避策や、Linux での Docker または pip ベースのインストールの推奨事項を含む、これらの依存関係のインストールに関する明確なガイダンスを提供しています。

Pip を使用したインストール:

pip install faster-whisper

マスターブランチまたは特定のコミットから直接インストールするなど、より高度なインストール方法も利用可能です。

使用方法と機能

「faster-whisper」をプロジェクトに統合するのは直感的です。WhisperModel クラスは、さまざまなモデルサイズ(例: large-v3)で初期化できます。実行デバイス(cuda または cpu)と計算タイプ(float16int8_float16int8)を指定できます。

from faster_whisper import WhisperModel

model_size = "large-v3"
model = WhisperModel(model_size, device="cuda", compute_type="float16")

segments, info = model.transcribe("audio.mp3", beam_size=5)

for segment in segments:
    print(f"[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))

高度な機能:

  • バッチ文字起こし: 複数のオーディオファイルを同時に処理するために、BatchedInferencePipeline はバッチを効率的に処理する方法を提供します。
  • VAD フィルター: Silero VAD(音声活動検出)が統合されており、音声以外のセグメントをフィルタリングし、文字起こしの精度を向上させ、処理時間を短縮します。この機能は、さまざまなパラメータでカスタマイズできます。
  • 単語レベルのタイムスタンプ: ライブラリは、個々の単語の正確なタイムスタンプの生成をサポートします。
  • Distil-Whisper 互換性: 「faster-whisper」は、さらに高速な推論のために、distil-large-v3 を含む Distil-Whisper モデルとシームレスに連携します。

モデル変換

「faster-whisper」は、カスタムまたはファインチューニングされた Whisper モデルの使用を容易にします。提供されているスクリプトにより、Transformers ライブラリと互換性のあるモデルを CTranslate2 フォーマットに変換できます。これにより、Hugging Face Hub 名またはローカルディレクトリから直接モデルをロードできます。

ct2-transformers-converter --model openai/whisper-large-v3 --output_dir whisper-large-v3-ct2 \n--copy_files tokenizer.json preprocessor_config.json --quantization float16

コミュニティと統合

「faster-whisper」エコシステムは活気に満ちており、多数のコミュニティプロジェクトがその機能を利用しています。注目すべき統合には以下が含まれます。

  • speaches: faster-whisper 用の OpenAI 互換サーバー。
  • WhisperX: 話者ダイアライゼーションと正確な単語レベルのタイムスタンプのためのライブラリ。
  • whisper-ctranslate2: 元の Whisper CLI をミラーリングするコマンドラインクライアント。
  • Whisper-Streaming & WhisperLive: リアルタイムおよびニアリアルタイムの文字起こしの実装。

「faster-whisper」は、効率的で正確な音声認識機能が必要なすべての人にとって、高度に最適化された汎用性の高いオープンソースツールとして際立っています。その積極的な開発と強力なコミュニティサポートにより、継続的な関連性と改善が保証されます。

この記事を共有