임베딩 모델 EmbeddingGemma 2로 음성을 텍스트로 바꾼 Mac 앱, 1시간 오디오를 13초에 변환
- EmbeddingGemma 2의 오디오 인코더는 그대로 두고, 짧은 오디오 조각을 텍스트 임베딩 공간으로 옮기는 작은 리더 모듈만 학습함
- M3 MacBook Air(8GB)에서 1시간 분량 오디오를 약 13초에 변환해 실시간 대비 288배 속도를 냄
- 단어 오류율(WER)은 약 5%로, 선두 음성인식 모델의 2~3%보다 높음
- 리더 학습에는 8×H100으로 2시간 미만, 공개 라이선스 영어 음성이 쓰임
- 모든 처리는 Mac의 Neural Engine에서 기기 안에서 이뤄져 오디오가 외부로 나가지 않으며, 현재는 영어만 지원함
Hacker News opinions
WER 5%면 전문가용으로는 아쉽고 취미 프로젝트엔 괜찮은 수준임
gemma 오디오 인코더 위에 CTC 헤드를 학습시키면 더 잘 나오고 추론도 빠를 것 같은데 어떰?
그거랑 거의 같은 구조임. 리더가 CTC 헤드인데 출력 단어를 Gemma 자체 텍스트 임베딩 약 22.9만 개로 씀. 글자 단위 CTC도 해봤는데 깨끗한 오디오북은 7.0 대 8.2로 더 나았고 강의 같은 어려운 음성은 16.5 대 10.8로 훨씬 나빴음. 오타가 주원인임
200배속으로 재생해서 돌리는 거임? 아니면 다른 방법이 있음?
재생하는 게 아니라 파일에서 파형 바이트를 그냥 읽는 거임. 비디오 트랜스코딩처럼 연산량만 제한이 됨
힌디어랑 영어 섞인 90분짜리 오디오를 내가 만든 명령어로 돌렸는데 한 시간쯤 걸렸음. 이런 게 여러 언어로 되면 진짜 좋겠음
애플 온디바이스 모델은 내 장비에서 MacWhisper로 돌려보니 이 앱보다 거의 4배 느렸음. 정확도는 비슷했음
오디오만 다루는데 멀티모달 모델은 과한 거 아님? 크기를 확 줄일 수는 없나?
입력은 오디오, 출력은 텍스트로 가고 그 사이에 임베딩이 끼는 구조라서 이렇게 쓸 수 있는 거임
소스 공개는 안 된 것 같음. Apache 2.0은 Google 기본 모델 얘기지 이 앱 얘기가 아님
개발자 본인 댓글인데, 원래 텍스트와 오디오가 같은 벡터 공간을 공유하는지 보려던 실험이었고 속도는 덤이었다고 함. 정확도는 클라우드 모델보다 낮지만 일상용으론 쓸 만하고 소스는 곧 공개한다고 함