TTS도 이종교배가 될까 — 코덱·공통조상·채점 3중고

목차

먼저: AR 코덱형 TTS는 사실 "말하는 LLM"이다

그런데 왜 TTS가 LLM보다 훨씬 어렵나?

진화(다윈)시키면 뭐가 터지나?

그럼 TTS에선 뭐가 쉽게 되나?

"이런 병합·증류 방식이 TTS(음성합성) 모델에도 되나?"의 답: 큰 그림은 LLM과 똑같다 — 동계열이면 merge, 이종은 증류. 하지만 TTS는 훨씬 어렵다. 오디오 코덱이라는 "제2의 tokenizer" 가 하나 더 있고, 대부분 밑바닥부터 독자 설계로 훈련돼 공통 조상이 없으며, 품질에 정답지가 없어 채점이 불안정하기 때문이다. 그래서 이종 weight 교배는 LLM보다 훨씬 비현실적이고, 실전 경로는 데이터 증류와 목소리 임베딩 블렌딩이다. 하나씩 풀어보자.

먼저: AR 코덱형 TTS는 사실 "말하는 LLM"이다#

최신 TTS의 한 갈래는 텍스트를 받아 오디오를 코덱 토큰으로 바꿔 트랜스포머가 예측하는 구조다(VALL-E·Fish Speech·CosyVoice·Higgs·Qwen3-TTS류). 즉 아키텍처가 사실상 LLM이고, 어떤 건 실제로 Llama에서 초기화한다. 그래서 앞의 병합 규칙이 그대로 옮겨온다 — 같은 백본에 같은 코덱이면 merge가 되고, 다르면 안 된다.

그런데 왜 TTS가 LLM보다 훨씬 어렵나?#

두 가지 구조적 장벽이 있다.

첫째, tokenizer가 둘이다. LLM 병합의 관문은 "같은 텍스트 사전(vocab)"이었다. 코덱형 TTS는 여기에 오디오를 토큰으로 바꾸는 오디오 코덱(EnCodec·DAC·SNAC 등) 이 하나 더 붙는다. 두 모델이 다른 코덱을 쓰면(한쪽은 프레임레이트·코드북 수·구조가 다른 코덱), 오디오 "vocab"이 서로 달라 토큰 ID의 의미 자체가 안 맞는다. LLM의 사전 불일치 문제가 음향 쪽에서 한 번 더 생기는 셈이라, 조건이 두 배로 빡빡하다.

둘째, 공통 조상이 없다. LLM 병합이 잘 되는 근본 이유는 다들 Llama·Qwen 같은 공통 베이스를 파인튜닝해서 — 초기값(공통 조상)을 공유하기 때문이다. 그래서 가중치 좌표계가 대충 맞아 섞인다(2편의 "방언"이 그나마 비슷). TTS는 대부분 밑바닥부터(from scratch) 독자 설계로 훈련돼 이게 없다. 좌표계가 애초에 안 맞으니 "다 같은 계열이라 잘 섞이는" 상황이 TTS엔 만들어져 있지 않다.

진화(다윈)시키면 뭐가 터지나?#

3편의 "누가 채점하나"가 TTS에선 치명적이 된다. 음성 품질(자연스러움)은 정답지가 없다 — 수학처럼 "답 정답" 대조가 안 된다. 그래서 fitness를 프록시(대리 지표)로 대신해야 한다: MOS 예측 모델(UTMOS 등, 노이즈가 큼), ASR로 받아쓴 WER(발음 명료성만 봄), 화자 유사도(SIM). 문제는 3편에서 본 함정이 여기서 증폭된다는 것 — 불안정한 프록시를 세게 최적화하면 그 프록시만 높이는 이상한 음성== 으로 샌다(Goodhart의 법칙). 예컨대 WER만 보면 감정 하나 없는 단조로운 로봇 음성이 오히려 만점을 받는다. 그래서 진화형 TTS 병합은 LLM보다 훨씬 위험하다.

그럼 TTS에선 뭐가 쉽게 되나?#

