기본 사양의 8 GB MacBook Air에서, 본래 전사(transcribe)를 위해 훈련되지 않은 모델로 오디오 1시간 분량을 단 12.6초 만에 전사했다는 주장입니다. 이 주장은 Google의 EmbeddingGemma 2를 로컬 스피치-투-텍스트 엔진으로 변환하는 사이드 프로젝트인 Embedding Gemma Transcribe에서 나왔습니다. 현재 이 프로젝트는 Hacker News에서 430점을 기록하고 있습니다.
저는 프로젝트 페이지, Google의 모델 카드, 그리고 전체 HN 스레드를 읽고 하나의 질문에 답하고자 했습니다. 바로 EmbeddingGemma 2의 스피치-투-텍스트 기능이 로컬 장치에서 Whisper를 대체할 수 있는가? 대부분의 사람들에게는 아직은 아닙니다. 하지만 그 원리가 충분히 기발해서 계속 주시할 가치가 있다고 생각합니다.
먼저 말씀드리자면, 저는 직접 실행해 보지 않았습니다. 아래 제시된 모든 수치는 프로젝트 페이지, Google 문서, 또는 해당 스레드에서 실제로 실행한 사람들의 정보에 기반합니다.
EmbeddingGemma 2가 무엇이며 왜 이것이 가능해야 하는지에 대한 의문점
Google DeepMind는 2026년 10월 6일에 EmbeddingGemma 2를 공개했습니다. 이것은 임베딩 모델입니다. 여기에 텍스트, 이미지, 비디오 또는 오디오를 입력하면 벡터(vector)를 반환합니다.
모델 카드에는 다음과 같이 설명되어 있습니다:
- 총 740M 파라미터
- 텍스트 백본(text backbone): 270M (130M 트랜스포머 + 140M 임베더)
- 선택적 비전 인코더: 170M, 오디오 인코더: 300M
- 텍스트 + 오디오 동시 로드 시: 570M 유효 파라미터
- 오디오 입력: 모노 16 kHz, 초당 25 토큰, 8,192 토큰 컨텍스트에서 최대 약 327초
- 라이선스: Apache 2.0
Google은 오디오 사용 사례로
- EmbeddingGemma 2 오디오 인코더는 고정(frozen)되어 있습니다.
- 작게 훈련된 '리더(reader)'가 짧은 오디오 조각들을 모델의 텍스트 임베딩 공간으로 매핑합니다.
- 각 조각은 약 229,000개의 영어 단어 중 가장 가까운 값으로 스냅됩니다.
- 아주 작은 별도의 모델이 구두점과 대문자를 추가합니다.
리더만 훈련되었으며, 공개 라이선스의 영어 음성 데이터를 사용하여 8×H100에서 두 시간 이내에 완료되었습니다. 저자인 Shahir는 HN(Hacker News)에서 이것이 오디오와 텍스트가 실제로 하나의 벡터 공간을 공유하는지 확인하기 위한 실험으로 시작했다고 말했습니다. 속도는 부수적인 효과였습니다. 토큰 단위로 생성되는 것이 아니기 때문에, 이는 얼마나 빠른지와 아래 설명할 모든 약점을 설명해 줍니다.
Whisper 및 Parakeet 대비 속도와 정확도
이것은 프로젝트 페이지의 속도 표입니다. 처음 두 행은 저자들이 동일한 Mac에서 직접 실행한 결과입니다. Parakeet 행들은 FluidAudio가 다른 하드웨어에서 발표한 벤치마크이며, 해당 페이지 자체에서도 이를 '비슷한 비교가 아닌 대략적인 가이드'라고 언급하고 있습니다.
| 모델 | 구동 환경 | Mac 사양 | 속도 (실시간 대비 배율) |
|---|
| Embedding Gemma Transcribe | Neural Engine | M3 Air, 8 GB | 288× (1시간을 12.6초에 처리) |
| ... | | | |
| On HN에서 bigtex는 24 GB의 M4 Mac Mini로 33분짜리 파일을 실행한 결과가 6.75초였으며, 이는 MacWhisper가 Parakeet으로 구동했을 때의 약 7.5초와 비교됩니다. 빠르지만, Parakeet의 수준에 근접하여 속도만으로는 전환할 이유가 되지 않습니다. | | | |
정확도가 뒤처지는 부분입니다. 페이지에는 WER(Word Error Rate)이 '현재 약 5%'라고 나와 있으며, 이는 '선도적인 음성 모델의 2–3%'와 비교됩니다. 어느 테스트 세트에서 이 5%가 나온 것인지는 명시되어 있지 않습니다. armcat은 스레드에서 정확히 그 점을 질문했고 저는 답을 찾지 못했습니다.
참고로, 비교할 수 있는 모델들의 공개된 수치는 다음과 같습니다:
| 모델 | 파라미터 | 영어 WER | 라이선스 | 언어 |
|---|
| Embedding Gemma Transcribe | 명시되지 않음 (기반 모델 740M) | ~5%, 미공개 테스트 세트 | 앱: 명시되지 않음; 기반 모델 Apache 2.0 | 영어 |
| ... | | | | |
| 이 5%를 Parakeet의 6.34%보다 뛰어나다고 읽지 마세요. Open ASR 평균은 지저분한 데이터셋을 포함하여 여러 데이터셋을 다룹니다. 미공개된 5%는 Parakeet이 1.93%를 기록하는 깨끗한 오디오북 음성에서 쉽게 나올 수 있는 수치입니다. | | | | |
작가는 스레드에 일부 내부 수치를 게시했습니다. 그들이 시도했던 문자 단위 CTC 헤드는 깨끗한 오디오북의 경우 WER 7.0을 얻었지만, 현재 접근 방식으로는 8.2를 기록했고, 강의에서는 각각 16.5 대 10.8이었습니다. 따라서 배포된 디자인은 적어도 해당 수치가 측정되었던 시점에는 깨끗한 오디오북에서 약 8, 강의 오디오에서 약 11을 기록합니다. 이는 헤드라인이 암시하는 '2–3%'와는 거리가 있습니다.
229,000단어 상한선
모든 슬라이스를 고정된 영어 단어 목록에 맞추는 것에는 결과가 따르며, 스레드는 이를 빠르게 발견했습니다:
- 고유 명사 및 신조어. drakirus는 고정된 목록으로는 포함할 수 없는 단어에 대한 WER을 요청했습니다. 작가의 답변은 다음과 같습니다: 새로운 단어는 임베딩하여 추가할 수 있지만, "새로운 단어가 알려진 단어와 매우 가까우면, 그것에 속하는 경향이 있다."
- 다른 언어. motoboi가 포르투갈어를 입력하자 영어로 출력되었고, "전반적인 전사 품질이 매우 낮다"고 덧붙였습니다. 작가는 리더가 영어로 훈련되었기 때문에 다국어 훈련이 필요할 것이라고 말했습니다. 이에 대한 날짜는 언급되지 않았습니다.
- 문맥. 이 리더는 각 슬라이스 주변 약 20개의 단어를 볼 수 있습니다. 이는 받아쓰기에는 충분하지만 장거리 모호성 해소(long-range disambiguation)에는 부족합니다.
영어 Slack 받아쓰기에는 괜찮습니다. 하지만 Siobhán이라는 게스트가 나오는 Kubernetes operators에 관한 팟캐스트라면 그렇지 않습니다.
라이선스: Apache 2.0은 모델만 다룹니다.
cstever가 HN에서 지적했듯이, Apache 2.0 라이선스는 EmbeddingGemma 2에 속합니다. 이 전사(transcription) 앱은 명시된 라이선스가 없고 공개 소스도 없습니다. 학습된 리더(reader), 229k 단어 인덱스, 구두점 모델은 Hugging Face에 올라와 있지 않습니다. 작성자는 "곧 전체를 오픈소스 할 것이다. 하지만 며칠이 걸릴 수도 있다."고 썼습니다.
이것이 배포될 때까지는 pip으로 설치하거나, Linux에서 실행하거나, WER(Word Error Rate)을 직접 확인할 수 없습니다.
EmbeddingGemma 2 음성-텍스트 변환기를 로컬에서 실행하는 방법
오늘날 이를 실행하는 방법은 하나 있습니다:
- Apple Silicon이 탑재된 macOS 14 이상이 필요합니다. 최소 RAM 용량은 명시되지 않았으며, 위의 벤치마크는 8 GB M3 Air를 사용했습니다.
- eg2.haku.sh에서 앱(작성 시점 기준 v1.6)을 다운로드합니다. 첫 실행 시 715 MB의 모델을 가져옵니다.
- 오디오 파일을 창으로 드래그하거나, Right Option 키를 누른 채 말하고 놓아서 모든 앱에 받아쓰기할 수 있습니다. 오디오는 기기에 남아 있습니다.
만약 Linux나 Windows를 사용한다면, Hugging Face에서 google/embeddinggemma-2를 가져올 수 있습니다. 하지만 리더가 없으면 얻을 수 있는 것은 벡터뿐입니다. 크기를 가늠해 보자면, Google은 Pixel 11 Pro의 전체 양자화된 멀티모달 모델에 대해 약 567 MB의 RAM을 언급합니다. 모델 카드는 bfloat16(대부분의 CPU에서는 float32)를 권장하며, float16이 조용히 NaN(Not a Number)을 반환할 수 있다고 경고합니다.
제가 오늘 실제로 사용할 것
Mac에서 영어로 빠르고 정확한 것을 원한다면, 저는 Parakeet TDT 0.6B v3를 선택할 것입니다. 이것은 오픈 웨이트이며, 발표된 데이터셋별 WER을 가지고 있고, 이미 MacWhisper와 FluidAudio 내에 있습니다. Python에서는 Transformers 라이브러리를 통해 (모델 카드에 따르면 Parakeet TDT가 정식 배포되기 전까지는 소스에서 설치해야 합니다):
pip install git+https://github.com/huggingface/transformers
from transformers import pipeline
pipe = pipeline(
다른 운영체제(OS), 다른 언어 또는 RAM이 부족한 환경에서는 whisper.cpp를 사용하세요. 사용 가능한 RAM에 맞춰 모델을 선택하십시오. [README](https://github.com/ggml-org/whisper.cpp)에 따르면, tiny는 약 273 MB, base는 약 388 MB, small은 약 852 MB, medium은 약 2.1 GB, large는 약 3.9 GB가 필요합니다.
git clone https://github.com/ggml-org/whisper.cpp.git
cd whisper.cpp
sh ./models/download-ggml-model.sh base.en
...
Mac을 사용하며 일반 영어로 푸시 투 토크 받아쓰기(push-to-talk dictation)를 원한다면 Embedding Gemma Transcribe를 시도해 볼 가치가 있습니다. 하지만 이 기능을 인용하거나, 출판하거나, 고객에게 청구할 목적이라면, 특정 벤치마크에서 WER(Word Error Rate)이 나오고 코드가 공개될 때까지는 사용을 자제하는 것이 좋겠습니다.
저는 속도보다는 관심이 적습니다. 왜냐하면 Parakeet이 이미 그 속도를 따라잡고 있기 때문입니다. 저를 놀라게 한 부분은, 고정된 임베딩 모델(frozen embedding model)에 2시간 이내에 학습된 리더(reader)만 결합해도 사용 가능한 영어 받아쓰기 결과를 얻을 수 있다는 점입니다. 오픈 리더가 적용된 다국어 버전은 지켜볼 가치가 있습니다. 현재의 비공개 소스, Mac 전용, 영어 전용 앱은 Whisper를 대체할 수는 없습니다.
현재 로컬 받아쓰기를 위해 무엇을 사용하고 계신가요: Whisper, Parakeet, Apple 내장 모델, 아니면 다른 것인가요? 약 5% WER의 영어 전용 모델이 귀하의 용도에 충분한가요, 아니면 이것이 결정적인 문제가 되나요?
## 출처
- Embedding Gemma Transcribe 프로젝트 페이지: [https://eg2.haku.sh/](https://eg2.haku.sh/)
- Hacker News 토론: [https://news.ycombinator.com/item?id=50069971](https://news.ycombinator.com/item?id=50069971)
- Google 블로그, EmbeddingGemma 2: [https://blog.google/innovation-and-ai/technology/developers-tools/embeddinggemma-2/](https://blog.google/innovation-and-ai/technology/developers-tools/embeddinggemma-2/)
- EmbeddingGemma 2 모델 카드: [https://ai.google.dev/gemma/docs/embeddinggemma/model_card_2](https://ai.google.dev/gemma/docs/embeddinggemma/model_card_2)
- Parakeet TDT 0.6B v3 모델 카드: [https://huggingface.co/nvidia/parakeet-tdt-0.6b-v3](https://huggingface.co/nvidia/parakeet-tdt-0.6b-v3)
- whisper.cpp README: [https://github.com/ggml-org/whisper.cpp](https://github.com/ggml-org/whisper.cpp)
- Whisper large-v3 Open ASR 평균: [https://localaimaster.com/blog/best-local-speech-to-text-models](https://localaimaster.com/blog/best-local-speech-to-text-models)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17