Whistle - 16.9 MB로 구현한 음성 텍스트 변환

1 hour ago 2

Whistle은 16.9 MB 단일 파일로 배포되는 공개 음성 인식 모델로, 별도 의존성 없이 CPU에서 실행되며 7개 언어의 음성을 기기 내에서 텍스트로 변환함 전사, 단어별 타임스탬프, 음성 임베딩을 지원하며, 16 kHz 모노 오디오를 한 번에 최대 30초까지 처리함 Apple M4 Pro CPU에서 10초 오디오를 처리할 때 첫 토큰까지 11.1 ms, 이후 디코딩 속도는 초당 1,319토큰을 기록함 단어 오류율은 LibriSpeech와 FLEURS 평균 등에서 비교 모델보다 낮았지만, TED-LIUM, AMI, MLS 평균에서는 Whisper base가 더 낮았으며 일부 벤치마크는 비교 데이터나 평가 하위 집합이 다름 Needle과 같은 C++ 엔진에 함께 로드하면 하나의 바이너리에서 음성을 전사하고 도구 호출로 연결할 수 있으며, 호출자가 중간 전사문을 별도로 처리할 필요가 없음 기기 내 음성 인식과 세 가지 출력 Whistle은 모바일, 웨어러블, 로봇, 스마트홈, 자동차, 마이크로컨트롤러용 음성 인식 모델임 모델은 16.9 MB 단일 파일이며, Needle과 같은 컨테이너 형식, 양자화 방식, C++ CPU 엔진을 사용함 브라우저 체험판은 첫 마이크 사용 시 모델을 내려받으며, 오디오가 기기를 벗어나지 않음 기기 안에서 다음 세 가지 작업을 수행함 전사: 16 kHz 모노 오디오를 한 번에 최대 30초 처리하며 영어, 독일어, 프랑스어, 스페인어, 이탈리아어, 네덜란드어, 폴란드어를 지원함. 언어를 지정하지 않으면 자동 감지함 단어별 타임스탬프: 디코더 어텐션으로 정렬한 각 단어의 시작 시각, 종료 시각, 확률을 반환함 음성 임베딩: 전사문을 디코딩하지 않고 80 ms 프레임마다 한 행씩 인코더 출력을 반환함 오디오 전처리와 인코더 전처리부는 16 kHz 모노 오디오에 25 ms 윈도와 10 ms 홉을 적용해 80개 로그 멜 빈으로 변환함 주파수 범위를 250~3,500 Hz로 제한하고 채널별로 정규화함 30초 오디오는 3,000프레임이 되며, 채널 128개와 커널 크기 9인 합성곱 전처리부가 프레임 수를 세 차례 절반으로 줄여 375프레임을 만듦 이후 모든 단계는 80 ms당 한 프레임 단위로 처리하며, embed도 프레임당 한 행을 반환함 인코더는 Simple Attention 블록 8개로 구성됨 Needle과 동일하게 mHC 잔차 경로 4개와 피드포워드 네트워크를 대체하는 Monarch Ha...

Read Entire Article