본문 바로가기

paper_review

[논문리뷰] Distil-Whisper: Robust Knowledge Distillation Via Large-Scale Pseudo Labelling

1. Introduction

 본 논문이 발표될 당시 자동 음성 인식 ASR 시스템은 인간 수준의 정확도를 능가하고, 음성 전사 서비스부터 음성 비서까지 여러 분야에서 응용되고 있습니다. Whisper는 68만 시간 분량의 약지도 음성 인식 데이터로 사전학습된 15억 개 파라미터의 seq2seq Transformer 모델로, 다양한 데이터셋과 도메인에 대해 강력한 일반화 성능을 보여줍니다. 하지만, 사전학습된 ASR 모델의 규모가 커질수록, 이러한 시스템을 저지연 환경이나 자원이 제한된 하드웨어에 배포하는 데에 어려움이 커지고 있습니다. 따라서 NLP 분야에서는 Transformer 기반 모델을 압축하기 위한 다양한 시도들이 이루어지고 있는데, 그 중 지식 증류는 BERT와 같은 대형 모델의 크기를 큰 성능 손실 없이 줄이는 데 성공하였고, 특히 생성 기반이 아닌 분류 작업에서 그 효과가 입증되었습니다. 또한 기계 번역에서 영감을 받은 의사 라벨링(PL) 방식은 seq2seq 요약 작업에도 적용되어 생성 태스크에서의 모델 압축 가능성을 보여주었습니다. 오디오 도메인에서도 지식 증류는 오디오 분류 작업에서 유망한 결과를 보여주었습니다. 그러나 음성 인식처럼 더 어려운 과제에서는 아직 이와 유사한 수준의 성과는 달성되지 못했습니다. 

 본 논문에서는 Whisper 모델에 대해 seq2seq 기반 음성 인식 관점에서 지식 증류를 적용합니다. 그리고 10개의 다른 도메인을 아우르는 대규모 오픈소스 데이터셋을 구축하여 다양한 음향 조건에 대한 모델의 강건성을 유지했습니다. 데이터에는 의사 라벨을 부여함으로써 데이터셋 전반에 걸쳐 전사 형식을 Whisper와 일관되게 유지할 수 있었고, 동시에 단어 단위가 아니라 문장 전체 기준으로 학습하기 때문에 시퀀스 수준의 증류 신호를 제공했습니다. 또한 WER 기반의 간단한 휴리스틱이 증류 모델 성능을 보장하는 데 효과적임을 실험을 통해 입증했습니다.

* Distil-Whisper에서 증류 신호는 Whisper가 출력한 softmax 확률 분포 전체를 말합니다.

 


2. Related Work

 NLP 분야에서는 모델 크기를 줄이면서 성능 손실을 최소화하는 연구가 활발히 이루어지고 있습니다. 한 연구에서는 지식 증류 손실(KD loss)과 기존의 교차 엔트로피 손실을 가중합하여 학습하는 방식으로 DistilBERT를 제안했습니다. 이 모델은 BERT를 6층 구조로 축소하면서도, GLUE 벤치마크에서 모델 크기 40% 감소, 속도 60% 향상, 언어 이해 능력 97% 유지했습니다. 이러한 DistilBERT 방식을 Seq2Seq 환경으로 확장하는 연구도 있었습니다. 교사의 디코더 중 간격을 최대화한 층을 선택해 학생 디코더를 초기화하고, 중간 은닉 상태를 KD 솔실에 포함시켜 만들었습니다. 이 모델은 XSUM 및 CNN/Daily Mail 데이터셋에서 원본 모델보다 모델 크기 37% 감소, 속도 48% 향상, 성능 유지 및 향상을 보였습니다.

 증류 모델이 훈련 데이터에서는 좋은 성능을 내지만 분포 외 테스트 데이터에서는 원래 모델보다 성능이 현저히 떨어질 수 있습니다. 이에 본 논문은 다양한 음향 조건을 포함한 대규모 의사 라벨링 데이터셋을 활용하여 강건성을 유지하는 것을 목표로 했습니다.

 위 연구에서 쓰인 증류란, 큰 모델을 작은 모델로 지식을 압축하는 과정입니다. 딥러닝 모델은 크고 무거울수록 성능이 좋지만 그만큼 느리고 계산량이 커집니다. 그래서 잘 학습된 큰 모델을 작은 모델에게 압축해서 전달하는 것을 증류라고 합니다. 이때 정답 라벨(one-hot, hard label)만 주는 게 아니라 교사 모델이 예측한 확률 분포(soft label) 전체를 학생 모델이 따라하도록 지식도 함께 학습하는 것이 지식 증류입니다.

 지식 증류는 ASR 과제에도 일부 적용됐으나, 대부분 인코더 전용 모델에 집중되어 있습니다. Wav2vec 2.0모델과 HuBERT 모델에 KD를 적용하여 성능을 높이기도 하고, 초기 Seq2Seq ASR 모델인 LAS를 증류하려 했습니다. 본 논문은 Seq2Seq 모델에 대한 증류를 중심으로 하며, 모델 압축과 함께 분포 외 데이터에서의 성능 유지를 동시에 달성하고자 합니다.

 이전 연구에서 Whisper 모델을 증류한 사례들은 대부분 모델 크기 및 메모리 최적화에 집중되어 있습니다. 지식 증류와 양자화 인지 훈련(QAT)을 결합하여 파라미터 수를 크게 줄이면서도 성능 저하를 최소화한 연구가 있습니다. 그러나 이 모델은 분포 내 데이터로만 학습 및 평가되었기에 다양한 음향 조건에 대한 일반화 성능이나 강건성은 확인되지 않았습니다. 또한 지연(latency) 최적화에 대한 고려도 부족했습니다. 본 논문은 Whisper 모델을 증류하면서도 모델 크기와 추론 지연 감소, 테스트 성능 유지, 잡음 환경에 대한 강건성을 모두 달성하고자 합니다.

 


