MacBook Air에서 1시간 분량 오디오를 약 13초 만에 전사
요약
이 글은 Gemma 2 임베딩 특성을 활용하여 오디오를 텍스트로 전사하는 새로운 로컬 모델의 실험 결과를 공유합니다. 이 모델은 M4 Mac Mini에서 1시간 분량의 오디오를 약 13초 만에 전사할 수 있는 놀라운 속도를 보여주었습니다. 정확도는 클라우드 수준에는 미치지 못하지만, 일상 사용에 충분하며 오픈 소스로 공개될 예정입니다.
핵심 포인트
- Gemma 2 임베딩 특성을 활용한 오디오-텍스트 변환 시도
- M4 Mac Mini에서 1시간 분량의 오디오를 매우 빠른 속도로 전사 가능
- 정확도는 개선 여지가 있으나, 로컬 환경에서의 성능이 뛰어남
- 오픈 소스 공개 예정이며 TTS 버전 및 추가 기능 개발 계획
이 실험을 만든 Shahir임. Embedding Gemma 2에서 텍스트와 오디오가 벡터 공간을 공유한다는 특성을 이용해 음성을 텍스트로 바꿀 수 있는지 알아보려 시작했으며, 몇 가지 우회 처리가 필요했지만 실제로 작동함. 속도는 목표가 아니라 부수적인 이점이었음.
정확도는 클라우드 모델 수준은 아니지만 일상적으로 쓰기에는 괜찮으며, 불과 며칠 작업한 결과임. 다양한 데이터로 더 학습하면 단어 오류율(WER) 을 크게 개선할 수 있어 다음으로 시도할 계획임.
전체를 조만간 오픈 소스로 공개할 예정이며, 며칠 정도 걸릴 수 있음. 음성 합성(TTS) 버전도 곧 공개할 계획이며 질문도 환영함.
최고의 공개 가중치 모델과 동등한 WER에 더 빠른 속도까지 달성한다면 굉장할 듯함. EmbeddingGemma 2와 Gemma 4가 얼마나 뛰어난지 충분히 주목받지 못하고 있음.
이걸 의사결정 모델로 바꿀 수도 있을까요?
코로나 시기의 시간 감각이 뒤섞여서 그런지 모르겠지만, 자동 전사는 켜둘 가치도 없던 수준에서 1시간짜리 오디오를 로컬에서 13초 만에 전사하는 수준으로 이렇게 빨리 넘어왔다는 게 여전히 놀라움. 팬데믹 전에는 최고 수준의 자동 전사 기능조차 쓰기 어려울 만큼 형편없어 보였는데, 생각해 보면 벌써 7년 전쯤이긴 함.
누군가 YouTube 팀에도 알려주기만 기다리는 중임. 앞으로 10년쯤 더 지나면 그쪽에서도 이런 기술이 있다는 걸 알아차리길 바람.
최근 오래된 M1 MacBook Air에서 MacWhisper의 Parakeet v3로 바꿨는데, 너무 빨라서 실패한 줄 알았음. 전사 버튼을 누르고 몇 초 뒤 화면을 다시 봤을 때 이미 완료돼 있었을 정도로 엄청나게 빠름.
내 더 강력한 컴퓨터에서 돌린 Apple 온디바이스 전사 모델은 이 프로젝트가 발표한 결과보다 약 3배 느렸으며, 내 테스트에서는 오류율이 비슷했음. 이 정도면 꽤 좋은 결과라고 봄.
Apple 모델을 감싸고 간단한 벤치마크도 제공하는 CLI 예제는 https://github.com/llimllib/transcribe임.
시간 나면 이쪽 모델도 시험하려 했지만, 확인해 보니 모델을 제공하지 않는 듯함. 앱 번들에서 직접 추출할 생각까지는 없어 테스트하지 않기로 함.
Apple 모델을 쓸 만한가요? 개선됐을 수도 있지만, 음성 메모 전사에 처음 도입됐을 때는 내 경험상 어이없을 정도로 부정확해서 whisper.cpp를 기본으로 쓰게 됐음.
MacWhisper에서 Apple 모델을 선택할 수 있는데, 같은 파일을 전사할 때 이 소프트웨어나 MacWhisper의 Parakeet3보다 거의 4배 오래 걸렸음.
24GB RAM을 장착한 M4 Mac Mini에서 로컬에 저장된 33분짜리 오디오 파일을 테스트했는데, 이 소프트웨어는 전사에 6.75초가 걸림. MacWhisper의 Parakeet3는 초시계로 재니 약 7.5초가 걸림.
오픈 소스인가요? Apache 라이선스를 언급하긴 하는데 GitHub 같은 링크를 찾을 수가 없음.
EmbeddingGemma 2가 Apache 2.0이라는 설명만 보임. “EmbeddingGemma 2는 Google DeepMind가 만들고 Apache 2.0으로 배포함. 이 프로젝트는 독립 프로젝트이며 Google과 제휴 관계가 없고 Google의 보증을 받지 않음.”이라고 적혀 있음.
페이지의 Apache 2.0은 Google의 기반 모델을 가리키며 이 앱의 라이선스가 아님. 페이지에 나온 정보만 보면 앱은 무료지만 소스 코드는 공개되지 않은 상태임.
다국어 판독 모델을 학습할 계획임. 아직 시제품은 만들지 않았으며, 적절한 데이터셋을 확보하면 진행할 예정임.
작동 원리를 전혀 몰라서 묻는데, 이렇게 빠르게 전사하려면 오디오를 200배속으로 재생해야 하나요? 아니면 다른 접근법이 있나요?
데스크톱 오디오 시스템으로 재생하는 게 아니라 오디오 파일에서 디코딩한 파형을 직접 처리함. 동영상 트랜스코딩처럼 원본의 재생 시간에 제약받지 않으며, 연산 성능에 따라 속도가 결정됨.
전사 중에는 사람이 듣듯 파일을 실제로 재생하지 않음. 오디오는 시간에 따른 음파의 진폭을 나타내는 바이트의 나열이며, 녹음 장치가 마이크의 진동을 초당 수만 번 측정해 저장한 값에 메타데이터와 압축을 적용한 것임. 스피커로 다시 음파를 만들 수도 있지만 결국 데이터이므로, 소프트웨어는 녹음 길이와 무관하게 처리 가능한 속도로 읽을 수 있음.
여러 언어와 상황에서 녹음한 음성을 해당 전사문과 함께 학습시키면, 모델은 파형의 패턴을 특정 토큰에 대응시킬 수 있게 됨. 침묵이나 말더듬도 식별 가능한 패턴이므로, 재생 없이 의미 있는 발화 부분을 추려낼 수 있음.
원리상 사람도 수백 시간 동안 파형을 자세히 살펴보며 이런 작업을 배울 수 있을 듯함. 신호 분석가가 파형에서 패턴을 찾는 작업과 대략 비슷하며, AI는 이 원리를 활용해 일상적인 말을 텍스트로 바꿈.
아마 대규모 병렬 처리를 할 듯함. 단어 사이 경계를 놓치지 않도록 오디오를 조금씩 겹치는 여러 구간으로 나누는 방식임. 중복된 단어를 제거하는 방법도 비교적 간단할 것으로 봄.
AI로 미디어를 생성할 때 실시간 속도에 맞출 필요가 없는 것과 마찬가지임.
지금은 영어만 지원하는 듯함. 꽤 괜찮아 보여서 우리 다국어 자동 음성 인식 모델에도 이런 기법을 일부 적용해 볼 생각임.
현재는 영어만 지원함. 적어도 주요 유럽 언어에는 큰 장애물이 없어 보이지만, 합성어가 많은 독일어는 확신하기 어려움.
AI 자동 생성 콘텐츠
본 콘텐츠는 RSS: GeekNews (한국어)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기