openai/whisper
Robust Speech Recognition via Large-Scale Weak Supervision
Whisper – 오픈 소스 음성-텍스트 모델
개요 – Whisper는 오디오를 텍스트로 변환할 수 있는 트랜스포머 기반의 sequence-to-sequence 모델입니다. OpenAI가 방대한 다국어 오디오 데이터셋으로 학습시켜, 단일 모델로 다음을 수행할 수 있습니다:
- 다양한 언어의 음성 전사(transcription),
- 구어의 영어 번역,
- 구어 언어 식별,
- 음성 활동 감지(VAD) 수행.
중요성 – 별도의 구성 요소(VAD → 언어 식별 → ASR → 번역) 파이프라인 대신, Whisper는 한 번의 패스로 모든 것을 수행하므로 개발이 단순해지며 다양한 언어와 오디오 조건에서 즉시 사용하기에 적합합니다.
모델 크기
| 크기 | 파라미터 | 영어 전용 | 다국어 | VRAM (약) | 상대 속도* |
|---|---|---|---|---|---|
| tiny | 39 M | tiny.en |
tiny |
~1 GB | ~10× (vs large) |
| base | 74 M | base.en |
base |
~1 GB | ~7× |
| small | 244 M | small.en |
small |
~2 GB | ~4× |
| medium | 769 M | medium.en |
medium |
~5 GB | ~2× |
| large | 1 550 M | – | large |
~10 GB | 1× |
| turbo | 809 M | – | turbo |
~6 GB | ~8× |
| *속도는 A100에서 영어를 전사할 때 측정된 값입니다. 실제 속도는 언어, 하드웨어 및 오디오에 따라 다릅니다. |
팁: 영어 전용 (*.en) 모델은 특히 tiny 및 base 버전에서 영어에 대해 조금 더 정확합니다. turbo 모델은 약간의 정확도 트레이드오프가 있는 large-v3의 속도 최적화 버전입니다.
빠른 시작 (CLI)
# 패키지 및 ffmpeg 설치 (오디오 디코딩에 필요)
pip install -U openai-whisper
# Ubuntu/Debian의 경우 ffmpeg도 필요합니다:
sudo apt update && sudo apt install ffmpeg
# 하나 이상의 파일 전사 (기본적으로 빠른 "turbo" 모델 사용)
whisper audio.flac audio.mp3 audio.wav --model turbo
--language <Lang>를 사용하여 언어를 강제하거나, 다국어 모델에서 --task translate를 사용하여 영어 번역을 얻을 수 있습니다.
Python에서 Whisper 사용하기
import whisper
model = whisper.load_model("turbo") # 모든 크기 이름 사용 가능
result = model.transcribe("audio.mp3")
print(result["text"])
더 낮은 수준의 제어를 위해서는 다음을 수행할 수 있습니다:
whisper.load_audio/whisper.pad_or_trim으로 오디오 로드 및 패딩/트리밍.whisper.log_mel_spectrogram으로 로그-Mel 스펙트로그램으로 변환.model.detect_language(mel)로 언어 감지.whisper.decode(model, mel, whisper.DecodingOptions())로 디코딩.
설치 참고 사항
- Python 3.8-3.11 및 최신 PyTorch 버전이 필요합니다.
- 이 패키지는 OpenAI의 빠른 토크나이저인 tiktoken에 의존합니다. 일부 플랫폼에서는 빌드를 위해 Rust 툴체인 (
rustc,cargo) 및setuptools-rust가 필요할 수 있습니다. - CLI 및 Python 오디오 로딩을 위해
ffmpeg가 시스템 경로에 있어야 합니다.
라이선스
코드와 모델 가중치는 MIT License 하에 공개됩니다.
더 알아보기
- 블로그 포스트 – https://openai.com/blog/whisper
- 논문 – https://arxiv.org/abs/2212.04356
- 모델 카드 – https://github.com/openai/whisper/blob/main/model-card.md
- Colab 데모 – https://colab.research.google.com/github/openai/whisper/blob/master/notebooks/LibriSpeech.ipynb
- 커뮤니티 예시 – 저장소의 Show and tell 토론 카테고리를 참조하세요.
관련
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트
- Dispatch