3. Background

 Whisper는 Seq2Seq Transformer 모델로, 68만 시간 분량의 웹에서 수집된 잡음 포함 음성 인식 데이터셋을 기반으로 사전학습되었습니다. 이처럼 대규모 데이터로 학습한 whisper는 완전 감독 방식의 시스템 성능만큼 무감독인 zero-shot 설정에서도 달성할 수 있습니다. 여기서 zero-shot은 학습에 사용하지 않은 새로운 도메인에 대해서도 정확하게 반응하는 지를 보는 설정입니다.

* 완전 감독은 입력마다 정답 라벨이 주어져있는 데이터로 학습하는 것이고, 무감독은 오디오만 있고 정답없이 입력만 보고 패턴을 스스로 학습하는 것입니다.

 

모델 구성

 Whisper의 입력은 아래와 같이 T개의 특징 벡터로 표현되고 목표 전사 텍스트는 N개의 토큰으로 구성됩니다.

인코더는 이 입력 시퀀스 X를 M개의 은닉 상태 벡터로 변환합니다. H의 길이 M은 입력 시퀀스 T의 절반 정도로, 인코더 앞단의 컨볼루션 계층이 다운샘플링을 수행하기 때문입니다.

디코더는 autoregressive 방식으로, 이전까지의 토큰 y와 인코더의 은닉상태 H를 바탕으로 다음 토큰 y의 확률분포를 예측합니다.

 

학습 방식

 Whisper는 (X, y) 형태의 (오디오, 텍스트) 쌍으로 구성된 데이터셋을 기반으로 학습됩니다. 교차 엔트로피 손실을 최소화되도록 학습되고 목표는 정답 토큰 y의 확률을 최대화하는 것입니다. 아래는 손실 함수 식입니다.

 

모델 크기

 Whisper는 5가지 크기의 모델이 존재하며, 모두 동일한 구조를 공유하지만, 레이어 수, 폭(width), 헤드 수 등이 다르다. large-v1 모델은 최초 Whisper 논문에서 소개된 버전이며, 이후 정규화와 학습 에폭을 증가시켜 성능이 개선된 large-v2가 발표되었습니다. 두 모델은 차원이 동일하기 때문에, 본 논문에서는 large-v2만을 기준으로 성능을 비교하였습니다.

 


4. Architecture

Robust Knowledge Distillation

 지식 증류(KD)는 대규모 교사 모델의 동작을 소형 학생 모델이 모방하도록 훈련시켜 모델을 압축하는 기술입니다. 전통적인 교차 엔트로피 손실을 최소화하는 대신 KD는 전체 확률 분포를 학습하게 하여 더 많은 정보를 제공합니다. 즉, 단순히 정답 토큰만 맞추는 게 아니라, 교사 모델이 예측한 모든 가능한 다음 토큰에 대한 분포 자체를 학생 모델이 학습합니다.

 기본적인 증류 방법은 교사 모델보다 작은 학생 모델을 만들고 교차 엔트로피로 학습하는 것입니다. 본 논문은 Shleifer & Rush (2020)의 방식에 따라 층 기반 압축을 사용합니다. 예를 들어, 32층 교사 모델 → 2층 학생 모델을 만들 때는, 1층과 32층의 가중치를 그대로 가져와 학생 모델의 1층과 2층으로 초기화합니다. 이 단순한 전략은 요약, 번역 등 시퀀스 생성 과제에서 효과적이었고, 본 논문에서도 모든 증류 실험에 동일한 초기화 전략을 사용했습니다.

 의사 라벨링(pseudo-labelling)은, 정답 레이블 대신 교사 모델이 스스로 예측한 결과를 사용해 학생 모델을 학습하는 방식입니다. 교사 모델이 정답처럼 예측한 결과를 라벨처럼 간주하여 학습하는 이 방법은 라벨 없는 데이터도 활용 가능해집니다. 오디오 X에 대해 교사 모델이 생성한 전사 결과 y를 사용하여 학생 모델이 아래 손실 함수를 최소화하도록 훈련됩니다. 이는 시퀀스 단위 증류로 볼 수 있으며, 교사 -> 학생으로 토큰 시퀀스 전체에 걸쳐 지식이 전달됩니다. 즉, Distil-Whisper는 Whisper가 라벨 없는 오디오를 전사하여 그 결과를 정답처럼 사용해 학습용 수도 라벨링 데이터셋을 만들고, 거기에 soft label까지 써서 지식 증류를 수행합니다.

 KL Divergence는 교사 모델 Q가 생성한 확률 분포를 학생 모델 P가 최대한 유사하게 따라가는지를 측정하는 손실함수입니다. Divergence란 정보 거리로, 두 확률 분포 간의 비대칭적인 거리를 계산하는 것입니다. 두 분포 사이 뭘 기준으로 보느냐에 따라 값이 다르기 때문에 비대칭적입니다. 이 함수는 각 위치 i에서 모든 가능한 토큰에 대한 분포를 고려하며, 아래 손실을 최소화합니다. KD에서 사용하는 손실 함수로, 단어 단위로 soft label을 증류하는 KD(지식 증류)로 볼 수 있으며, 확률 분포의 전체 정보를 사용해 학습이 이루어집니다.  KL 손실은 확률 분포를 그대로 보는 soft label이기 때문에 one-hot 라벨을 쓰는 교차 엔트로피보다 기울기 분산이 작고 더 안정적이라는 장점이 있습니다. CE는 "모델이 정답에 얼마나 확실했는지"를 보고, KL은 "모델이 정답 분포를 얼마나 잘 따라갔는지"를 보는 차이가 있습니다.

 전체 시퀀스 길이 N만큼 각 위치 i에서 교사 모델이 만든 확률 분포 Q와 학생 모델 확률 분포 P 사이의 KL 다이버전스를 계산해서 모두 더한 값이 KL_loss가 됩니다. KL(P||Q)가 작을수록 학생이 교사를 잘 따라가고 있다는 의미입니다. 즉, P Q 가까워져 P/Q가 1이 되어 log1 = 0, 즉 손실이 0이 되는 것이 가장 이상적입니다.

