Whistle: 16.9MB 용량의 음성 인식(STT) 모델
Whistle: speech to text in a 16.9MB file
핵심 요약
저사양 기기에서도 원활하게 작동하는 16.9MB 초경량 음성 인식 모델 'Whistle'이 공개되었습니다.
- 초경량 설계 — 16.9MB 용량으로 Whisper base 모델 대비 9배 작은 크기와 6배 빠른 속도 구현함
- 다양한 언어 지원 — 영어, 독일어, 프랑스어, 스페인어, 이탈리아어, 네덜란드어, 폴란드어 지원함
- 범용성 확보 — 모바일, 웨어러블, 마이크로컨트롤러 등 17개 플랫폼에서 실행 가능함
- 오픈 웨이트 공개 — 허깅페이스를 통해 모델 가중치를 공개하여 누구나 활용 가능함

다들 안녕, 우리가 초소형 기기용 ASR 모델인 Cactus Whistle을 만들었어. 완벽하진 않지만, 파일 크기는 9배 작고 속도는 6배 빠른데 성능은 Whisper base를 거의 다 발라버려. Whistle은 영어, 독일어, 프랑스어, 스페인어, 이탈리아어, 네덜란드어, 폴란드어를 지원해.
Cactus Compute의 목표는 덩치만 키워서 SOTA 찍는 게 아니야. 지능을 압축해서 저가형 폰, 웨어러블, 스마트 홈 기기, 마이크로컨트롤러처럼 그동안 무시당하던 작은 기기들에 넣는 게 우리 목표지.
Whistle은 55m 파라미터(활성 36m)에 CQ2bit 양자화를 적용해서 파일 크기가 16.9MB밖에 안 돼. LibriSpeech test-clean에서 WER 4.31, test-other에서 10.49를 찍었어. 145.3MB짜리 Whisper base가 각각 4.9, 11.0인 거랑 비교하면 확실히 낫지. FLEURS 평균은 21.4로 Whisper의 24.5보다 잘 나왔고, SPGISpeech는 7.65, Earnings-22는 19.01이야.
아키텍처를 보면, log-mel 프론트엔드랑 컨볼루션 스템이 오디오 인코더에 데이터를 쏴주고, Simple Attention + Hadamard MLP 디코더가 매 레이어마다 gated cross attention으로 읽어들이는 방식이야. 디코더는 Needle처럼 사다리꼴 구조라 2개 레이어부터 원하는 깊이만큼 골라서 배포할 수 있어.
Keyword biasing 기능은 사용자가 실제로 말하는 이름을 빔 서치 과정에서 우선순위로 둬. 덕분에 모델이 원래는 존재조차 몰랐을 "Siobhan"이나 "Krzysztof" 같은 이름도 제대로 잡아내지. 단어 타임스탬프는 디코더 자체 어텐션에서 따오니까, 앱에서 단어 단위로 하이라이트하거나, 탐색하거나, 잘라내는 것도 가능해.
지원하는 플랫폼은 총 17개야. macOS, x86-64/ARM64/ARMv7/RISC-V/MIPS32 기반 Linux, Windows x64 및 ARM, Android, iOS, watchOS, tvOS, 그리고 WebAssembly랑 WASI 컴포넌트로 브라우저까지 다 돌아가.
자세한 내용은 여기서 확인해: https://cactuscompute.com/blog/whistle
Whistle은 오픈 웨이트야: https://huggingface.co/collections/Cactus-Compute/cactus-whistle
써보고 의견 좀 남겨줘!


