Hugging Face Transformers와 함께 다국어 ASR를 위한 Whisper 파인튜닝
Hugging Face는 OpenAI의 Whisper 모델을 다국어 자동 음성 인식(ASR)용으로 파인튜닝하는 기술 가이드를 공개했습니다. 🤗 Transformers 라이브러리를 활용하면 Whisper의 사전 학습된 다국어 지식을 저자원 언어에 적용할 수 있으며, 힌디어에 대한 파인튜닝 실험에서는 8시간의 학습 데이터만으로 단어 오류율(WER)을 63.5%에서 32.0%로 감소시켰습니다.
Whisper 모델 아키텍처 및 사전 학습
Whisper는 오디오 스펙트로그램 특징을 텍스트 토큰으로 매핑하도록 설계된 Transformer 기반 인코더-디코더(시퀀스-투-시퀀스) 모델입니다. Wav2Vec 2.0과 같은 이전 모델과 달리, Whisper는 라벨이 지정된 오디오-전사 데이터 대량(총 68만 시간, 그 중 11만 7천 시간은 다국어 ASR 데이터)으로 사전 학습되었습니다.
주요 기술적 특성
- Supervised Pre-training: 직접 음성-텍스트 매핑으로 학습되기 때문에, Whisper는 마스크 예측과 같은 비지도 작업으로 사전 학습된 모델보다 파인튜닝에 필요한 데이터가 크게 적습니다.
- Deep Fusion: 모델은 디코더 내부에 언어 모델을 통합하여, 단일 손실 함수(교차 엔트로피)로 전체 시스템을 엔드투엔드 학습할 수 있게 합니다.
- Input Processing: 원시 오디오는 로그-Mel 스펙트로그램으로 변환됩니다. 인코더는 이 스펙트로그램을 은닉 상태로 처리하고, 디코더는 이를 사용해 텍스트 토큰을 자동 회귀 방식으로 예측합니다.
모델 구성
Whisper는 성능과 계산 비용의 균형을 맞추기 위해 여러 크기로 제공됩니다:
| Size | Parameters | English-only | Multilingual |
|---|---|---|---|
| tiny | 39 M | 예 | 예 |
| base | 74 M | 예 | 예 |
| small | 244 M | 예 | 예 |
| medium | 769 M | 예 | 예 |
| large (v1, v2, v3) | 1550 M | 아니오 | 예 |
파인튜닝 파이프라인
Whisper 파인튜닝은 세 부분으로 구성된 파이프라인을 따릅니다: 오디오 전처리를 위한 특징 추출기, 시퀀스-투-시퀀스 모델, 텍스트 후처리를 위한 토크나이저.
오디오 전처리 및 특징 추출
Whisper는 오디오 입력이 16kHz로 샘플링될 것을 요구합니다. WhisperFeatureExtractor는 두 가지 핵심 작업을 수행합니다:
- Padding/Truncation: 모든 오디오 샘플을 30초 길이로 표준화합니다. 짧은 샘플은 0으로 패딩하고, 긴 샘플은 잘라냅니다.
- Spectrogram Conversion: 패딩된 오디오 배열을 로그-Mel 스펙트로그램으로 변환하여, 시간에 따른 신호의 주파수를 나타냅니다.
토크나이징 및 라벨링
WhisperTokenizer는 96개 언어를 포괄하는 사전 학습된 바이트 페어 인코딩(BPE) 어휘를 사용합니다. 파인튜닝 시 토크나이저는 특정 목표 언어와 작업(language="Hindi", task="transcribe" 등)으로 설정되며, 라벨 시퀀스 앞에 필요한 특수 토큰을 자동으로 추가합니다.
저자원 언어를 위한 구현 세부 사항
힌디어용 Common Voice 11.0 데이터셋을 활용하여, 가이드는 whisper-small 체크포인트를 적용하는 구체적인 워크플로우를 제시합니다.
데이터 준비
- Resampling: Common Voice 오디오는 종종 48kHz로 샘플링되므로,
datasets.Audio의cast_column메서드를 사용해 실시간으로 16kHz로 재샘플링합니다. - Mapping:
prepare_dataset함수는 로그-Mel 입력 특징을 계산하고, 목표 전사를 라벨 ID로 인코딩합니다.
학습 구성
- Data Collator: 맞춤형
DataCollatorSpeechSeq2SeqWithPadding을 사용해input_features(고정 차원 텐서)와labels(가변 길이 시퀀스, 손실 계산 시 무시하도록 -100으로 패딩)를 처리합니다. - Evaluation Metric: 성능은 ASR 분야의 표준인 Word Error Rate(WER)로 측정합니다.
- Hyperparameters: 데모에서는 학습률
1e-5,fp16정밀도, 최대 5,000 학습 스텝을 사용했습니다.
성능 결과 및 시사점
약 8시간 분량의 힌디어 데이터로 whisper-small 모델을 파인튜닝한 결과, 제로샷 사전 학습 모델에 비해 성능이 크게 향상되었습니다.
- Pre-trained WER: 63.5%
- Fine-tuned WER: 32.0%
- Absolute Improvement: 31.5%
이 결과는 Whisper의 방대한 사전 학습이 최소한의 추가 데이터만으로도 저자원 언어에 효과적으로 일반화될 수 있음을 보여줍니다. 결과를 더욱 개선하려면 학습률, 드롭아웃 등 하이퍼파라미터를 최적화하거나 medium 또는 large-v3와 같은 더 큰 체크포인트를 활용하는 것이 권장됩니다.