KL(P|Q) : P가 정답인데 Q가 맞다고 가정했을 때 낭비되는 비트 수, 정보 손실

위 식을 풀면 PlogP - PlogQ = H(P, Q) - H(P)로 유도됩니다. H(P, Q)는 Q로 P를 설명할 때 필요한 정보량입니다. H(P)는 P에 대한 정보손실입니다. H(P, Q) - H(P)는 항상 양수입니다.

최종적으로 사용되는 손실 함수는 KL 손실과 PL 손실의 가중합입니다. 본 논문에서 가중치는 α_KL = 0.8, a_PL = 1.0로 설정했습니다.

 

Pseudo-Label Selection: WER threshold

 Whisper 모델이 생성한 의사 라벨에는 오류나 환각이 포함될 수 있기 때문에 학습에 사용할 고품질 의사 라벨만 선별하는 것이 중요합니다. 이를 위해 WER 기반 필터링 휴리스틱을 제안했습니다. 전사 품질이 낮은 데이터는 제거해 노이즈가 감소하고 정확한 데이터로만 학습하기 때문에 학생 모델이 혼란스럽지 않은 학습이 가능해지고, 이 단순한 필터링이 전사 품질과 모델 성능 향상에 매우 효과적이었습니다.

  • 각 샘플에 대해, 정답 전사 y와 Whisper 예측 y를 whisper english normaliser로 정규화
  • 이 두 전사 간의 비교로 WER을 계산 후 WER이 임계값을 초과하면 해당 샘플 폐기
  • WER이 임계값보다 낮은 예측만 학생 모델 학습에 사용 
  • 임계값은 검증 데이터셋 기반으로 튜닝

다시 말해, 위 필터링 조건을 만족해야 합니다. 저 조건은 Whisper가 만들어낸 의사 라벨이 정답 문장과 너무 다르면, WER이 λ보다 크면 해당 샘플을 학습에서 제외한다는 의미입니다. 그러나 이 조건은 라벨이 있는 데이터만 계산 가능하고, 비라벨 데이터에는 적용할 수 없어 보통 소량의 라벨 데이터 + 비라벨 데이터를 같이 쓰는 Semi-Supervised Learning으로 학습합니다.

 

Chunked Long-Form Transcription

 Whisper 모델은 30초 길이의 고정 입력 수용 범위(receptive field)를 갖기 때문에, 30초를 초과하는 긴 오디오는 한 번에 처리할 수 없습니다. 대부분의 학술 데이터셋은 짧은 길이의 발화(30초 미만)로 구성되어 있어 문제가 없지만, 회의 녹음과 같은 실제 응용 사례에서는 수 분~수 시간 분량의 오디오 전사가 필요합니다. 기존 Whisper 논문에서는 긴 오디오를 30초씩 잘라서 순차적으로 전사하는 슬라이딩 윈도우  방법을 사용했습니다. 각 청크는 디코딩되고, 모델이 예측하여 출력하는 타임스탬프를 기준으로 다음 슬라이딩 윈도우가 이동합니다. 그러나 전사가 부정확하고 추론 속도가 느리며 병렬 처리가 불가능하다는 단점이 있습니다.

