Saltar al contenido principal

Cómo mejorar el rendimiento

Las plataformas Windows utilizan Vulkan para la aceleración por GPU, lo que acelera significativamente el proceso de reconocimiento. En otras plataformas, el plugin utiliza la CPU + intrinsics para la aceleración. Sin embargo, puedes mejorar aún más el rendimiento del plugin siguiendo las recomendaciones a continuación:

  1. Disminuir el Tamaño de Paso

    Por defecto, el tamaño de paso es de 5000 ms (5 segundos), lo que significa que los datos de audio se reconocen cada 5 segundos durante la captura. Si deseas reconocer los datos de audio con más frecuencia, puedes disminuir el tamaño de paso, por ejemplo, a 500 ms (0.5 segundos).

  2. Usar un Modelo de Lenguaje Más Pequeño

    Puedes considerar usar un modelo de lenguaje más pequeño, como Tiny Quantized (Q5_1), para reducir el tamaño del modelo y mejorar el rendimiento. Las instrucciones sobre cómo seleccionar un modelo de lenguaje se pueden encontrar aquí.

  3. Modificar Conjuntos de Instrucciones de CPU

    La biblioteca subyacente utilizada en el plugin es whisper.cpp, que utiliza conjuntos de instrucciones de CPU para aumentar el rendimiento del reconocimiento. Actualmente, los conjuntos de instrucciones están codificados en el código del plugin y definidos por aproximación/probabilidad de tenerlos dependiendo de varios macros, debido a las limitaciones de UE para pasar las banderas del compilador. Puedes modificar manualmente el archivo SpeechRecognizerPrivate.h para definir los conjuntos de instrucciones que sean compatibles con tu plataforma objetivo. Aquí está la lista de conjuntos de instrucciones actualmente usados por whisper.cpp, los cuales puedes definir manualmente en el archivo 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. Usar Bibliotecas de Aceleración

    whisper.cpp puede acelerar el proceso de reconocimiento utilizando las siguientes bibliotecas: Core ML para dispositivos Apple Silicon, OpenVINO en dispositivos incluyendo CPUs x86 y GPUs Intel, Nvidia GPU Cuda en Windows o Linux, soporte BLAS para CPU a través de OpenBLAS, soporte BLAS para CPU a través de Intel MKL. Tenga en cuenta que estas bibliotecas no están incluidas en el plugin por defecto y necesita instalarlas manualmente, siguiendo las instrucciones de whisper.cpp.