가중치는 못 섞어도, 목소리와 파이프라인 단계는 잘 결합된다. 두 가지 실전 경로가 있다.

① 목소리(화자 임베딩) 블렌딩. 요즘 TTS에서 화자 정체성은 하나의 조건 벡터(잠재값)로 표현된다. 가중치는 안 섞여도 벡터는 잠재공간에서 깔끔하게 보간 된다. 두 목소리를 섞어 새 목소리를 만드는 것이다(XTTS·RVC). TTS에서 제일 흔하고 쉬운 "교배"가 바로 이것이다.

② 부품 교체·캐스케이드. TTS 파이프라인은 원래 단계별로 나뉘어 있어, 가중치를 섞는 대신 단계마다 다른 모델을 갈아 끼울 수 있다. 보코더만 교체하거나, "TTS로 합성한 뒤 RVC로 음색만 변환"하는 식으로 단계를 잇는다. 가중치 좌표를 맞출 필요가 없어 안전하다.

TTS 유형별 weight 병합 가능성 · columns: 유형, 예, 코덱 정렬, weight merge, 쉬운 대안 · 출처 Hax hax.moche.ai/p/1075?ref=ai_answer

유형 | 예 | 코덱 정렬 | weight merge | 쉬운 대안
AR 코덱형 | VALL-E·Fish·Higgs·Qwen3-TTS | 필수 | 이종 거의 불가 | 데이터 증류·캐스케이드
디퓨전/플로우 | F5-TTS·VoxCPM | 잠재공간 정렬 | 거의 불가 | 화자 임베딩 보간
VITS/FastSpeech | 고전 VITS | mel·보코더 정렬 | 낮음 | 보코더 교체
목소리 임베딩 | XTTS·RVC | 불필요 | 높음(벡터 보간) | 이게 정답

목차

실전에 대입하면

2026 최신 흐름

참고 링크

실전에 대입하면#

로컬에 여러 TTS(예: Fish Speech·MOSS·Higgs·Qwen3-TTS)를 돌린다면 현실적 조합은 이렇다. 같은 베이스의 파인튜닝본끼리(예: 낭독체 + 대화체)는 동계열 merge가 되고, 다른 계열(Fish × Higgs 등)은 데이터 증류나 캐스케이드로 잇는다. 그리고 목소리 자체는 어느 모델이든 화자 임베딩 보간으로 쉽게 섞인다. 즉 "이종 weight 교배"를 억지로 하려 들지 말고, 증류(능력)와 임베딩 블렌딩(음색)으로 우회하는 게 정석이다.

2026 최신 흐름#

TTS엔 지금 두 흐름이 뚜렷하다. (1) tokenizer-free 확산 — VoxCPM처럼 이산 코덱 없이 연속 잠재값으로 가는 모델이 늘어, 코덱 정렬 문제 자체를 우회한다. (2) step distillation으로 실시간화 — 디퓨전의 다단계 생성을 1~2스텝으로 줄여 스트리밍 합성이 현실화됐다. 단 이건 능력 전이가 아니라 속도 증류(같은 능력을 더 빠르게) 임을 혼동하지 말자. 이종 weight 교배가 아니라, 이 두 흐름이 실전 TTS 결합의 주로가 되고 있다.

한 줄 요약: TTS도 "동계열 merge / 이종은 증류" 큰 그림은 같지만, 코덱(제2 사전)·공통조상 부재·정답 없는 채점이라는 3중고 때문에 이종 weight 교배는 비현실적이다. 실전은 데이터 증류(능력)와 목소리 임베딩 블렌딩(음색)으로 간다.

참고: 2026-07-01 기준. 모델·코덱·라이선스는 자주 바뀌므로 배포 전 각 공식 저장소에서 최신 조건을 확인하라.

참고 링크#

VALL-E — Neural Codec Language Models (TTS)

F5-TTS (플로우매칭 TTS)

Fish Speech (GitHub)

Higgs Audio (Boson AI, GitHub)

Seed-TTS eval — WER·SIM 프로토콜

Defining and Characterizing Reward Hacking (프록시 위험)