* 슬라이딩 윈도우는 오디오를 일정 구간 단위로 잘라서 처리하는 전략으로, 전사된 마지막 타임스탬프를 기준으로 다음 구간을 이동하여 자연스럽게 이어갑니다.

 그리디 디코딩은 매 단계마다 가장 확률이 높은 토큰 하나만 선택해서 문장을 생성하는 방식으로 속도가 빠릅니다. 하지만 전체 시퀀스의 품질은 떨어질 수 있습니다. 본 논문에서는 청크 기반 전사 알고리즘을 사용합니다. 오디오 전체를 여러 개의 청크로 나눕니다. 인접한 청크 사이에는 소량의 오버랩을 추가합니다. 각 청크를 독립적으로 그리디 디코딩(전사)한 뒤, 오버랩 구간에서 최장 공통 부분 문자열(LCS)를 찾아 텍스트를 연결합니다. 이 알고리즘은 단순 그리디 디코딩으로 생성된 시퀀스가 정답 시퀀스와 얼마나 비슷한지 중복되거나 어색한 부분을 정리하여 장문 오디오를 신뢰성 있게 후처리하고, 청크들이 서로 독립적이라 병렬 추론이 가능해 추론 속도가 9배 빨라졌습니다. 

LCS는 Longest Common Subsequence로, 두 시퀀스에서 순서를 유지한 채 가장 길게 겹치는 부분 시퀀스를 찾는 알고리즘입니다. 연속일 필요는 없고, LCS가 여러개 존재할 수 있지만 길이가 가장 긴 하나만 선택됩니다.

 

Speculative Decoding

 추측 디코딩(SD)은 autoregressive Transformer 모델의 추론 속도를 향상시키며 성능을 유지하는 방법으로, 덜 정확하지만 더 빠른 보조 모델을 활용한다는 점이 핵심입니다. 그다음 정확하지만 느린 메인 모델이 검증하고 수정하는 방식의 디코딩 방식입니다. 기본 원리를 설명하자면:

  1. 보조 모델이 여러 개의 후보 토큰 시퀀스를 먼저 생성
  2. 메인 모델은 이 후보 시퀀스를 한 번의 추론으로 검증만 수행
  3. 검증 조건: 보조 모델이 만든 i번째 후보 토큰 y는 그 이전까지의 모든 후보가 메인 모델과 일치할 경우에만 채택됨

 따라서 최종 출력 시퀀스는 메인 모델 단독으로 생성한 것과 완전히 동일합니다. 결과가 수학적으로 동일하기 때문에, 기존 Whisper 추론 파이프라인의 drop-in 대체가 가능합니다. 속도는 보조 모델의 추론 속도를 대부분 반영해서 추론 속도가 큰 폭으로 개선됩니다. 지식 증류된 모델을 보조 모델로 사용하면 메인 모델과 분포 차이가 줄어들어 성능이 더 좋아진다고 합니다. 보조 모델은 이미 메인 모델의 분포를 모방하도록 학습되었기 때문에 메인 모델은 대부분의 토큰에 대해 보조 모델의 결과를 수정할 필요가 없기 때문입니다. 본 논문에서도 Distil-Whisper를 Whisper의 보조 모델로 사용하여 정확도는 유지하면서 추론 속도가 2배 이상 향상되었습니다.

* drop-in 대체란 기존 시스템에서 코드를 하나도 안바꾸고, Whisper 대신 Distil_whisper로 교체만 하면 작동하는 호환성을 보장하는 전략입니다. API 구조나 입출력 방식이 전부 동일하기 때문입니다. EX. model = whisper.load_model("large") -> model = distil_whisper.load_model("distil-large")

 


5. Experiment

데이터셋

 SpeechStew에서 영감을 받아, 본 논문은 KD에 사용될 대규모 음성 인식 데이터셋을 총 9개의 공개 음성 인식 데이터셋을 조합하여 21,170 시간 분량입니다. 18,260명 이상의 화자를 포함하고, 10개의 서로 다른 도메인을 커버할 수 있습니다. Hugging Face Datasets 라이브러리를 사용해 데이터셋을 로드하고 전처리하고 모든 데이터는 Hugging Face Hub에서 스트리밍 방식으로 불러옵니다.

 Whisper의 large-v2 체크포인트를 사용하여 학습용 데이터에 의사 라벨을 생성했습니다. Hugging Face Transformers 라이브러리의 Flax 기반 Whisper 구현체를 활용했고, 그리디 디코딩과 빔서치 디코딩 모두 실험했지만 성능 차이가 거의 없어 속도가 빠른 그리디 디코딩으로 라벨을 생성했습니다.

* 빔서치는 매 단계에서 상위 B개의 후보 시퀀스를 유지하면서 확률적으로 더 나은 조합을 찾습니다. 일반적으로 그리디 디코딩보다 계산량은 많지만 더 문맥에 맞는 자연스러운 결과를 생성합니다.

 

학습

