Paradee: Kokoro-82M을 8M 파라미터 단일 음성 Text-to-Speech 모델로 증류하기
요약
본 글은 54개 목소리를 가진 대규모 TTS 모델 Kokoro-82M을 단일 음성으로 증류하여 8.07M 파라미터의 Paradee를 개발한 내용을 다룹니다. 이 과정에서 계산량과 파라미터를 크게 줄였으며, int8 양자화와 간단한 구조로 노트북에서도 실시간 구동이 가능하게 했습니다.
핵심 포인트
- Kokoro-82M을 8.07M의 Paradee로 증류하여 효율성을 극대화함.
- 계산량과 파라미터가 각각 15분의 1, 10분의 1로 감소함.
- int8 양자화를 통해 모델 크기를 8.5 MB로 줄이고 CPU에서 빠르게 구동 가능.
- 위상 고정 필터를 적용하여 초기 '웅-'하는 소리(buzz) 문제를 해결함.
우리는 54개의 목소리를 가진 널리 사용되는 오픈 Text-to-Speech 모델인 Kokoro-82M을, 그중 하나의 목소리로 말하는 8.07M 파라미터 모델인 Paradee로 증류했습니다. Paradee는 Kokoro의 아키텍처를 유지하되 레이어를 훨씬 좁게 만들었고, 두 개의 절반 각각이 고정된 교사(teacher)를 상대로 개별적으로 훈련됩니다. 이는 파라미터가 10분의 1이며 계산량이 15분의 1로 줄었습니다. 먼저 교사를 사용하여 코퍼스를 합성하고 그 지속 시간(durations), 피치(pitch), 에너지(energy), 그리고 음소(phoneme) 특징을 보존합니다. 그런 다음, 이 값들을 예측하는 작은 Text 측(text side)과 교사의 저장된 값을 교사의 오디오로 변환하는 작은 디코더를 훈련시키는데, 처음에는 스펙트럴 손실(spectral losses)을 사용하고 나중에는 적대적(adversarially)으로 사용합니다. 마지막으로 두 절반을 연결하고 가중치를 int8로 양자화합니다. 이는 정렬 학습(alignment learning)이나 공동 훈련(joint training)이 필요 없으며, 노트북 하나에서 실행됩니다. int8로 저장된 Paradee는 8.5 MB이며, 단일 CPU 스레드에서 실시간보다 25배 빠르게 작동하고, UTMOS 점수로는 교사의 4.52에 비해 4.41을 기록합니다. 학생 모델은 처음에 약간의 '웅-'하는 소리(buzz)를 유지했는데, 이는 2kHz와 8kHz 사이의 유성음(voiced speech) 단계에서 기인하는 것으로 추적되었습니다. 합성 후 적용된 위상 고정 필터(phase-locking filter)는 추가적인 훈련이나 파라미터 없이 대부분을 제거합니다. 코드, 모델 파일 및 오디오 샘플은 https://github.com/sahilmahendrakar/paradee에 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.CL의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기