跳到主要内容

如何提高性能

Windows平台使用Vulkan进行GPU加速,这显著加快了识别过程。在其他平台上,插件使用CPU + 内在函数进行加速。不过,您可以通过以下建议进一步提高插件的性能:

  1. 减小步长 默认情况下,步长为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 CPU 和 Intel GPU 的设备Nvidia GPU Cuda 适用于 Windows 或 Linux通过 OpenBLAS 的 BLAS CPU 支持通过 Intel MKL 的 BLAS CPU 支持。请注意,这些库在插件中默认不包含,您需要按照 whisper.cpp 的说明手动安装它们。