학생 모델은 교사 모델의 전체 인코더를 그대로 복사하여 초기화합니다. 복사한 인코더는 학습하는 동안 고정되고 디코더만 학습 대상이 됩니다. 디코더는 교사 모델의 디코더 중 첫번째 층과 마지막 층을 선택해 복사하여 초기화합니다. 그 외의 디코더 층은 전부 제거합니다. 본 논문에서는 아래 두 가지 Distil-Whisper 모델을 제안했습니다.

 학습 세부 설정으로, 배치 크기는 256, 총 80,000 스텝으로 약 8 에폭 학습했습니다. 학습 에폭 수가 적어 과적합 위험이 낮고 데이터셋이 다양해서 일반화 능력을 확보했기 때문에 데이터 증강이나 정규화 기법은 사용하지 않았습니다. 이렇게 간결하고 빠르면서 성능을 유지하도록 경량화된 모델입니다.

 위 그림은 Distil-Whisper 구조입니다. 왼쪽 하늘색 박스는 교사 모델과 같은 구성이고, 오른쪽 핑크색 박스는 학생모델 구성이며, 두 모델 간 지식 증류 과정입니다. 인코더는 Whisper의 인코더 구조를 그대로 복사해 고정 상태로 사용하고, 디코더는 Whisper의 첫번째 층과 마지막 층 2층만 사용합니다. 첫번째 층은 초기 입력 정보를 다루고 하위 수준 특징 추출에 강합니다. 마지막 층은 모델의 최종 출력 결정에 영향을 가장 크게 줍니다. 입력과 출력에 민감한 층을 남겨 풍부한 표현력을 최대한 유지하면서 모델을 얇고 효율적으로 유지합니다. 그리고 이 디코더는 교사 모델의 출력 확률 분포를 모방하도록 학습됩니다. 즉, KL Divergence를 최소화하도록 학습합니다. KL가 0에 가까울수록 학생 모델과 교사 모델의 분포가 같을 때이며, 가장 이상적인 상황으로 학습이 잘 됩니다.

 맨 아래에서 멜 스펙트로그램을 입력으로 들어옵니다. Conv1D+GELU 레이어에서 오디오의 local 패턴을 추출하고 시간 정보를 반영하기 위해 위치 인코딩을 추가합니다. 32개의 Encoder 레이어에서는 오디오에서 의미있는 특징들을 고차원적으로 추출합니다. 인코더의 출력은 시간축으로 정렬된 은닉 상태 표현(context embedding)입니다. 디코더에서는 텍스트 시퀀스가 들어오고 토큰 임베딩과 Learned positional encoding을 거쳐서 최종 입력으로 들어갑니다. 디코더 레이어에서는 인코더의 출력과 cross attention하여 다음 단어를 예측합니다. 디코더 출력을 softmax로 거친 단계에서 의사 라벨과 비교하여 정확도를 학습합니다. 그림에는 표현되어 있지 않지만 학생모델 디코더의 출력이 나오기 전 이미 교사 모델이 디코더를 거쳐 예측한 확률 분포를 의사 라벨로 사용합니다.  KL divergence 손실을 계산하여 Whisper와 Distil-Whisper의 확률 분포를 비교하여 얼마나 비슷한지 측정합니다.

여기서 인코더는 왜 Sinusoidal positional encoding을 사용하고 디코더는 Learned positional encoding을 사용할까요?

 인코더의 입력은 오디오 프레임을 나타내는 멜 스펙트로그램입니다. 오디오는 절대적인 순서가 고정된 연속 신호이며, 고정된 길이로 학습되었지만 Sinusoidal PE로 학습되지 않는 고정된 정현파 함수를 사용하기 때문에 학습되지 않은 길이에서도 위치 패턴을 수학적으로 일반화할 수 있습니다. 오디오 신호는 연속성과 주기적 구조를 가지기 때문에 sin/cos 수학 함수로 위치를 계산하여 고유한 위치 정보를 부여해서 시간 순서를 선형적으로 유추하기 쉬워집니다. 

 디코더의 입력은 이전까지 생성된 텍스트 토큰입니다. 텍스트는 언어 구조나 어순에 따라 의미가 달라지고 상대적 의미가 중요합니다. 또한 시간 순서보다 문맥적 순서가 더 중요합니다. 그래서 Learned PE로 '이 위치에서 이런 문맥이 자주 나온다'라는 문맥적 위치 편향을 학습하여 언어 생성 품질을 높입니다. 이는 디코더 학습 과정 중에 모델 파라미터로 함께 학습되는 위치별 벡터 테이블입니다. 하지만 최대 길이를 정해둔 파라미터 테이블이기 때문에 범위를 넘어서면 추론이 불가능합니다. 정리하자면, Word embedding과 Learned PE는 파라미터로 업데이트되어 다음 입력으로 다시 들어갑니다.

 * 테이블은 여러개의 행 각각이 독립된 항목인 위치 벡터를 말합니다. Whisper에서는 Learned PE가 행렬 형태이지만 테이블처럼 쓰이기 때문에 벡터 테이블이라고 표현합니다. 위치별로(행마다) 벡터를 하나씩 꺼내 쓰는 데이터 구조로 사용합니다.

 

