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 上的吞吐量。
相关
- 项目
- 项目
- 项目
- 项目
- 项目