5. 모델 선택 가이드: Whisper Tiny/Base를 중심으로 보기
모델 선택 가이드: Whisper Tiny/Base를 중심으로 보기
처음 온디바이스 ASR을 만들려고 하면 가장 먼저 막히는 질문이 있습니다.
"그래서, 무슨 모델부터 써야 하죠?"
모델 이름은 많은데 전부 좋아 보이고, 비교표는 더 헷갈립니다. 이럴 때는 기준점을 하나 잡아야 합니다. 초보자에게 그 기준점으로 가장 무난한 선택은 Whisper tiny 또는 Whisper base입니다. Whisper는 대표적인 오픈 모델이고, tiny는 약 39M, base는 약 74M 파라미터 규모라서 "정확도-속도-메모리" 감각을 잡기에 좋습니다.1
쉽게 말해, Whisper tiny와 base는 온디바이스 ASR 세계의 첫 운동화 같은 존재입니다. 일단 이 둘을 신어 보면, 그다음부터는 Moonshine이 더 맞는지, Vosk가 더 가벼운지, Parakeet/Nemotron 계열이 너무 큰지 감이 생깁니다.

먼저 결론부터: 초보자의 첫 선택
정말 빠르게 결론만 말하면 이렇습니다.
데모를 빨리 띄우고 싶다면 Whisper tiny
정확도를 조금 더 챙기고 싶다면 Whisper base
실시간 반응성이 가장 중요하다면 Moonshine 검토
아주 작은 패키지와 전통적인 스트리밍 구조가 필요하다면 Vosk 검토
모바일 온디바이스보다 GPU 서버나 엔터프라이즈 파이프라인에 가깝다면 Parakeet/Nemotron 계열 검토
즉, 출발은 Whisper tiny/base로 하고, 필요가 분명해질 때 다른 계열로 옮겨가는 방식이 가장 덜 헤맵니다.
내 앱이 무엇을 하는지 한 줄로 적기
모델 선택은 성능표보다 용도 한 줄이 더 중요합니다.
예를 들어,
"녹음 파일을 오프라인으로 문자로 바꾼다."
"마이크 입력을 거의 실시간으로 자막처럼 보여준다."
"긴 회의록보다 짧은 음성 명령이 중요하다."
이 세 문장은 비슷해 보여도 필요한 모델이 달라집니다.
긴 파일을 천천히 처리하는 앱이라면 Whisper 계열이 편합니다. 반대로 사용자가 말하는 도중 바로 반응해야 하는 음성 인터페이스라면, 스트리밍에 더 맞게 설계된 Moonshine이 더 매력적일 수 있습니다.4 명령어 인식이나 아주 작은 앱 크기가 중요하다면 Vosk가 더 실용적일 때도 있습니다.5
Whisper Tiny와 Base를 기준점으로 잡기
Whisper는 tiny, base, small, medium, large로 갈수록 정확도는 좋아지는 대신, 속도와 메모리 부담이 커지는 구조입니다.1 초보자가 온디바이스에서 처음 다룰 때는 small부터 시작하는 것보다 tiny/base부터 만져 보는 편이 훨씬 안전합니다.
whisper.cpp README 기준의 대략적인 감각을 보면 tiny는 디스크 약 75MiB, 메모리 약 273MB, base는 디스크 약 142MiB, 메모리 약 388MB 수준입니다.2 물론 실제 모바일 사용량은 런타임, 양자화, 오디오 길이, 버퍼 전략에 따라 달라지지만, tiny는 "돌아가게 만들기 쉬운 모델", base는 "쓸 만한 품질을 기대해 볼 모델"이라고 이해하면 됩니다.
| 모델 | 대략적 성격 | 장점 | 아쉬운 점 | 초보자 추천도 |
|---|---|---|---|---|
| Whisper tiny | 가장 가벼운 출발점 | 빠르고, 메모리 부담이 작고, 테스트가 쉽다 | 잡음, 발화 겹침, 긴 문장에서 실수 가능성이 더 크다 | 아주 높음 |
| Whisper base | 균형형 출발점 | tiny보다 정확도가 좋아지고 여전히 비교적 가볍다 | tiny보다 느리고 메모리 부담이 커진다 | 가장 높음 |
여기서 중요한 포인트가 하나 더 있습니다. Whisper에는 영어 전용 .en 모델과 다국어 모델이 있습니다.1 오디오가 영어만 확실하다면 .en이 더 유리할 수 있습니다. 하지만 한국어를 포함한 다국어 가능성을 조금이라도 남겨 두고 싶다면, 처음부터 multilingual tiny/base를 쓰는 편이 덜 번거롭습니다.
Whisper tiny/base와 다른 계열을 비교하기
이제 Whisper를 기준점으로 삼아 다른 모델군을 보겠습니다.
Whisper Tiny/Base: 기준점으로 가장 좋다
Whisper의 가장 큰 장점은 생태계입니다. 자료가 많고, 변환 경로도 다양하고, whisper.cpp, ONNX, TFLite, 여러 예제가 널려 있습니다. 게다가 다국어 인식과 번역까지 가능한 구조라서 "나중에 요구사항이 바뀌면 어떡하지?"라는 불안이 적습니다.1
단점도 분명합니다. Whisper는 본질적으로 30초 입력 창을 중심으로 동작하는 구조여서, 라이브 스트리밍에서는 낭비 계산이 생기기 쉽습니다.4 그래서 파일 기반 오프라인 인식은 편한데, "말하는 도중 즉시 반응"이라는 UX에서는 더 특화된 모델보다 불리할 수 있습니다.
Moonshine: 실시간 말하기 경험에 더 초점이 맞다
Moonshine은 처음부터 실시간 음성 인터페이스를 겨냥한 계열입니다. 프로젝트 문서도 낮은 지연 시간, 가변 길이 입력, 캐싱, 스트리밍 최적화를 강하게 강조합니다.4 공식 저장소 기준으로 STT는 영어, 스페인어, 중국어, 일본어, 한국어 등을 포함한 여러 언어를 지원합니다.4
초보자 입장에서 Moonshine의 매력은 간단합니다. 사용자가 말하는 동안 빨리 반응하는 느낌을 만들기 쉽다는 점입니다.
하지만 함정도 있습니다. Whisper처럼 "자료가 정말 많다"는 수준의 범용 생태계는 아직 아닙니다. 문서와 예제가 빠르게 늘고는 있지만, 입문자가 부딪힐 수 있는 참고 자료의 양은 Whisper 쪽이 여전히 더 많습니다. 그래서 첫 학습용 기준점으로는 Whisper가 편하고, 실시간 UX를 밀어붙일 때 Moonshine으로 넘어간다고 생각하면 좋습니다.
Vosk: 작고 빠른 전통 강자
Vosk는 오래 사용되어 온 오프라인 음성 인식 툴킷입니다. 공식 설명에서도 작은 모델, streaming API, 오프라인 동작을 장점으로 내세웁니다.56
Vosk가 특히 좋은 상황은 이렇습니다. 앱 용량을 아주 크게 늘리고 싶지 않거나, 명령어 중심 음성 인식이거나, 완전한 최신 대규모 모델 수준의 정확도보다 안정적이고 예측 가능한 스트리밍 처리가 더 중요할 때입니다.
반대로 자유로운 받아쓰기, 다양한 억양, 복잡한 문장, 다국어 일반 전사 품질에서는 Whisper나 Moonshine이 더 만족스러울 가능성이 큽니다. 쉽게 말해 Vosk는 튼튼한 소형차, Whisper는 다재다능한 SUV에 가깝습니다.
Parakeet/Nemotron 계열: 강력하지만 출발점은 아니다
NVIDIA의 Nemotron Speech 컬렉션에는 실시간 ASR용 nemotron-speech-streaming-en-0.6b 같은 모델과 Parakeet 계열이 공개되어 있습니다.7 이 계열은 고처리량, 초저지연, 프로덕션 지향 구성을 강조합니다.7
문제는 초보자의 첫 온디바이스 모델로는 다소 무겁다는 점입니다. 대표 공개 모델만 봐도 Whisper tiny/base와는 출발선이 다릅니다.7 게다가 이 계열은 모바일 단말에서 바로 쓰는 것보다 GPU 서버, Triton, NIM, NeMo 생태계와 더 잘 맞습니다.7
그래서 Parakeet/Nemotron은 "성능 좋다더라"라는 이유만으로 고르면 안 됩니다. 안드로이드 폰 안에서 바로 돌릴 첫 모델을 찾는 독자에게는 보통 과한 선택입니다.
안드로이드에서는 CPU 우선으로 생각하기
여기서 아주 현실적인 한 줄이 필요합니다.
안드로이드의 범용 GPU 가속은 아직 연구·실험 성격이 강하므로, 처음 모델을 고를 때는 CPU 우선 전략이 안전합니다.
물론 가속 이야기가 아예 없는 것은 아닙니다. whisper.cpp는 Vulkan 같은 GPU 백엔드도 지원하고,2 일부 벤더는 특정 칩셋용 가속 경로를 제공합니다. 하지만 이것이 곧 "아무 안드로이드 폰에서 GPU 가속이 당장 표준처럼 된다"는 뜻은 아닙니다.
그래서 초보자라면 이렇게 생각하면 됩니다.
오늘 당장 안정적으로 만들려면 Whisper tiny/base + CPU
실시간 UX가 중요하면 Moonshine + CPU 기준선 검토
특정 칩셋 최적화는 나중 단계에서 붙이는 옵션
이 판단이 중요한 이유는, 모델을 잘못 고르면 정확도보다 먼저 발열과 배터리가 당신을 괴롭히기 때문입니다. 작은 모델이 사랑받는 이유는 단순히 느리냐 빠르냐가 아니라, 휴대폰이 뜨거워지지 않고 오래 버티느냐이기도 합니다.
비교표: 초보자 관점에서 한 번에 보기
| 계열 | 정확도 감각 | 속도/지연 감각 | 메모리/크기 감각 | 언어 지원 감각 | 가장 잘 맞는 용도 |
|---|---|---|---|---|---|
| Whisper tiny | 낮음~보통 | 빠름 | 매우 가벼움 | 다국어 가능 | 첫 데모, 저사양 테스트 |
| Whisper base | 보통 | 빠름 | 가벼움 | 다국어 가능 | 가장 무난한 첫 선택 |
| Moonshine | 언어별로 강함, 실시간 체감 좋음 | 매우 빠른 편 | 작은 편부터 시작 가능 | 공개 지원 언어 중심 | 라이브 자막, 음성 UI |
| Vosk | 용도 맞으면 충분 | 스트리밍 강점 | 매우 작음 | 언어별 모델 제공 | 명령어, 초경량 오프라인 앱 |
| Parakeet/Nemotron | 높음 잠재력 | 매우 빠른 서버형 구성 가능 | 큼 | 모델별 편차 큼 | GPU 서버, 엔터프라이즈 파이프라인 |
표를 읽는 요령은 간단합니다. 무조건 최고가 아니라, 내 앱에 맞는 최고를 고르는 것입니다.
바로 써볼 수 있는 앱과 데모
모델을 글로만 읽으면 감이 잘 안 옵니다. 직접 한 번 눌러 보는 것이 빠릅니다.
가장 먼저 추천할 만한 것은 whisper_android입니다. GitHub 저장소에 TensorFlow Lite Java 버전과 Native 버전 앱, 그리고 pre-built APK가 함께 있어 "내 폰에서 이 정도로 돌겠구나"를 체감하기 좋습니다.8
개발자라면 Moonshine Android Transcriber 예제도 재미있습니다. 공식 저장소 릴리스에 안드로이드용 예제가 배포되어 있어서, 실시간 반응성을 직접 느껴 보기 좋습니다.4
조금 더 전통적인 경량 경로를 보고 싶다면 Vosk Android demo도 좋은 비교 대상입니다. 안드로이드 스튜디오에 임포트해서 바로 오프라인 전사를 시험해 볼 수 있습니다.6
즉, 앱을 바로 써 보고 싶은 순서는 보통 이렇습니다.
Whisper Android로 감 잡기 → Moonshine 예제로 실시간 체감 보기 → Vosk demo로 초경량 구조 비교하기
그래서 무엇을 고르면 될까
초보자에게는 아래처럼 추천할 수 있습니다.
한국어 포함 일반 음성 전사 앱을 처음 만든다
가장 무난한 선택은 Whisper base multilingual입니다. tiny보다 품질이 낫고, 다국어 확장성도 남겨 둘 수 있습니다.1 다만 기기 성능이 낮다면 tiny로 시작해서 나중에 base로 올리면 됩니다.
일단 돌아가는 데모가 급하다
Whisper tiny가 좋습니다. 모델도 작고, 에러가 나도 원인을 찾기 쉽습니다. 처음엔 "잘 인식하나?"보다 "전체 파이프라인이 연결되나?"가 더 중요합니다.
마이크 입력에 빨리 반응하는 UX가 핵심이다
Moonshine을 진지하게 보세요. 특히 사용자가 말하는 도중 부분 결과를 빨리 보여 주는 경험이 중요하면 Whisper보다 더 자연스러운 선택일 수 있습니다.4
음성 명령, 호출어, 제한된 문장 패턴이 중심이다
Vosk가 의외로 편합니다. 모델 크기, 스트리밍, 오프라인 동작 측면에서 실용적입니다.56
최신 고성능만 보고 고르고 싶다
그럴수록 잠깐 멈추세요. 안드로이드 온디바이스 입문이라면 Parakeet/Nemotron보다 Whisper base가 훨씬 현실적일 가능성이 큽니다.7
마지막 체크리스트
모델을 고르기 전에 아래 다섯 가지만 체크하면 실수가 크게 줄어듭니다.
내 앱은 오프라인 파일 처리인가, 실시간 스트리밍인가
주요 언어가 영어만인가, 한국어 포함 다국어인가
목표 기기가 보급형 안드로이드인가, 최신 플래그십인가
내가 먼저 최적화할 것은 정확도인가, 지연 시간인가
지금 당장 필요한 것이 성공하는 첫 프로토타입인가, 최종 성능인가
정리하면, 온디바이스 ASR의 첫 모델은 대개 Whisper tiny 또는 base에서 시작하는 것이 가장 현명합니다. tiny는 가볍고 빠르며, base는 품질 균형이 좋습니다. 그다음에 실시간성이 더 중요해지면 Moonshine, 초경량 스트리밍이 필요하면 Vosk, 서버급 고성능 파이프라인이 필요하면 Parakeet/Nemotron을 보는 순서가 자연스럽습니다.
처음부터 정답 모델을 찾으려 하지 마세요. 먼저 tiny/base로 감을 잡고, 요구사항이 커질 때 갈아타는 것이 가장 실전적입니다.
참고
5VOSK Offline Speech Recognition API
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.