단문 전사 평가

 Distil-Whisper의 목적은 Whisper 모델의 강건성을 유지하면서 더 작고 빠른 모델을 만드는 것입니다. 이를 검증하기 위해 다양한 데이터셋에 대한 일반화 성능을 측정했습니다.  15개 단문 음성 인식 데이터셋을 사용해 평가를 진행했으며, 이 중 11개는 Distil-Whisper 학습에 사용된 데이터셋과 동일한 도메인을 공유하지만 테스트 전용으로 분리되어 학습에는 포함되지 않은 데이터입니다. 이는 모델이 학습할 때 본 데이터와 유사한 분포이기에 분포 내(ID) 테스트셋이라 부릅니다. 나머지 4개는 학습에 포함되지 않고 모델이 본 적 없는 새로운 도메인의 테스트 전용 데이터셋으로 분포 외(OOD) 테스트셋이라고 부릅니다. 이로써 해당 도메인의 훈련 데이터를 전혀 사용하지 않은 상태인 zero-shot에서 테스트하여 OOD 데이터에 대한 일반화 능력을 평가합니다. 아래는 분포 외 평가에 사용된 데이터셋입니다.

 전체 평균 성능(robustness)과 효과적인 강건성(effective robustness)을 분석했습니다. 전체 평균 성능은 모델이 다양한 환경에서 전반적으로 평균적으로 얼마나 잘 작동하는지를 나타내고, WER 평균이나 Acc 평균 등으로 측정합니다. 효과적인 강건성은 특정 분포 내 참조 데이터셋(ID)에서의 성능과 분포 외 데이터셋(OOD)에서의 성능 차이를 측정하는 방식입니다. 효과적인 강건성이 높은 모델은 참조 데이터셋에서의 성능이 높을수록 OOD 데이터셋에서도 성능이 더 좋게 나타납니다. 그리고 같은 평균이라도 OOD 데이터셋에서 더 정확도가 높은 모델이 강건한 모델입니다. 가장 이상적인 모델은 모든 데이터셋에서 동일한 성능을 유지하는 모델이죠.

 실험에서는 GigaSpeech 데이터셋을 참조 데이터셋으로 사용했습니다. 왜냐하면 이 데이터셋이 오디오북, 팟캐스트, 유튜브 영상 등에서 웹 크롤링된 데이터를 포함하고 있으며, Whisper의 사전학습 데이터와 Distil-Whisper의 증류 학습 데이터 모두와 유사한 특성을 지니기 때문입니다. 또한 잡음에 대한 강건성을 평가하기 위해, Distil-Whisper 모델, Whisper 모델, 그리고 LibriSpeech로 학습된 8개의 모델을 대상으로 실험했습니다. LibriSpeech test-clean 데이터셋에 다양한 강도의 잡음을 추가한 후, WER을 측정했습니다. LibriSpeech 데이터셋은 기본적으로 매우 높은 신호 대 잡음비(SNR)를 갖고 있어, 잡음 강도를 점차 증가시키며 모델의 성능 저하 양상을 관찰하기에 적합합니다. 실험에 사용한 잡음은 white noise와 pub noise입니다. pub noise는 식당이나 술집에서 흔히 들을 수 있는 환경음이라 실제에 가까운 잡음 분포를 재현합니다. 잡음이 심해질수록  Distil-Whisper의 WER 증가폭은 Whisper와 유사하게 작아지며, LibriSpeech로만 학습된 모델들보다 훨씬 강건함이 확인되었습니다.

 

 

장문 전사 평가

 Distil-Whisper 모델의 장문 전사 성능도 평가하기 위해, 길이와 음향 조건이 서로 다른 네 개의 분포 외(long-form OOD) 데이터셋을 활용했습니다. 이러한 데이터셋들은 가능한 한 다양한 분포를 포괄할 수 있도록 구성되었습니다.

 Whisper 모델은 환각에 취약한 경향을 보입니다. 이는 주로 동일한 구문을 반복해서 생성하거나 오디오에 실제 존재하지 않는 내용을 생성하는 형태로 나타납니다. 이러한 오류는 장문 전사에 자주 발생하고, 발화 사이에 긴 침묵 구간이 포함된 오디오에서 더욱 두드러집니다. 그래서 WER만으로는 잘 포착되지 않는 예측된 전사 결과에 포함된 반복성과 환각의 정도를 정량적으로 측정하기 위해, 아래 세부 지표들을 활용했습니다:

  • 5-gram 반복 오류 (5-Dup.): 동일한 5단어 구문이 반복된 횟수 - 반복
  • 삽입 오류율 (Insertion Error Rate, IER): 입력 오디오에 존재하지 않는 단어가 생성된 비율 - 환각
  • 대체 오류율 (Substitution Error Rate, SER): 원래 단어 대신 다른 단어가 잘못 예측된 비율
  • 삭제 오류율 (Deletion Error Rate, DER): 입력 오디오에 존재했으나 전사에서 누락된 단어 비율
  • 단어 오류율은 SER + DER + IER을 종합한 전체 오류율

 


6. Results

