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을 원하지 않거나, 최대 CPU/GPU 성능과 낮은 메모리 오버헤드가 필요한 프로덕션 환경에서 NVIDIA Parakeet ASR 모델을 배포해야 하는 개발자 및 엔지니어를 위한 것입니다.

주요 특징

  • 고성능: CPU 및 GPU 모두에서 NeMo의 PyTorch 런타임보다 빠르며, 바이트 수준에서 동일한 전사 결과를 제공합니다.
  • 광범위한 모델 지원: 모든 오프라인 Parakeet 패밀리를 커버하며, 다국어 및 프롬프트 조건부 스트리밍 모델도 지원합니다.
  • 낮은 의존성: C++17로 작성되었으며, 추론 시 Python이 필요하지 않습니다.
  • 유연한 배포: CLI, OpenAI 호환 HTTP 서버, 그리고 다른 애플리케이션에 직접 통합할 수 있는 C-API를 제공합니다.
  • 하드웨어 가속: ggml를 통해 CUDA, Metal, Vulkan, CPU 백엔드를 지원합니다.
  • 배치 처리: GPU에서 처리량을 크게 향상시키기 위해 선택적 배치 디코딩 경로를 포함합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트