mudler/parakeet.cpp

Parakeet implementation in C++ with ggml

解决的问题

parakeet.cpp 是 NVIDIA NeMo Parakeet 语音识别模型的高性能 C++ 推理移植版本。它在推理时无需 Python 运行时,提供一种依赖轻量的方案,可在 CPU 和 GPU 上快速运行自动语音识别(ASR)。

工作原理

基于 ggml 库构建,该项目实现了多种 Parakeet 模型系列(CTC、RNNT、TDT 和混合 TDT-CTC)的推理逻辑。支持 GGUF 格式模型,可通过提供的脚本将 NeMo 检查点转换而来。支持量化(f16、q8_0、q4_k 等)以减少内存占用并提升速度,并包含一个缓存感知的流式模式,支持特定模型的说话结束检测(EOU)。

适用人群

需要在不希望使用 Python 的生产环境中部署 NVIDIA Parakeet ASR 模型,或对 CPU/GPU 最大性能和低内存开销有严格要求的开发者和工程师。

主要亮点

  • 高性能:在 CPU 和 GPU 上均比 NeMo 的 PyTorch 运行时更快,输出结果与原始模型字节完全一致。
  • 广泛模型支持:覆盖所有离线 Parakeet 系列,并支持多语言、提示条件流式模型。
  • 低依赖性:使用 C++17 编写,推理时无需 Python 依赖。
  • 灵活部署:提供 CLI、OpenAI 兼容 HTTP 服务器,以及可直接集成到其他应用的 C-API。
  • 硬件加速:通过 ggml 支持 CUDA、Metal、Vulkan 和 CPU 后端。
  • 批处理:包含可选的批处理解码路径,可显著提升 GPU 上的吞吐量。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目