단문 전사 평가

 위 표는 Whisper와 Distil-Whisper 체크포인트에 대한 4개의 분포 외 테스트셋에 대한 WER 점수입니다. 두 개의 증류 모델 중 distil-large-v2 모델이 전체 평균 WER 10.1%로 가장 낮은 오류율을 달성했습니다. 이 값은 large-v2 원본 모델에 비해 단 1% 높으며, 추론 속도는 5.8배 더 빠르고, 파라미터 수는 절반 이하로 줄어들었습니다. 이 모델의 추론 속도는 Whisper의 가장 작은 모델인 tiny.en과 유사하지만, WER 기준으로는 8.8% 더 나은 성능을 보였습니다. 또 다른 증류 모델인 distil-medium.en은 평균적으로 large-v2 모델보다 WER이 2.0% 더 높았으며, 추론 속도는 6.8배 빨라졌고 모델 크기는 75% 줄어들었습니다.

 위 결과들로 Distil-Whisper가 Whisper 모델의 전반적인 강건성을 유지하면서도 분포 외 데이터셋에서 비슷한 WER 성능을 유지하며 빠른 추론 속도와 모델 경량화를 동시에 달성했음을 알 수 있습니다. 아래 표는 large-v2 모델과 distil-large-v2 모델 간의 효과적 강건성을 비교한 것입니다. 두 모델은 참조 데이터셋인 GigaSpeech에서 성능이 매우 유사하고, 상대 오류율로는 2% 이내의 차이를 보였습니다. distil-large-v2 모델은 SPGISpeech 데이터셋에서 원본 모델 대비 상대적으로 12.8% 성능이 향상되었지만, 나머지 세 개 OOD 데이터셋에서는 다소 낮은 성능을 보였습니다. OOD 데이터셋은 사투리나 잡음 등 발화스타일이 다양해서 Whisper의 예측 자체가 불안정하거나 틀리는 경우도 많습니다. 이를 기반으로 학습한 Distil 성능은 더 저하될 수밖에 없습니다. 전체적으로 distil-large-v2 모델은 원본 모델에 비해 절대적으로 0.8% WER가 증가했으며, 두 모델 간 성능 차이가 매우 좁다는 점은 distil-Whisper가 Whisper와 거의 유사한 효과적 강건성을 유지함을 알려줍니다.

 

 

장문 전사 평가 

 Distil-Whisper 모델과 사전학습된 Whisper 모델들을 비교하여 4개 분포 외 테스트셋에 대해 장문 오디오 전사 성능을 평가했습니다. 배치 크기가 16일 때 상대 추론 지연과 각 모델의 평균 WER가 제시되어 있습니다. 

 그 결과, distil-large-v2 모델은 5개 테스트셋 중 4개에서 large-v2 모델과 같거나 더 나은 성능을 보였습니다. 평균적으로 large-v2보다 WER이 0.1% 더 낮았으며, 배치 기반 추론 속도는 5.8배 더 빨랐습니다. 다만 예외적으로 MeanWhile 데이터셋은 비일상적 단어가 빈번하게 포함된 단일 화자의 녹음으로 구성되어 있어, Distil-Whisper 모델의 성능이 Whisper보다 낮게 나타났습니다. 아래 표는 Whisper의 기존 순차적 전사 방식과 Distil-Whisper의 청크 기반 전사 알고리즘을 비교한 결과입니다.

 large-v2 모델이 순차 방식에서 얻은 WER과 비교했을 때, 같은 모델이 청크 방식으로 전사한 경우 추론 속도는 9.9배 빨라졌고 평균 OOD WER은 1.3% 증가하였다. 이로써 청크 방식의 배치 처리를 통한 성능 개선 효과가 확인되었습니다. distil-large-v2모델에 청크 방식을 사용할 경우 Whisper large-v2 순차 방식 대비 57.5배 더 빠른 속도를 보였으며, WER은 거의 유지되었습니다. 이 결과는 Distil-Whisper 모델이 Whisper보다 장문 전사에서 더 효율적이고 정확한 대안이 될 수 있음을 알 수 있습니다.

 

잡음 강건성

 Whisper는 realistic 웹 기반 음성 데이터를 이용해 사전학습되었기 때문에 잡음 환경에서도 강한 전사 성능을 유지합니다. 본 논문에서 Whisper와 Distil-Whisper가 잡음이 추가된 환경에서 얼마나 잘 작동하는지 평가하기 위해 LibriSpeech test-clean 데이터셋에 두 종류의 인공 잡음을 추가하고, SNR 수준을 변화시키면서 성능을 측정했습니다.

실험 결과, Whisper 및 Distil-Whisper는 SNR이 낮아질수록 성능 저하 폭이 매우 완만하게 유지되었고, Whisper-tiny.en, base.en 등보다 현저하게 낮은 WER을 기록했습니다. 특히 주목할 점은 Distil-Whisper가 Whisper와 거의 동일한 수준의 잡음 강건성을 보였다는 것입니다. 이는 Whisper를 증류하면서도, 잡음에 대한 방어력(robustness)은 거의 손실 없이 유지되었음을 의미합니다.

 

환각 및 반복

 Whisper 및 Distil-Whisper 모델이 생성한 전사 결과에 대해 비교 분석하여 환각 및 반복 오류를 파악했습니다. 아래 표는 long-form 데이터셋들에 대해 Whisper large-v2와 distil-large-v2의 결과를 요약한 것입니다. 주목해야 할 점은 Distil-Whisper가 Whisper보다 삽입 오류율이 낮고, 반복 오류 수도 적다는 것입니다. Whisper large-v2는 Meanwhile 데이터셋에서 총 18개의 중복된 5-그램을 생성했지만, 동일 조건에서 Distil-Whisper는 단 6개만을 생성한걸로 보아 Distil-Whisper가 더 안정적이고 환각 오류가 개선된 전사 결과를 산출합니다. 단순히 모델 크기를 줄인 것에 그치지 않고, 학습 과정에서 불필요한 반복과 삽입 오류를 줄이는 방향으로 일반화된 모델이라고 할 수 있습니다.

한편, sav2vec 2.0 모델은 평균 WER에서는 상대적으로 낮은 성능이었지만 반복 오류에는 훨씬 덜 민감했습니다. 따라서 Seq2Seq 기반 음성 인식 모델에서 반복 오류를 줄이기 위한 연구가 필요함을 시사합니다.

 


