빔 서치가 로컬 음성 인식의 정확도와 지연 시간에 미치는 영향

에바 왕기술 작가 그리고 이자 ZimaSpace의 상주 장인입니다. 평생을 기술에 열정을 가진 사람으로서 홈랩과 오픈소스 소프트웨어에 열정을 가지고 있으며,복잡한 기술 개념을 쉽게 이해할 수 있는 실습 가이드로 번역하는 데 전문성을 가지고 있습니다.에바는 셀프 호스팅이 어렵지 않고 재미있어야 한다고 믿습니다. 그녀의 튜토리얼을 통해 커뮤니티가 하드웨어 설정의 신비를 풀도록돕고 있습니다. 첫 NAS 구축부터 Docker 컨테이너 마스터링까지.

빔 서치는 여러 가지 가능성 있는 전사를 유지해 로컬 음성 인식 정확도를 높일 수 있지만, 빔이 넓어질수록 디코더 작업량과 메모리 사용량, 응답 지연 시간이 증가합니다.

깨끗한 음성은 작은 빔으로도 정확하게 디코딩할 수 있지만, 잡음이 섞인 오디오나 이름, 모호한 구문에서는 더 많은 가설을 유지하는 편이 유리할 때 이러한 트레이드오프가 나타납니다.

탐욕적 디코딩은 너무 일찍 하나의 경로로 결정합니다

음성 인식기는 토큰이나 기호에 대한 확률을 출력합니다. 탐욕적 디코딩은 각 단계에서 가장 확률이 높은 선택지만 유지하므로 빠르지만, 나중에 더 나은 선택이 될 수 있는 대안을 버릴 수 있습니다.

PyTorch의 CTC 디코딩 튜토리얼은 사전과 언어 모델을 지원하는 빔 서치를 보여 주며, 하나의 경로가 아니라 여러 부분 가설을 유지합니다. PyTorch는 CTC 빔 디코딩을 더 단순한 디코딩 경로와 비교해 여러 가설을 유지하면 초기에 탐욕적으로 결정하는 것을 피할 수 있음을 설명합니다. 자세한 내용은 PyTorch CTC 빔 서치 디코더를 참고하세요.

이는 음향 정보가 모호할 때 중요합니다. 일시적으로 두 번째로 유력했던 토큰 시퀀스가 나중에는 가장 가능성 높은 전체 전사가 될 수 있습니다.

빔 너비가 검색 예산을 결정합니다

빔 너비는 각 확장 단계에서 살아남는 후보 시퀀스의 수를 결정합니다.

빔이 넓을수록 디코더가 초기에 발생한 국소적 오류를 복구할 기회가 늘어납니다.

Torchaudio는 검색 중 사용하는 빔 크기로 beam_width를 제공합니다. 살아남는 가설이 많아질수록 점수 계산, 메모리 사용, 비교 작업이 증가합니다. NVIDIA Riva는 빔 방식 디코딩 옵션을 제공하며, 이는 빔 너비가 음향 인코더 자체의 속성이 아니라 설정 가능한 검색 예산임을 보여 줍니다. 자세한 내용은 NVIDIA 빔 디코더 문서를 참고하세요.

정확한 시퀀스가 이미 작은 빔의 상위권에 머문다면, 더 큰 빔은 의미 있는 정확도 향상 없이 작업량만 늘립니다. 이점은 오류 분포에 따라 달라집니다.

가지치기는 조합 폭발을 방지합니다

가지치기가 없다면 모든 가설이 각 단계마다 여러 토큰으로 분기할 수 있습니다.

빔 서치는 점수가 낮은 분기를 반복적으로 제거해 후보 집합의 크기를 제한합니다.

PyTorch는 음향 모델 자체와 검색 로직을 분리하는 전용 CTC 빔 서치 디코더를 제공합니다. SpeechBrain은 디코딩 중 후보 시퀀스를 가지치기하는 CTC 빔 서치 매개변수를 제공하며, 이는 SpeechBrain CTC 빔 디코더에서 설명하는 검색 제어 방식을 지원합니다.

