본 문서는 스트리밍 자동 음성 인식(ASR)을 위한 경량 모델 Moonshine v2(arXiv:2602.12241, Moonshine AI)를 분석하고, 해당 논문이 인용하고 있는 선행 기술들(CTC, RNN-T, TDT, FastConformer, RoPE, SwiGLU, Schedule-Free 옵티마이저 등)의 이론적 배경을 함께 정리한다.
Whisper와 같은 full-attention 인코더 기반 ASR 모델은 매 프레임이 모든 다른 프레임에 직접 어텐션할 수 있어 높은 정확도를 달성하지만, 이러한 전역 의존성은 시퀀스 길이에 대해 이차(quadratic) 복잡도를 유발하고 "전체 발화를 다 인코딩해야 디코딩이 시작되는" 지연시간 프로파일을 만든다. Moonshine v2는 위치 임베딩을 전혀 사용하지 않는 슬라이딩 윈도우 인코더, 즉 ergodic 스트리밍 인코더를 도입하여 이 문제를 해결하고, 6배 큰 모델과 동등한 정확도를 유지하면서 Whisper 대비 최대 43.7배 낮은 응답 지연시간을 달성하였다.
1. 서론: 스트리밍 ASR의 지연시간-정확도 트레이드오프
엣지(on-device) ASR은 지연시간(latency)과 전사 품질(WER)이라는 상충하는 두 제약을 동시에 만족해야 한다. 인간이 실시간으로 체감할 수 있는 응답성을 얻으려면 첫 토큰 생성까지의 지연시간(Time-To-First-Token, TTFT)과 토큰당 지연시간을 최소화해야 하고, 동시에 클라우드 기반 모델과 경쟁할 만한 WER을 확보해야 한다. 메모리·연산·전력 예산이 제한된 기기에서 이 두 목표를 균형 있게 만족시키는 것이 실용적 ASR 배포의 핵심 과제이다.
Whisper로 대표되는 full-attention 인코더는 전역 문맥을 활용해 장거리 자음화(coarticulation), 화자·스타일 일관성, 지역적으로 모호한 음향의 원거리 어휘 문맥 기반 해소 등 강력한 전역 모호성 해소가 가능하다. 그러나 이 전역 의존성은 시퀀스 길이에 대해 \(O(T^2)\) 복잡도를 유발하며, 결과적으로 TTFT가 발화 길이에 비례하여 증가하는 지연시간 프로파일을 만든다.
저자들은 100M 파라미터 인코더가 50Hz 특징(Whisper 스타일)을 처리할 때의 연산량을 다음과 같이 근사하여 이 문제를 정량화한다.
$$\text{ops}_{total}(N) = 6PT + 4dLT^{2} \quad \text{(full attention)}$$
$$\text{ops}_{total}(N) = 6PT + 4dLTw \quad \text{(sliding-window, } w=20\text{ 프레임)}$$
여기서 \(P\)는 파라미터 수, \(T\)는 프레임 수, \(d\)는 은닉 차원, \(L\)은 레이어 수, \(w\)는 윈도우 크기이다. 이 근사식을 바탕으로 하드웨어 처리량(TOPS)별 TTFT를 추정한 결과, 0.5TOPS급의 상당히 강력한 엣지 예산에서도 full attention은 약 4.1초 오디오부터 사설 음성망의 250ms 응답 지연 한계를 넘어서는 반면, 훨씬 약한 0.1TOPS급 sliding-window 인코더는 이미 이 한계 아래에 있다.
2. 제안 방법론: Ergodic Streaming Encoder
2-1. Full Attention에서 Sliding-Window Attention으로
TTFT를 줄이는 자연스러운 방법은 전체 시퀀스에 대한 self-attention을 제한된 지역 이웃에 대한 sliding-window self-attention으로 대체하는 것이다. 고정 윈도우 크기 \(w\)를 사용하면 어텐션 혼합 비용이 \(O(T^2)\)에서 \(O(Tw)\)로 선형화되며, 스트리밍 관점에서 결정적으로, 인코더는 필요한 지역 문맥이 도착하는 즉시 사용 가능한 표현을 증분적으로 방출할 수 있다. Causal sliding-window 인코더에서는 시각 \(t\)의 표현이 과거 프레임에만 의존하므로 미래 오디오를 기다릴 필요 없이 즉시 생성 가능하며, 작은 lookahead(우측 문맥)를 사용할 경우 알고리즘적 지연시간이 \(w_{right}\) 프레임으로 상한(bounded)되어 발화 길이와 무관하게 예측 가능한 지연시간을 제공한다.
2-2. Ergodic(Position-Free) 인코더
Moonshine v2의 인코더는 절대 위치 임베딩과 상대 위치 임베딩을 전혀 사용하지 않는다. 이 결과 인코더 연산은 시간에 대해 translation-invariant(평행이동 불변)하다: 임의의 로컬 윈도우에 대해 그 윈도우가 발화 내 어느 위치에 있든 동일한 함수가 적용된다. 저자들은 이러한 성질을 ergodic(에르고딕)으로 명명하였는데, 이는 인코더가 절대 위치에 대한 명시적 개념을 갖지 않고 오직 sliding-window attention이 제공하는 로컬 문맥의 내용만으로 구조를 추론한다는 의미이다.
Moonshine v2는 첫 두 개 및 마지막 두 개 인코더 레이어에 \((w_{left}, w_{right}) = (16, 4)\)를, 나머지 모든 중간 레이어에는 \((16, 0)\)(엄격한 causal)을 사용한다. 프레임 하나가 20ms(50Hz)에 대응하므로, lookahead가 있는 레이어의 알고리즘적 lookahead는 \(4 \times 20\text{ms} = 80\text{ms}\)이다. 다만 완전히 확정(finalized)된 표현을 얻기 위해서는 lookahead 레이어들을 거치며 최대 16프레임(320ms)의 추가 미래 오디오가 필요하다. 실시간 자막과 같은 응용에서는 확정 전(provisional) 상태에서부터 디코딩을 진행하고, 이후 오디오가 도착함에 따라 해당 구간이 확정된 표현으로 대체되며 전사 품질이 점진적으로 개선되는 방식도 가능하다.
3. 모델 아키텍처
Moonshine v2는 오디오 전처리기, 스트리밍 인코더, 어댑터, 디코더의 4단계로 구성된다.
오디오 전처리기는 원시 오디오를 80샘플(16kHz 기준 5ms) 단위 비중첩 윈도우로 분할한 뒤, 프레임별 CMVN(Cepstral Mean and Variance Normalization)을 적용하고, asinh 비선형함수를 통과시킨 다음, causal stride-2 컨볼루션을 두 차례 적용하여 약 4배 다운샘플링된 50Hz 특징 시퀀스를 생성한다. 원조 Moonshine이 41.6Hz 프레임율을 사용했던 것과 달리, v2는 Whisper와의 비교를 단순화하기 위해 50Hz로 표준화하였다.
인코더는 sliding-window self-attention을 사용하는 표준 Transformer 스택으로, 위치 임베딩이 없는 ergodic 구조를 갖는다.
어댑터는 ergodic 인코더와 디코더를 연결하는 다리 역할을 한다. 인코더 출력에 학습된 위치 임베딩을 더하고, 필요 시 디코더 차원에 맞추는 선형 투영을 적용한다. 즉 인코더는 위치 정보가 없는(position-free) 표현을 생성하고, 디코더는 위치 인지(position-aware) 입력을 수신하는 명확한 역할 분리 구조이다.
디코더는 각 레이어에 RoPE(Rotary Positional Embedding)를 사용하는 표준 causal Transformer로, 어댑터 특징에 크로스어텐션하며 텍스트 토큰을 자기회귀적으로 생성한다. 디코더는 인코더와 달리 SwiGLU 피드포워드 블록을 사용하며, 크로스어텐션 투영 행렬이 추가되기 때문에 인코더보다 훨씬 많은 파라미터를 갖는다.
| 모델 | Enc dim / Dec dim | Layers (Enc/Dec) | 총 파라미터 |
|---|---|---|---|
| Tiny | 320 / 320 | 6 / 6 | 33.57M |
| Small | 620 / 512 | 10 / 10 | 123.36M |
| Medium | 768 / 640 | 14 / 14 | 244.93M |
4. 실험 설정
학습 데이터는 원조 Moonshine과 동일한 소스·전처리 파이프라인(약 200K시간)에 자체 구축한 100K시간을 추가하여 총 약 300K시간을 사용하였다. 옵티마이저는 Schedule-Free(Defazio et al., 2024)를 사용하였으며, 시작 학습률 \(2\times10^{-3}\)로 400K 스텝, 유효 배치 크기 512, NVIDIA H100 GPU 8장 클러스터에서 학습하였다. 정확도는 Hugging Face Transformers 구현으로, 지연시간은 ONNX Runtime 기반의 자체 C++ 구현으로 Apple M3에서 측정하였다.
5. 실험 결과
5-1. WER (Open ASR Leaderboard 벤치마크)
| 데이터셋 | Tiny (34M) | Small (123M) | Medium (245M) |
|---|---|---|---|
| AMI | 19.03 | 12.54 | 10.68 |
| Earnings-22 | 20.27 | 13.53 | 11.90 |
| GigaSpeech | 13.90 | 10.41 | 9.46 |
| LibriSpeech (clean) | 4.49 | 2.49 | 2.08 |
| LibriSpeech (other) | 12.09 | 6.78 | 5.00 |
| SPGISpeech | 6.16 | 3.19 | 2.58 |
| TED-LIUM | 6.12 | 3.77 | 2.99 |
| VoxPopuli | 14.02 | 9.98 | 8.54 |
| 평균 | 12.01 | 7.84 | 6.65 |
파라미터 수 대비 정확도의 파레토 프론티어 상에서 NVIDIA(Canary/Parakeet)와 Moonshine 계열은 유사한 프론티어를 형성하며 OpenAI(Whisper) 계열보다 상위에 위치한다. Moonshine은 프론티어의 하단(낮은 파라미터 수 영역)을 채우는데, 이는 저자들이 목표로 하는 0.1~1 TOPS 및 메모리 제약(sub-1GB) 엣지 프로세서 영역과 정확히 일치한다.
5-2. 응답 지연시간 및 연산 비용 (Apple M3 기준)
| 모델 | 지연시간(ms) | 연산 비용(%) |
|---|---|---|
| Moonshine Tiny (원조, 27M) | 27 | 5.91 |
| Moonshine Base (원조, 61M) | 44 | 7.34 |
| Moonshine v2 Tiny (34M) | 50 | 8.03 |
| Moonshine v2 Small (123M) | 148 | 17.97 |
| Moonshine v2 Medium (245M) | 258 | 28.95 |
| Whisper Tiny | 289 | 8.46 |
| Whisper Base | 553 | 16.19 |
| Whisper Small | 1,940 | 56.84 |
| Whisper Large v3 | 11,286 | 330.65 |
Moonshine v2 Tiny는 50ms(Whisper Tiny 대비 5.8배), Small은 148ms(Whisper Small 대비 13.1배), Medium은 258ms(Whisper Large v3 대비 43.7배) 낮은 지연시간을 기록하였으며, 동일 하드웨어에서 더 적은 연산 비용을 요구하였다. TTFT-오디오 길이 관계에서도 원조 Moonshine(full-attention)은 입력 길이에 비례해 TTFT가 증가하는 반면, Moonshine v2(sliding-window)는 오디오 길이와 무관하게 고정된 인코딩 지연시간을 보였다.
6. 논의: 한계 및 향후 방향
- 디코더는 여전히 full-attention 자기회귀 구조이다. 인코더가 특징 방출을 신속히 시작하더라도, 디코더는 토큰을 순차적으로 생성해야 하므로 매우 긴 전사에서는 이 순차 생성이 전체 출력 완료까지의 지연시간을 늘릴 수 있다.
- 향후 연구 방향으로 monotonic 정렬 모델(CTC/RNN-T/TDT 계열)이나 스트리밍 친화적 디코딩 전략을 ergodic 인코더와 결합하는 것을 제시한다.
- 현재 모델은 영어 ASR에만 집중되어 있다. 다만 저자들은 sliding-window ergodic 인코더의 설계 원리 자체는 언어에 독립적이라고 보며, Flavors of Moonshine(King et al., 2025)의 언어별 특화 모델 경험을 바탕으로 다국어 Moonshine v2 변형을 학습할 계획임을 밝혔다.
7. 핵심 선행 기술 및 이론적 배경 심화 정리
본 논문은 짧지만 선행 연구의 핵심 개념과 기법을 다수 인용한다. 이 절에서는 논문 이해에 필요한 배경 기술들을 원논문 수준으로 정리한다.
7-1. Full Attention vs Sliding-Window Attention
Full Attention(Whisper 등)은 모든 프레임이 모든 다른 프레임에 직접 어텐션하여 장거리 문맥 기반 전역 모호성 해소가 가능하지만, 시퀀스 길이에 대해 \(O(T^2)\) 복잡도를 갖는다. Sliding-Window Attention은 각 프레임이 고정 크기 \(w\)의 로컬 이웃에만 어텐션하여 \(O(Tw)\) 선형 복잡도를 가지며, 필요한 로컬 문맥이 도착하는 즉시 표현을 증분적으로 방출할 수 있어 스트리밍에 적합하다. NLP의 Longformer, BigBird 등에서 먼저 제안된 개념이 ASR 인코더에 적용된 사례로 볼 수 있다.
7-2. 스트리밍 정렬 목적함수: CTC, RNN-T, TDT
본 논문은 어텐션 기반 인코더-디코더(AED) 구조를 유지하지만, 완전히 ergodic한 무한 스트리밍의 대안으로 인코더 특징에서 직접 예측하는 monotonic 정렬 기반 방법들을 언급한다.
- CTC (Connectionist Temporal Classification, Graves et al., 2006, ICML): 프레임별 독립 예측과 blank 토큰을 사용해 입력-출력 정렬 문제를 학습 가능한 손실 함수로 정식화한다. 선형 분류기만으로 인코더 특징에서 직접 텍스트를 추출할 수 있어 구조가 단순하고 스트리밍에 유리하나, 출력 토큰 간 조건부 독립 가정으로 인해 언어모델링 능력이 제한적이다.
- RNN-T (RNN Transducer, Graves, 2012): 인코더, 예측망(prediction network), 조인망(joint network)으로 구성되며, CTC와 달리 이전에 방출한 토큰에 조건부로 다음 토큰을 예측한다. 프레임 단위로 토큰을 방출하는 대표적인 스트리밍 친화적 end-to-end 구조이다.
- TDT (Token-and-Duration Transducer, Xu et al., 2023): RNN-T를 확장하여 토큰과 함께 지속시간(duration)을 동시에 예측함으로써, 불필요한 blank 프레임의 반복 예측을 생략하고 추론 속도를 향상시킨다.
이 계열(CTC/RNN-T/TDT 스타일 학습 및 디코딩)을 채택하는 대표적 사례가 NVIDIA Parakeet 계열 모델이며, 이들은 모델링 용량의 상당 부분을 더 큰 인코더로 이전하는 경향을 보인다. 저자들은 자신들의 position-free(ergodic) 인코더와 이러한 monotonic 목적함수를 결합하는 것을 유망한 향후 연구 방향으로 제시한다.
7-3. FastConformer
Rekesh et al.(2023), "Fast Conformer with linearly scalable attention for efficient speech recognition"은 컨볼루션과 셀프어텐션을 결합한 Conformer 구조를 개선하여 선형적으로 확장 가능한 어텐션을 적용한 효율적 음성인식 인코더이다. NVIDIA의 Canary, Parakeet-TDT 등이 이 인코더를 기반으로 하며, 본 논문의 SOTA 비교(파레토 프론티어)에 포함된다.
7-4. RoPE (Rotary Positional Embedding)
Su et al., "RoFormer: Enhanced Transformer with Rotary Position Embedding"(arXiv:2104.09864)에서 제안된 기법으로, 절대 위치 임베딩을 더하는 대신 쿼리·키 벡터를 위치에 따라 회전(rotation)시켜 상대적 위치 정보를 어텐션 스코어에 자연스럽게 반영한다. Moonshine v2의 디코더는 각 레이어에서 RoPE를 사용하는 표준 causal Transformer이다.
7-5. SwiGLU
Shazeer(2020), "GLU Variants Improve Transformer"에서 제안된, GLU(Gated Linear Unit)에 Swish 활성함수를 결합한 게이팅 메커니즘이다. Moonshine v2에서는 디코더의 피드포워드 블록에만 SwiGLU가 사용되며(인코더는 미사용), 이는 디코더가 인코더보다 훨씬 많은 파라미터를 갖는 이유 중 하나이다.
7-6. Schedule-Free Optimizer
Defazio et al.(2024), "The Road Less Scheduled"에서 제안된 옵티마이저로, 별도의 학습률 스케줄(워밍업/디케이 등)을 설계하지 않고도 모멘텀 기반 평균화 기법만으로 스케줄링과 동등하거나 더 나은 수렴을 달성한다. Moonshine v2는 이 옵티마이저로 하이퍼파라미터 튜닝 부담을 줄였다.
7-7. 오디오 프론트엔드: CMVN과 asinh
CMVN(Cepstral Mean and Variance Normalization, Acero & Huang, 1995)은 프레임별로 켑스트럴 특징의 평균과 분산을 정규화하여 채널 및 화자 변이에 대한 강인성을 높이는 고전적 음성 전처리 기법이다. asinh(역쌍곡사인) 함수는 tanh와 유사하게 0 근처에서 부드럽고 거의 선형적이지만, 큰 값에서는 포화되지 않고 로그함수적으로 증가하는 특성을 가져 압축과 다이나믹 레인지 보존의 균형을 제공한다.
7-8. Moonshine 계보: v1 → Flavors of Moonshine → v2
원조 Moonshine(Jeffries et al., 2024, "Moonshine: Speech Recognition for Live Transcription and Voice Commands")은 full-attention 인코더와 41.6Hz 프레임율 프론트엔드를 사용한 초기 버전이다. Flavors of Moonshine(King et al., 2025, arXiv:2509.02523)은 엣지 기기를 위한 언어별 특화 초경량 ASR 모델 라인업으로, Moonshine v2가 향후 다국어 확장 시 참고 대상으로 명시한 선행 연구이다. Moonshine v2는 50Hz로 프레임율을 표준화하고 sliding-window 어텐션 인코더를 도입하였으며, 기존 200K시간에 신규 100K시간을 더한 총 300K시간 데이터로 재학습되었다.
7-9. Open ASR Leaderboard
Srivastav et al.(2025), "Open ASR Leaderboard: Towards Reproducible and Transparent Multilingual Speech Recognition Evaluation"(arXiv:2510.06961)은 여러 ASR 모델을 표준화된 벤치마크 세트(AMI, Earnings-22, GigaSpeech, LibriSpeech clean/other, SPGISpeech, TED-LIUM, VoxPopuli 등)에서 공정하게 비교할 수 있도록 만든 공개 리더보드이다. Moonshine v2의 정확도 평가는 이 리더보드 기준으로 수행되었다.
8. 결론
Moonshine v2는 위치 임베딩이 없는 ergodic 슬라이딩 윈도우 인코더를 도입하여, 발화 길이와 무관하게 TTFT를 상수로 고정하면서도 표준 벤치마크에서 최신 수준의 정확도를 유지함을 실험적으로 입증하였다. 이는 신중하게 설계된 로컬 어텐션이 전역 어텐션의 정확도를 훨씬 낮은 연산 비용과 지연시간으로 대체할 수 있음을 보이는 결과이며, 자원 제약이 있는 엣지 기기에서 실시간·인터랙티브 음성 인터페이스를 실용화하는 방향을 제시한다.
부록: 전문용어 정리
- TTFT (Time-To-First-Token): 오디오 도착부터 첫 텍스트 토큰이 방출될 때까지의 지연시간. 스트리밍 ASR의 핵심 체감 지표.
- Ergodic Encoder: 위치 임베딩이 없어 시간적 평행이동에 대해 불변인 인코더. 본 논문이 명명한 용어.
- Sliding-Window Attention: 각 프레임이 고정 크기의 로컬 이웃에만 어텐션하는 방식. 연산량이 시퀀스 길이에 대해 선형.
- Lookahead (우측 문맥): 스트리밍 모델이 현재 프레임 이후의 약간의 미래 프레임까지 참조하는 정도. 정확도와 지연시간의 트레이드오프.
- Provisional / Finalized State: 스트리밍 인코더에서 미래 정보가 모두 반영되기 전의 임시(확정 전) 표현과, 완전히 반영된 확정 표현을 구분하는 개념.
- RoPE (Rotary Positional Embedding): 쿼리·키 벡터를 회전시켜 상대 위치 정보를 어텐션에 주입하는 기법.
- SwiGLU: GLU와 Swish를 결합한 게이팅 FFN 구조. Transformer 디코더에서 파라미터 효율적으로 표현력을 높임.
- CMVN (Cepstral Mean and Variance Normalization): 켑스트럴 특징의 평균·분산을 정규화하는 고전적 음성 전처리 기법.
- CTC (Connectionist Temporal Classification): 프레임별 독립 예측과 blank 토큰으로 정렬 문제를 푸는 손실/디코딩 방식.
- RNN-T (RNN Transducer): 예측망과 조인망을 통해 이전 토큰에 조건부로 다음 토큰을 방출하는 스트리밍 친화적 end-to-end 구조.
- TDT (Token-and-Duration Transducer): RNN-T에 지속시간 예측을 추가하여 blank 반복을 생략하고 추론을 가속화한 방식.
- FastConformer: 선형 확장 가능한 어텐션을 적용한 Conformer 개선판. NVIDIA Parakeet/Canary 계열의 인코더.
- Schedule-Free Optimizer: 학습률 스케줄 설계 없이 모멘텀 평균화로 수렴하는 최적화 기법.
- WER (Word Error Rate): 단어 단위 오류율. 음성인식 표준 정확도 지표.
- RTF (Real-Time Factor): 처리시간 ÷ 오디오 길이. 본 논문은 이의 역수인 "연산 비용(%)"으로 표기.
- VAD (Voice Activity Detection): 오디오 스트림에서 발화 구간을 탐지하는 기술. 응답 지연시간 측정의 기준점.
- ONNX Runtime: 다양한 하드웨어에서 최적화된 형태로 딥러닝 모델을 실행하는 크로스플랫폼 추론 엔진. 본 논문의 C++ 지연시간 측정에 사용.
- AED (Attention Encoder-Decoder): 인코더-디코더 구조에 어텐션을 결합한 표준 ASR 구조. Moonshine v2가 속한 범주.
참고문헌
- Kudlur, M., King, E., Wang, J., & Warden, P. (2026). Moonshine v2: Ergodic Streaming Encoder ASR for Latency-Critical Speech Applications. arXiv:2602.12241.
- Jeffries, N., King, E., Kudlur, M., Nicholson, G., Wang, J., & Warden, P. (2024). Moonshine: Speech Recognition for Live Transcription and Voice Commands. arXiv:2410.15608.
- King, E., Sabra, A., Kudlur, M., Wang, J., & Warden, P. (2025). Flavors of Moonshine: Tiny Specialized ASR Models for Edge Devices. arXiv:2509.02523.
- Rekesh, D., Koluguri, N. R., Kriman, S., Majumdar, S., Noroozi, V., Huang, H., Hrinchuk, O., Puvvada, K., Kumar, A., Balam, J., & Ginsburg, B. (2023). Fast Conformer with linearly scalable attention for efficient speech recognition. arXiv:2305.05084.
- Xu, H., Jia, F., Majumdar, S., Huang, H., Watanabe, S., & Ginsburg, B. (2023). Efficient sequence transduction by jointly predicting tokens and durations. arXiv:2304.06795.
- Su, J., Lu, Y., Pan, S., Murtadha, A., Wen, B., & Liu, Y. (2023). RoFormer: Enhanced Transformer with Rotary Position Embedding. arXiv:2104.09864.
- Defazio, A., Yang, X. A., Mehta, H., Mishchenko, K., Khaled, A., & Cutkosky, A. (2024). The Road Less Scheduled. arXiv:2405.15682.
- Graves, A., Fernández, S., Gomez, F., & Schmidhuber, J. (2006). Connectionist temporal classification: Labelling unsegmented sequence data with recurrent neural networks. Proceedings of ICML, 369–376.
- Graves, A. (2012). Sequence transduction with recurrent neural networks. arXiv:1211.3711.
- Srivastav, V., Zheng, S., Bezzam, E., Le Bihan, E., Moumen, A., & Gandhi, S. (2025). Open ASR Leaderboard: Towards Reproducible and Transparent Multilingual Speech Recognition Evaluation. arXiv:2510.06961.
※ 본 문서는 Moonshine v2 논문(arXiv:2602.12241v1, 2026-02-12) 및 관련 인용 논문의 내용을 요약·정리한 것이다.