Fine-tuning Whisper for Pashto ASR: strategies and scale
이 논문은 파슈토어 음성 인식에 대한 Whisper 의 사전 학습 부재 문제를 해결하기 위해 다양한 파인튜닝 전략과 모델 규모를 비교 분석하여, 풀 파인튜닝이 LoRA 나 전이 학습보다 우수하며 113 시간 데이터셋 기준 whisper-small 이 실용적 최적점임을 입증하고 주요 오류 유형을 규명했습니다.
Whisper 라는 AI 는 전 세계 99 개 언어를 배운 '만능 통역사'입니다. 하지만 파슈토어는 이 통역사가 배운 책 (데이터) 에 거의 실려 있지 않았습니다.
결과: 파슈토어로 말하면, AI 는 "아랍어"나 "우르두어"로 대답을 했습니다. 마치 한국어를 하는 사람에게 일본어를 듣고 "일본어는 아니야, 중국어야!"라고 잘못 추측하는 것과 같습니다.
현실: 이대로 두면 파슈토어 텍스트를 받아적는 것이 불가능합니다. (오류율이 100% 를 넘습니다.)
2. 해결책: "새로운 언어를 가르치는 네 가지 방법"
연구팀은 Whisper 의 기본 모델을 파슈토어에 맞게 가르치기 위해 네 가지 다른 교육 방법을 시험해 보았습니다.
① 완전한 재교육 (Vanilla Fine-tuning) - 🏆 최고의 방법
비유: 학생이 가진 모든 지식을 지우고, 파슈토어 문법과 발음부터 다시 처음부터 끝까지 꼼꼼히 가르치는 것입니다.
결과: 가장 잘했습니다. AI 가 파슈토어의 독특한 소리를 완벽하게 이해하게 되었습니다.
② 부분冻结 (Frozen Encoder) - ❌ 실패한 방법
비유: "기초는 이미 잘 알고 있으니, 고급 수업만 배우자"라고 생각해서 기초 과목 (하위 레이어) 은 아예 건드리지 않고 고정해 둔 방법입니다.
왜 실패했나?: Whisper 의 기본 모델은 '기초'가 얇은 (6 단계) 구조입니다. 기초를 고정해 버리면, 파슈토어 특유의 '혀를 말아 올리는 소리 (치열음)' 같은 새로운 소리를 배우는 데 필요한 뇌의 공간이 부족해집니다. 작은 모델일수록 기초를 고정하면 안 됩니다.
③ 효율적인 학습 (LoRA) - ❌ 비효율적인 방법
비유: "전체 공부를 다 할 시간과 돈이 없으니, 핵심 요약 노트 (LoRA) 만 만들어서 붙여넣자"는 방법입니다.
왜 실패했나?: 파슈토어는 소리가 매우 복잡합니다. 요약 노트만으로는 이 복잡한 소리를 다 담아내기엔 용량이 너무 작았습니다.
④ 우르두어 → 파슈토어 전이 학습 - ❌ 엉뚱한 길
비유: "우르두어 (이웃 언어) 를 잘 아는 통역사를 데려와서 파슈토어를 가르치자"는 방법입니다.
왜 실패했나?: 두 언어는 글자는 비슷하지만, **소리 **(발음)가 다릅니다. 우르두어에는 없는 파슈토어 특유의 소리가 있어서, 우르두어를 잘 아는 통역사는 오히려 파슈토어 소리를 무시하고 제멋대로 추측했습니다.
3. 데이터의 양과 모델의 크기: "큰 배 vs 작은 배"
연구팀은 데이터 양을 늘려서 (약 113 시간) 모델의 크기를 비교했습니다.
**작은 모델 **(Whisper-base) 113 시간 데이터로 충분히 잘합니다.
**중간 모델 **(Whisper-small) 성능이 조금 더 좋아집니다.
**거대 모델 **(Whisper-large) 성능이 아주 조금 더 좋아지지만, 그 차이가 매우 작습니다.
교훈: 데이터가 113 시간 정도라면, 가장 큰 모델을 쓸 필요 없이 중간 크기 모델이 가장 효율적입니다. (비유: 작은 항구에는 초대형 유람선을 띄우기보다中型 여객선이 더 효율적입니다.)
4. 데이터 증강: "비와 소음을 섞어주는 훈련"
비유: 실제 수업에서 비가 오거나 시끄러운 소리가 날 때에도 잘 들을 수 있도록, 훈련 데이터에 인위적으로 소음과 속도 변화를 섞어주었습니다.
결과: 이렇게 훈련한 AI 는 실제 환경에서도 훨씬 더 잘 들었습니다. (오류율이 7% 이상 감소)
5. 주요 실수 원인 분석
AI 가 파슈토어를 받아적다가 주로 틀리는 두 가지 경우가 있습니다.
문법적 어미 혼동: 파슈토어는 단어 끝에 붙는 작은 소리가 성별이나 문법적 역할을 결정합니다. AI 는 이 미세한 소리를 놓쳐서 "남자"를 "여자"로 잘못 적는 경우가 많습니다.
특수 발음: 파슈토어에만 있는 '혀를 말아 올리는 소리'는 다른 언어에 없기 때문에 AI 가 처음엔 전혀 이해하지 못했습니다. 하지만 잘 훈련하면 이 부분도 해결됩니다.
📝 결론: 이 연구가 우리에게 주는 메시지
파슈토어를 인식시키려면, 기본 모델의 모든 부분을 다시 가르쳐야 합니다. (부분만 고정하거나 요약본만 쓰면 안 됨)
데이터가 100 시간 정도라면, 너무 거대한 모델을 쓸 필요 없습니다. 중간 크기의 모델이 가장 효율적입니다.
**이웃 언어 **(우르두어) 발음이 다르면 오히려 방해가 됩니다.
연구팀은 이 모든 학습된 모델과 데이터를 무료로 공개했습니다. 이제 누구나 이 기술을 바탕으로 파슈토어 음성 인식 시스템을 만들 수 있습니다.
이 연구는 **"작은 언어를 위한 AI 교육은 무조건 큰 모델을 쓰는 게 아니라, 그 언어의 특성에 맞는 정확한 교육 방법 **(완전 재교육)을 보여줍니다.
이 논문은 파슈토어 (Pashto) 자동 음성 인식 (ASR) 을 위해 Whisper 모델을 미세 조정 (fine-tuning) 하는 전략과 규모에 대한 체계적인 분석을 제공합니다. 파슈토어는 구전 전통이 강하고 텍스트 기반 데이터가 부족하여, Whisper 의 사전 학습 코퍼스에서 거의 다루어지지 않아 제로샷 (zero-shot) 성능이 극도로 낮다는 문제를 해결하기 위한 연구입니다.
다음은 논문의 주요 내용 요약입니다.
1. 문제 제기 (Problem)
파슈토어의 특수성: 파슈토어는 구전 문학 (시, 속담 등) 이 주를 이루는 언어이며, 44 개의 문자로 구성된 확장된 페르시아 - 아랍어 알파벳을 사용합니다. 특히 아랍어, 페르시아어, 우르두어에는 없는 후치음 (retroflex consonants) 과 인두 마찰음 (pharyngeal fricative) 이 포함되어 있어, 이러한 음운을 학습하지 못한 Whisper 모델은 파슈토어 음성을 인식할 때 아랍어, 다리어, 우르두어 스크립트로 잘못 변환하는 오류를 범합니다.
제로샷 성능 부재: CommonVoice Pashto v24 테스트 세트에서 Whisper 모델 (base, small, large-v3-turbo) 의 제로샷 단어 오류율 (WER) 은 100% 를 초과했습니다. 이는 모델이 참조 단어 수보다 더 많은 삽입 및 치환 오류를 발생시켰기 때문입니다. 따라서 파슈토어 ASR 을 구현하려면 미세 조정이 필수적입니다.
2. 방법론 (Methodology)
저자는 파슈토어 데이터셋 (CommonVoice Pashto v20 및 v24) 을 기반으로 Whisper 모델의 미세 조정 전략과 모델 규모를 비교 실험했습니다.
데이터셋:
CV20 (전략 비교용): 약 60 시간의 데이터에 오프라인 증강 (속도 변형, 피치 시프트, 잡음 주입 등) 을 적용한 데이터.
CV24 (모델 규모 비교용): 약 113 시간의 데이터. 온라인 증강 (속도 변형, 잡음) 을 적용한 실험과 미적용 실험을 병행했습니다.
비교된 4 가지 미세 조정 전략 (Whisper-base 기준):
Vanilla Full Fine-tuning: 모든 파라미터를 학습.
LoRA (Low-Rank Adaptation): Rank 64, Q/V 프로젝션에 어댑터 삽입 (학습 가능 파라미터 약 3.15%).
Frozen Encoder: 하단 2 개 레이어 (총 6 개 중) 를 고정하고 상단 레이어만 학습.
Multistage Transfer: 먼저 우르두어 (Urdu) 로 미세 조정된 모델을 초기화한 후 파슈토어로 전이 학습.
모델 규모 비교: Whisper-base, Whisper-small, Whisper-large-v3-turbo 를 동일한 CV24 데이터셋 (약 113 시간) 으로 학습하여 성능을 비교했습니다.
3. 주요 기여 및 발견 (Key Contributions & Findings)
A. 미세 조정 전략 비교 결과 (Whisper-base)
Vanilla Fine-tuning의 우위: 전체 파라미터를 학습하는 방식이 가장 우수했습니다 (WER 21.22%).
LoRA 의 한계: LoRA(r=64) 는 WER 54.58% 로 가장 낮은 성능을 보였습니다. 파슈토어의 복잡한 음운 체계에 적응하기 위해 LoRA 의 제한된 용량 (3.15% 파라미터) 이 부족했기 때문입니다.
Encoder Layer Freezing의 실패: 하단 레이어를 고정하는 전략은 WER 35.98% 로 Vanilla 보다 14.76%p 나 떨어졌습니다.
이유: Liu et al. 의 연구는 12 개 이상의 레이어를 가진 모델에서 유효했으나, Whisper-base 는 6 개 레이어만 존재합니다. 이 깊이에서는 음향적 특징과 언어적 특징의 분리 (layer-function separation) 가 명확하지 않아, 하단 레이어를 고정하면 파슈토어 고유의 음소 (후치음 등) 에 적응할 수 있는 학습 용량이 부족해집니다.
우르두어 전이 학습의 실패: 우르두어 기반 전이 학습은 WER 65.78% 로 최악의 성능을 보였습니다.
원인: 중간 모델 (우르두어) 의 품질 검증 부재, 우르두어에 없는 파슈토어 고유의 음소 (후치음 등) 로 인한 음운 불일치, 그리고 2 단계 학습 시 학습률 (LR) 이 너무 낮아 수렴하지 못한 점 등이 복합적으로 작용했습니다.
B. 모델 규모 및 데이터 증강 효과 (CV24, 약 113 시간)
모델 규모와 성능: 모델 크기가 커질수록 성능은 향상되었으나, 체감 효과는 감소했습니다.
Base → Small: 파라미터 3.3 배 증가 시 WER 2.24%p 개선.
Small → Turbo: 파라미터 3.3 배 추가 증가 시 WER 1.52%p 추가 개선.
결론: 약 113 시간의 데이터 규모에서는 Whisper-small이 계산 비용 대비 가장 실용적인 최적 모델 (Practical Optimum) 입니다.
데이터 증강의 효과: 온라인 데이터 증강 (속도 변형, 잡음 주입) 은 WER 를 7.25%p 낮추는 큰 효과를 보였습니다. 이는 866 명의 화자와 113 시간의 데이터라도 증강이 과적합을 방지하고 일반화 성능을 높인다는 것을 의미합니다.
C. 오류 분석 (Error Analysis)
주요 오류 원인:
어미 혼동: 단어 말단의 문법적 어미 (남성/여성 등) 를 구분하지 못해 발생하는 치환 오류가 가장 많았습니다.
음소 치환: 파슈토어 고유의 후치음 (retroflex) 과 인두음이 아랍어/페르시아어/우르두어에 없어, Whisper 의 사전 학습 데이터에 부족하여 발생하는 치환 오류가 두드러졌습니다.
기능어 삭제: 불강세 기능어 (조사, 미래 시제 조사 등) 가 자주 삭제되었습니다.
4. 의의 및 결론 (Significance & Conclusion)
실무적 가이드라인 제공: 저자원 언어 (Low-resource language) 인 파슈토어에 Whisper 를 적용할 때, Vanilla Full Fine-tuning이 가장 효과적이며, Encoder Layer Freezing은 작은 모델 (Whisper-base 이하) 에서는 오히려 성능을 저하시킨다는 것을 실증했습니다.
전이 학습의 주의점: 유사 언어 (우르두어) 를 통한 전이 학습은 중간 모델의 품질 검증과 음운론적 유사성 (파슈토어와 우르두어는 음운 차이가 큼) 을 고려하지 않으면 실패할 수 있음을 보여주었습니다. 향후 연구에서는 페르시아어 (Dari/Farsi) 를 중간 언어로 사용하는 것이 더 적합할 것으로 제안됩니다.
오픈 소스 기여: 미세 조정된 체크포인트, 증강된 데이터셋, 평가 스크립트 등을 HuggingFace 에 공개하여 파슈토어 ASR 연구의 기준 (Benchmark) 을 마련했습니다.
이 논문은 파슈토어 ASR 개발을 위한 구체적인 전략을 제시할 뿐만 아니라, 저자원 언어에 대한 Whisper 미세 조정 시 모델 구조와 데이터 특성을 고려한 전략적 접근의 중요성을 강조한다는 점에서 의의가 큽니다.