メインコンテンツまでスキップ

パフォーマンスを向上させる方法

Windowsプラットフォームでは、GPU加速のためにVulkanを使用しており、認識プロセスを大幅に高速化します。他のプラットフォームでは、プラグインはCPU + 分枝命令を使用して加速しています。しかし、以下の推奨事項に従うことで、さらにプラグインのパフォーマンスを向上させることができます:

  1. ステップサイズを減少させる

    デフォルトでは、ステップサイズは5000 ms(5秒)です。つまり、キャプチャ中の音声データは5秒ごとに認識されます。音声データをより頻繁に認識したい場合は、ステップサイズを500 ms(0.5秒)などに減少させることができます。

  2. より小さい言語モデルを使用する

    Tiny Quantized (Q5_1)のようなより小さい言語モデルを使用することを検討できます。これにより、モデルサイズを減少させ、パフォーマンスを向上させることができます。言語モデルの選択方法に関する指示はこちらで見つけることができます。

  3. CPU命令セットを変更する

    プラグインで使用される基盤ライブラリはwhisper.cppで、認識のパフォーマンスを向上させるためにCPU命令セットを使用します。現在、命令セットはプラグイン内のコードでハードコードされ、様々なマクロに基づいてそれらを持っている可能性で定義されています。これはUEがコンパイラフラグを渡す制限のためです。あなたのターゲットプラットフォームでサポートされている命令セットを定義するように、SpeechRecognizerPrivate.hファイルを手動で修正できます。以下は、whisper.cppで現在使用されている命令セットで、SpeechRecognizerPrivate.hファイルで手動で定義できるリストです:

    • AVX and AVX2 Family:

      • __AVX__
      • __AVXVNNI__
      • __AVX2__
      • __AVX512F__
      • __AVX512VBMI__
      • __AVX512VNNI__
      • __AVX512BF16__
    • Floating-Point and SIMD Extensions:

      • __FMA__
      • __F16C__
      • __SSE3__
      • __SSSE3__
    • ARM Architecture Extensions:

      • __ARM_NEON
      • __ARM_FEATURE_SVE
      • __ARM_FEATURE_FMA
      • __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
      • __ARM_FEATURE_MATMUL_INT8
    • POWER Architecture Extensions:

      • __POWER9_VECTOR__
  4. アクセラレーションライブラリを使用する

    whisper.cpp は、以下のライブラリを使用して認識プロセスを高速化できます:Apple Silicon デバイス用 Core MLx86 CPU と Intel GPU を含むデバイス用 OpenVINOWindows または Linux 上の Nvidia GPU CudaOpenBLAS 経由の BLAS CPU サポートIntel MKL 経由の BLAS CPU サポート。これらのライブラリはデフォルトでプラグインに含まれていないため、whisper.cpp の指示に従って手動でインストールする必要があります。