따라서 지연 시간 비용은 가능한 모든 전사를 열거하는 데서 발생하는 것이 아니라, 추가 가설을 관리하고 점수를 계산하는 데서 발생합니다.

언어 모델은 어떤 가설이 승리할지 바꿀 수 있습니다

음향 점수만으로는 가능성이 높은 두 구문을 구분하기 어려울 수 있습니다. 디코더는 사전이나 언어 모델 점수를 추가해, 음향적으로는 조금 약한 경로라도 해당 구문이 언어학적으로 더 자연스럽다면 더 높은 순위에 올릴 수 있습니다.

PyTorch 예제는 빔 디코딩 중 KenLM과 사전 제약 조건을 명시적으로 지원합니다. CTC-어텐션 공동 디코딩 연구는 여러 모델 점수가 빔 서치 순위 결정에 함께 참여할 수 있음을 보여 주며, 이는 공동 CTC-어텐션 빔 서치에서 설명하는 언어 모델 및 재채점 논의를 뒷받침합니다.

언어 모델이 자주 쓰이는 이름과 반복되는 구문을 잘 나타낸다면 도움이 될 수 있지만, 드물어도 정확하게 발음한 용어를 흔한 대안으로 편향시킬 수도 있습니다.

빔 서치는 반드시 인코더 작업량이 아니라 디코더 지연 시간을 늘립니다

빔 서치는 일반적으로 음향 특징이 생성된 후의 작업량을 늘립니다.

더 많은 가설이 확장되기 때문에 인코더는 같은 속도로 실행되더라도 전체 전사 지연 시간은 증가할 수 있습니다.

PyTorch는 CUDA 기반 CTC 빔 서치 디코더도 문서화하고 있어, 구현에 따라 검색 작업을 가속기로 옮길 수 있음을 보여 줍니다. GPU 가속 빔 서치에 관한 연구는 디코딩 자체가 상당한 연산 단계가 될 수 있음을 보여 주며, 이는 GPU 가속 ASR 빔 서치에서 설명하는 지연 시간의 차이를 뒷받침합니다.

ZimaSpace의 로컬 음성 비서 지연 시간 분석은 대화형 음성 요청에서 디코딩이 여러 단계 중 하나일 뿐이라는 더 넓은 관점을 제공합니다.

유용한 빔은 정확도를 유지하는 가장 작은 빔입니다

빔 너비는 가정에서 실제로 발생하는 오디오를 기준으로 단어 오류율과 엔드투엔드 지연 시간을 함께 측정해 조정해야 합니다. 목표는 서버가 감당할 수 있는 가장 큰 빔이 아닙니다.

Torchaudio는 스트리밍 RNN-T 빔 서치를 지원하므로 대화형 음성 제어에서는 지연 시간이 특히 중요합니다. 벡터화된 빔 서치에 관한 연구는 유용한 가설을 유지하면서 검색 비용을 줄이는 데 초점을 맞추며, 이는 벡터화된 빔 서치 연구에서 설명하는 실용적인 중단 기준을 뒷받침합니다.

입력 오디오 품질은 여전히 복구 가능 범위를 제한합니다. ZimaSpace의 원거리 음성 인식 실패 분석에서는 검색만으로 복원할 수 없는 정보 손실을 다룹니다.

FAQ

빔이 클수록 항상 단어 오류율이 낮아지나요?

아닙니다. 개선 효과가 정체될 수 있으며, 언어 모델 가중치나 가지치기가 적절하지 않으면 오류가 사라지는 대신 다른 오류로 바뀔 수 있습니다.

외부 언어 모델 없이도 빔 서치가 유용한가요?

예. 음향적으로 가능성이 높은 여러 토큰 경로를 유지할 수 있습니다. 외부 언어 모델은 추가적인 점수 신호입니다.

빔 서치를 사용하면 음성 모델 자체가 느려지나요?

주로 디코더와 검색 작업이 증가합니다. 음향 인코더는 같은 속도로 실행될 수 있지만 전체 전사 지연 시간은 늘어납니다.

기술 및 AI 허브

더 읽어보기

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.