7.  Analysis

 본 논문에서는 WER을 기준으로 Whisper의 의사 라벨을 필터링하여 학습에 사용되는 데이터의 품질을 향상시켰습니다. WER 임계값은 모델 성능에 어떤 영향을 미칠까요?

 λ 값을 낮게 설정할수록 모델의 삽입 오류율이 감소하고, WER도 함께 줄어드는 경향을 보였습니다. 반대로, λ를 너무 높게 설정하면 잡음이나 오류가 포함된 의사 라벨까지 학습하게 되어, 모델이 불필요한 환각과 반복을 보입니다. 가장 이상적인 결과는 λ = 0.5일 때 나타났으며, 이 값은 입력과 Whisper 전사 결과 간의 WER이 50% 이하인 샘플만을 사용하도록 설정한 것입니다. 결론적으로, 간단한 WER 기반 휴리스틱만으로도 의사 라벨의 품질을 효율적으로 제어할 수 있으며, Distil-Whisper의 전반적인 전사 품질을 상당히 향상시킬 수 있음을 확인했습니다.

 위 표는 각 데이터 비율에 대해 학습된 distil-large-v2 모델의 WER 성능을 보여줍니다. 데이터셋의 크기가 증가할수록, 분포 내 검증 데이터셋에서의 성능은 지속적으로 향상되었습니다. 분포 외 검증 데이터셋에서는 학습 데이터가 435시간에서 3,483시간으로 늘어날 때 급격한 성능 향상이 있었지만, 3,483시간에서 13,933시간 사이에서는 성능 향상이 둔화되었습니다. 즉, Pseudo-label 기반 학습 데이터가 약 13,933시간 이상이 되면 Whisper 증류에 있어 추가적인 성능 향상은 미미해집니다. 전체 사전학습 데이터를 모두 사용할 필요는 없다는 의미입니다.

다음으로 디코더 층 수가 16, 8, 4, 2층일 때의 추론 지연 시간(latency)과 분포 외 WER 성능을 비교했습니다.

  • 16층 디코더 모델은 32층 교사 모델의 성능을 거의 유지하면서 분포 외 WER이 유지되었고, 추론 속도는 약 1.9배 빨라졌습니다. 디코더 층 수가 줄어들수록 분포 외 WER은 점점 크게 증가했습니다.
  • 가장 작은 2층 디코더 모델은 최대 2.1%의 WER 상승을 보였지만 추론 속도는 교사 모델보다 5.8배 빨라졌습니다. 이 결과는 성능-지연 간의 trade-off를 보여줍니다. 쉽게 말해 디코더 층 수가 줄어들수록 속도는 빨라지지만 성능은 점차 떨어집니다.

 Whisper에서 디코더만을 증류할 경우, 전체 파라미터 수는 최대 51%만 감소시킬 수 있습니다. 모델을 더욱 경량화하기 위해서는 인코더와 디코더를 함께 증류하는 방법이 고려됩니다. 표를 보면, 인코더를 16층으로 줄일 경우, 추가적으로 19%의 파라미터 감소가 이루어지지만 분포 외 WER 성능은 3.1% 저하됩니다. 따라서 인코더 구조는 증류된 Seq2Seq ASR 모델에서 우수한 전사 성능을 유지하기 위해 필수적입니다.

 


8. Conclusion

 본 논문에서는 Whisper를 증류하여 만든 Distil-Whisper를 소개했습니다. 이 모델은 Whisper보다 매개변수가 49% 적고, 추론 속도는 5.8배 빠르며, 분포 외 단문 오디오에서 WER 성능은 1% 이내로 유지됩니다. 또한 분포 외 장문 오디오에서는 환각과 반복이 덜 발생해 Whisper보다 우수한 성능을 보입니다. 

 대규모 의사 라벨링이 음성 인식 모델을 증류하는 데 효과적인 전략임을 보였고, 특히 제안한 WER 임계값 필터와 결합할 때 그 효과가 더욱 향상됨을 확인했습니다. 또한 Distil-Whisper는 Whisper와 함께 추측 디코딩(speculative decoding)에 사용될 수 있으며, 이를 통해 원래 모델과 동일한 출력을 유지하면서도 추론 속도를 두 배로 높일 수 있습니다.

 하지만 Whisper의 전사 결과에 의존하여 학습하기 때문에, Whisper의 성능이 좋지 않으면 Distil-Whisper도 좋지않을 수밖에 없다는 성능 한계가 발생합니다. 그럼에도 추론 속도가 최대 57.8배 빠른 속도를 보였다는 점에서 놀랐습니다. 고성능 Whisper를 경량화하는 대표적 증류 사례로 자리잡은 Distil-Whisper에 대한 논문리뷰를 마치겠습니다.

 

 


 

 

 

논문 출처 : https://arxiv.org/abs/2311.00430

 

Distil-Whisper: Robust Knowledge Distillation via Large-Scale Pseudo Labelling

As the size of pre-trained speech recognition models increases, running these large models in low-latency or resource-constrained environments becomes challenging. In this work, we leverage pseudo-labelling to assemble a large-scale open-source dataset whi

arxiv.org