16.9MB 경량 음성인식 모델 Whistle 공개
원제 Whistle: Speech to Text in 16.9 MB
341 포인트댓글 79
Key Point
극도로 경량화한 음성인식 모델로 온디바이스 처리가 가능해져, 엣지 환경에서 사용할 수 있는 선택지가 생겼다.
핵심 요약
- Cactus Compute가 모바일, 웨어러블, 로봇, 스마트홈, 자동차, 마이크로컨트롤러용 음성인식 모델 Whistle을 공개했다.
- Whistle은 16.9MB 단일 파일로, CPU에서 의존성 없이 작동하며 기존 Needle 엔진과 같은 C++ 컨테이너에서 동작한다.
- 7개 언어(영어, 독일어, 프랑스어, 스페인어, 이탈리아어, 네덜란드어, 폴란드어) 지원하며, 최대 30초 음성을 온디바이스에서 처리한다.
- 전사(Transcription), 단어 타임스탬프(Word timestamps), 음성 임베딩(Speech embedding) 세 가지 작업을 수행한다.
- 인코더 8개, 디코더 8개의 Simple Attention 블록으로 구성되며, Monarch Hadamard MLP와 gated cross attention을 사용한다.
- LibriSpeech와 SPGISpeech, Earnings-22, FLEURS에서 Whisper base보다 좋은 단어 오류율(WER)을 달성했다.
- 첫 토큰까지 11.1ms, 초당 1,319개 토큰 디코딩 속도로 Apple M4 Pro CPU에서 측정했다.
- Whisper base는 145.3MB, Moonshine tiny v2는 41.9MB로 Whistle이 크기 면에서 압도적으로 작다.
- 동일한 엔진으로 음성, 텍스트, 음성+텍스트 모델을 로드 가능하며, 마이크로폰 입력, 키워드 바이어싱, 언어 강제 지정을 지원한다.
- Python pip 설치 후 needle.transcribe("clip.wav") 한 줄로 사용 가능하다.
- macOS, Linux, Android, iOS, watchOS, Windows ARM, RISC-V, MIPS, 브라우저, WASI 등 17개 플랫폼용 바이너리를 제공한다.
- 가중치는 Hugging Face에, 엔진과 소스코드는 GitHub의 Cactus-Compute/needle3에서 공개했다.