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 上的吞吐量。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案