如何提高性能
Windows平台使用Vulkan进行GPU加速,这显著加快了识别过程。在其他平台上,插件使用CPU + 内在函数进行加速。不过,您可以通过以下建议进一步提高插件的性能:
-
减小步长 默认情况下,步长为5000毫秒(5秒),这意味着在捕获过程中每5秒识别一次音频数据。如果您希望更频繁地识别音频数据,可以减少步长,例如缩小到500毫秒(0.5秒)。
-
使用较小的语言模型
您可以考虑使用较小的语言模型,例如
Tiny Quantized (Q5_1)
,以减小模型大小并提高性能。有关如何选择语言模型的指南可以在这里找到。 -
更改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__
-
-
使用加速库
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 的说明手动安装它们。