Cactus Compute, 16.9MB 초경량 온디바이스 음성인식 모델 'Whistle' 공개... Whisper Base 대비 9배 작고 6배 빠르다
Cactus Compute가 16.9MB 단일 파일로 CPU에서 구동되는 초경량 온디바이스 음성-텍스트(STT) 모델 'Whistle'을 공식 출시했습니다. Whisper Base 대비 9배 가볍고 6배 빠른 처리 속도와 7개 언어 지원, 17개 플랫폼 이식성을 제공합니다.

이미지 출처: https://cactuscompute.com/blog/whistle
미국의 온디바이스 AI 연구 개발 스타트업 칵투스 컴퓨트(Cactus Compute)가 2026년 10월 2일, CPU 환경에서 별도의 외부 종속성 없이 독립 실행되는 16.9MB 크기의 초경량 음성-텍스트(STT) 오픈 모델 '위슬(Whistle)'을 공식 발표했습니다. 기존 온디바이스 음성인식의 사실상 표준인 오픈AI(OpenAI)의 위스퍼 베이스(Whisper Base) 대비 파일 크기를 약 9분의 1 수준으로 줄이고 처리 속도를 6배 끌어올린 것이 핵심입니다.
이번 릴리즈는 스마트폰, 웨어러블, 스마트홈 기기, 로보틱스, 마이크로컨트롤러 등 저전력 엣지 디바이스에서 음성 데이터가 기기 외부로 유출되지 않고 100% 로컬에서 완결되도록 설계되었습니다. 자사의 경량 소형 언어 모델(SLM) 런타임인 '니들(Needle)'과 단일 C++ 엔진을 공유하여, 단일 바이너리 환경에서 음성 수신부터 텍스트 변환 및 툴 호출(Tool Call)까지 지연 없이 연결할 수 있는 구조를 제공합니다.
16.9MB 단일 파일과 Needle C++ 엔진 공유 아키텍처
Whistle의 가장 큰 기술적 특징은 초소형 모델 크기에도 불구하고 별도의 런타임 설치나 무거운 프레임워크 종속성 없이 단일 바이너리로 구동된다는 점입니다.
- 통합 런타임 공유: Cactus Compute의 SLM 엔진인 Needle과 동일한 C++ 추론 엔진,
.cact컨테이너 포맷, 2~4비트 양자화(Cactus Quants), SIMD 커널, KV 캐시를 공유합니다. - 인코더-디코더 구조: Log-mel 프론트엔드와 합성곱 스템(conv stem)이 오디오 인코더로 입력 신호를 전달하며, Needle 형태의 디코더가 매 레이어마다 게이트 크로스 어텐션(gated cross attention)을 통해 오디오 특성을 판독합니다.
- 사다리형 깊이 조절: 디코더가 사다리형(laddered) 구조로 설계되어
--audio-depth N옵션을 통해 2개 레이어 이상부터 깊이를 유연하게 조절하여 배포할 수 있습니다. - 극저지연 첫 토큰 생성: 첫 토큰 도달 시간(Time to First Token, TTFT)은 5초 오디오 기준 약 5.9ms, 10초 오디오 기준 약 11.1ms에 불과해 실시간 상호작용 인터페이스에 적합합니다.
Whisper Base 대비 벤치마크와 키워드 바이어싱 기능
Whistle은 16.9MB라는 극단적인 경량화에도 불구하고 주요 글로벌 ASR 벤치마크에서 145.3MB 크기의 Whisper Base와 대등하거나 더 우수한 인식 정확도를 기록했습니다.
LibriSpeech test-clean 벤치마크에서 단어 오류율(WER) 4.31을 기록해 Whisper Base(4.9)를 앞섰으며, test-other에서도 WER 10.49로 Whisper Base(11.0)보다 우수한 성능을 보였습니다. 7개 언어 대상 FLEURS 평균 WER 역시 21.4로 Whisper Base(24.5) 대비 낮은 오류율을 달성했으며, SPGISpeech(WER 7.65)와 Earnings-22(WER 19.01)에서도 높은 정확도를 나타냈습니다.
다만 모델 규모의 한계에 따른 성능 격차도 명확히 존재합니다. LibriSpeech, SPGISpeech, Earnings-22, FLEURS 평균에서는 Whistle이 앞서지만, 잡음 환경이나 전문 도메인이 포함된 TED-LIUM, AMI, MLS 평균 벤치마크에서는 145.3MB 규모의 Whisper Base가 여전히 우세한 결과를 보입니다.
실무 기능 측면에서는 다음과 같은 실용적인 온디바이스 기능들이 포함되었습니다.
- 키워드 바이어싱(Keyword Biasing): 빔 서치(beam search) 과정에서 사용자가 입력하거나 지정한 인명·고유명사(예: "Siobhan", "Krzysztof" 등)에 가중치를 부여해, 사전 학습 단계에서 접하지 못한 특수 명사도 정확하게 인식하도록 보정합니다.
- 자체 어텐션 기반 단어 타임스탬프: 디코더의 자체 어텐션을 분석해 단어 단위 타임스탬프(
word_timestamps=True)를 추출하므로, 외부 정렬기 없이도 UI 상의 자막 하이라이트나 컷 편집에 활용할 수 있습니다. - 환각 생성 억제: 침묵(silence)이나 일정한 배경 소음(steady noise)이 입력될 경우, 임의로 문장을 지어내지 않고 빈 텍스트(empty transcript)를 반환하도록 설계되었습니다.
17개 플랫폼 지원 및 파이썬 cactus-needle 연동
Whistle은 모바일과 임베디드부터 데스크톱과 웹 브라우저까지 총 17개 플랫폼을 공식 지원합니다.
지원 환경은 macOS, Linux(x86-64, ARM64, ARMv7, RISC-V, MIPS32), Windows(x64, ARM), Android, iOS, watchOS, tvOS, 그리고 웹 브라우저용 WebAssembly(Wasm) 및 WASI 컴포넌트를 포함합니다.
인식 대상 언어는 현재 영어, 독일어, 프랑스어, 스페인어, 이탈리아어, 네덜란드어, 폴란드어 등 7개 유럽 언어로 제한되며, 1회 호출당 최대 30초 길이의 16kHz 모노 WAV 오디오를 처리합니다. 한국어를 포함한 아시아권 언어는 향후 업데이트로 확장될 예정입니다.
개발자는 PyPI를 통해 배포된 cactus-needle v3.1.0 라이브러리를 통해 즉시 모델을 테스트할 수 있습니다.
pip install cactus-needle
import needle
result = needle.transcribe("clip.wav")
print(result)
이외에도 터미널 환경에서 마이크 입력을 실시간으로 전사하는 needle whistle playground와, 동일한 오디오 클립을 Whistle, Whisper, Moonshine에 동시에 실행해 처리 속도와 인식 결과를 비교하는 needle whistle compare CLI 도구를 제공합니다.
출처
- Cactus Compute 공식 블로그: Whistle: Speech to Text in 16.9 MB
- Cactus Compute 공식 X (@cactuscompute): Whistle 출시 발표 스레드
- PyPI: cactus-needle v3.1.0