faster-whisper, 음성인식 AI 라이브러리

faster-whisper란?

faster-whisper는 OpenAI의 음성 인식 모델 Whisper를 더 빠르고 효율적으로 사용할 수 있도록 재구현한 오픈소스 라이브러리입니다.
원본 Whisper는 높은 정확도로 찬사를 받았지만, 속도가 느리고 컴퓨터 자원을 많이 소모한다는 단점이 있었습니다. faster-whisper는 이 단점을 보완하며 등장했고, 지금은 개발자들 사이에서 사실상 표준처럼 쓰이고 있습니다.

왜 ‘faster’일까? – 핵심 특징

1. CTranslate2 기반의 속도와 효율성

faster-whisper는 기존 PyTorch 대신 CTranslate2라는 고속 추론 엔진을 사용합니다. 모델을 8비트(INT8)나 16비트(FP16)로 양자화해서 실행하기 때문에 다음과 같은 이점을 얻습니다.

  • 속도 향상: 원본 Whisper 대비 최대 4배 이상 빠릅니다.
  • 메모리 절약: 정확도 저하는 거의 없으면서 GPU/CPU 메모리 사용량은 절반 이하로 줄어듭니다. 덕분에 사양이 낮은 컴퓨터에서도 대형 모델을 돌릴 수 있습니다.

2. 원본 Whisper의 기능은 그대로

속도만 빨라졌을 뿐, 원본이 가진 기능은 모두 유지됩니다.

  • 다국어 음성 인식(STT): 한국어를 포함한 수십 개 언어를 텍스트로 변환
  • 번역 기능: 외국어 음성을 영어 텍스트로 바로 번역
  • 자동 언어 감지: 오디오만 넣으면 어떤 언어인지 자동 판단

3. VAD(음성 활동 감지) 기본 내장

진짜 사람이 말하는 구간만 골라내는 것은 음성 인식에서 중요한 부분입니다. faster-whisper에는 Silero VAD라는 고성능 음성 활동 감지 기술이 내장되어 있어 배경 소음이나 침묵 구간을 영리하게 건너뜁니다. 이 덕분에 무음 구간에서 텍스트가 무한 반복되던 원본 Whisper의 고질적인 버그도 크게 개선되었습니다.

Whisper vs. faster-whisper

특징OpenAI Whisper (원본)faster-whisper
기반 프레임워크PyTorchCTranslate2
추론 속도보통 (1x)매우 빠름 (최대 4x 이상)
VRAM 소모량높음 (Large 모델 기준 약 10GB+)낮음 (Large 모델 기준 약 4~5GB)
정확도기준점동일함 (거의 차이 없음)
무음 구간 오류간혹 환각(Hallucination) 발생VAD 내장으로 안정적

기본 사용 코드

from faster_whisper import WhisperModel

# 모델 로드 (메모리에 맞게 'tiny', 'base', 'small', 'medium', 'large-v3' 등 선택)
model = WhisperModel("large-v3", device="cuda", compute_type="float16")

# 음성 파일 받아쓰기
segments, info = model.transcribe("audio.mp3", beam_size=5)

print(f"감지된 언어: {info.language} (확률: {info.language_probability:.2f})")

for segment in segments:
    print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")

몇 줄만으로 바로 실행할 수 있을 정도로 사용법이 간단합니다.


faster-whisper-large-v3 : 최신 대형 모델 조합

faster-whisper-large-v3는 faster-whisper 라이브러리로 OpenAI의 가장 최신 대형 모델인 Whisper Large-v3를 최적화해 구동하는 버전입니다. “현재까지 릴리즈된 가장 똑똑한 음성 인식 AI를, 가장 빠른 방식으로 돌리는 조합”이라고 보면 됩니다.

Large-v3 모델 자체의 업그레이드 포인트

Large-v2의 후속으로 나온 Large-v3는 다음과 같은 점이 개선되었습니다.

  • 더 정교한 오디오 분석: v1, v2가 80채널 멜-주파수 스펙트로그램을 사용했던 반면, v3는 128채널을 사용해 오디오를 더 세밀하게 분석합니다.
  • 외래어·전문 용어 인식률 향상: 특수 용어, 다국어 혼용(한국어 문장 속 영어 단어 등), 배경 소음이 심한 환경에서의 인식률이 크게 개선되었습니다.
  • 2023년 말 출시 이후 현재까지도 오픈소스 STT 모델 중 최상위권 성능을 유지하고 있습니다.

faster-whisper로 구동했을 때의 위력

1. 낮아진 진입 장벽 (VRAM 다이어트)

순정 PyTorch로 whisper-large-v3를 돌리려면 최소 10~13GB 이상의 GPU VRAM이 필요해, 일반적인 게이밍 PC나 보급형 서버에서는 실행이 어려웠습니다. 반면 faster-whisper-large-v3(INT8 또는 FP16 양자화)는 약 4.5~5GB VRAM만으로 구동되어, RTX 3060·4050급 엔트리 그래픽카드나 노트북에서도 대형 모델을 돌릴 수 있습니다.

2. 답답함 없는 받아쓰기 속도

Large 모델은 15억 5천만 개에 달하는 매개변수 때문에 원래 속도가 느린 편이지만, faster-whisper 버전은 실시간 음성 길이보다 훨씬 빠르게 변환을 끝냅니다. 1시간짜리 녹음본도 몇 분 만에 텍스트로 뽑아낼 수 있습니다.

사용 코드

기존 faster-whisper 코드에서 모델 이름만 "large-v3"로 지정하면 됩니다. Hugging Face에 등록된 최적화 모델을 자동으로 다운로드해 실행합니다.

from faster_whisper import WhisperModel

# "large-v3" 모델, GPU(cuda) 사용, 16비트 연산으로 최적화
model = WhisperModel("large-v3", device="cuda", compute_type="float16")

segments, info = model.transcribe("conference_audio.mp4", beam_size=5)

for segment in segments:
    print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")

정리

faster-whisper는 원본 Whisper의 정확도를 유지하면서 속도와 메모리 효율을 크게 끌어올린 음성 인식 라이브러리입니다. 여기에 가장 강력한 모델인 large-v3를 얹은 faster-whisper-large-v3는 정확도·속도·가성비를 모두 잡을 수 있는 조합으로, GPU 자원이 아주 부족한 상황이 아니라면 음성 인식·자막 제작 프로젝트에 우선적으로 고려할 만한 선택지입니다.