Перейти к основному содержимому

Как улучшить производительность

Платформы Windows используют Vulkan для ускорения работы GPU, что значительно ускоряет процесс распознавания. На других платформах плагин использует CPU + intrins для ускорения. Тем не менее, вы можете дополнительно улучшить производительность плагина, следуя рекомендациям ниже:

  1. Уменьшить Step Size По умолчанию шаг составляет 5000 мс (5 секунд), это значит, что аудиоданные распознаются каждые 5 секунд во время захвата. Если вы хотите распознавать аудиоданные чаще, вы можете уменьшить шаг, например, до 500 мс (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 может ускорить процесс распознавания, используя следующие библиотеки: Core ML для устройств Apple Silicon, OpenVINO на устройствах, включая процессоры x86 и графические процессоры Intel, Nvidia GPU Cuda на Windows или Linux, поддержка BLAS для CPU через OpenBLAS, поддержка BLAS для CPU через Intel MKL. Обратите внимание, что эти библиотеки по умолчанию не включены в плагин, и вам нужно установить их вручную, следуя инструкциям whisper.cpp.