Zettelkasten

faster-whisper large-v3는 greedy + VAD + 이어받기 끔이 가장 빠르면서 정확도도 뒤지지 않는다

·수정 1회

요약

  • 한국어 대화 녹음에서 greedy + VAD + condition_on_previous_text=False 조합이 가장 빨랐다. 기본값(이어받기 켬)보다 1.8배 빨랐고, 결과가 매번 같았고, CER은 가장 낮은 조합과 0.002 차이였다
  • (추론) 이어받기를 끄면 한 창의 오류가 다음 창으로 번지지 않고 fallback도 덜 일어나는 것으로 보인다. 직접 확인하지는 않았고, 관측된 건 반복 실행 결과가 매번 같았다는 것이다
  • 이어받기 끔 조건은 4파일 × 3회로만 쟀다. 서비스 기본값으로 굳히기 전에 파일을 더 늘려 확인해야 한다

본문

네 조합 비교 (large-v3, GPU L4 fp16, VAD 켬, 4파일 × 3회)

조합 평균 CER 파일당 시간 재현성 (실행 간 CER 편차)
greedy + 이어받기 끔 0.131 40초 결정적 (0)
beam5 + 이어받기 끔 0.129 58초 결정적 (0)
greedy + 이어받기 켬 (기본값) 0.139 72초 매번 다름 (0.017)
beam5 + 이어받기 켬 0.165 152초 매번 다름 (0.052)
  • 정확도: 이어받기를 끄면 greedy 기준 0.139 → 0.131이 됐다. 4파일 중 1파일(A0051_S0001_0_G0101)만 켠 쪽이 나았다(0.100~0.120 vs 0.127)
  • 속도: 이어받기를 끈 greedy는 기본값보다 1.8배, 켠 beam5보다 3.8배 빨랐다. (추론) 루프와 fallback 재디코딩으로 헛도는 시간이 줄어서다

세 요소가 각각 하는 일

트레이드오프

  • faster-whisper 문서는 이어받기를 끄면 이렇게 될 수 있다고 한다:

    disabling may make the text inconsistent across windows

    • 해석: 창 사이의 띄어쓰기나 고유명사 표기 같은 일관성이 떨어질 수 있다는 뜻으로 본다. 문서에 구체적인 항목은 없다. 이번 CER 평가는 띄어쓰기와 문장부호를 지우고 글자만 비교해서 이 효과는 재지 못했다
  • 이어받기가 문맥을 잘 이어 주는 파일에서는 켠 쪽이 나을 수 있다(A0051_S0001_0_G0101 사례)

한계

  • 이어받기 끔 조건은 4파일(3개 세션 그룹)뿐이다. 22파일 전체로 확인하지 않았다
  • 한국어 대화 녹음(kcsc)만 썼다. 다른 언어나 도메인, 잡음 조건은 미검증이다
  • GPU 시간은 두 워커가 GPU를 동시에 나눠 쓴 값이라 비율로만 봐야 한다

참고