본문 바로가기

논문 리뷰/etc.

BASE TTS: Lessons from building a billion-parameter Text-to-Speech model on 100K hours of data

[Audio Sample]

[arXiv](2024/02/15 version v2)

모델은 윤리적인 이유로 공개하지 않는다고 한다.

 

Abstract

100K 시간의 음성 데이터에 대해 훈련된 현존하는 가장 큰 규모의 autoregressive TTS model인 BASE( Big Adaptive Streamable TTS with Emergent abilities) TTS 제안

 

 

 

Introduction

  • BASE TTS는 이전 최고치의 두 배에 달하는 100K 시간의 공개 음성 데이터에 대해 훈련된 LTTS이다.
  • LLM의 성공에서 영감을 받아 다음 토큰 예측을 사용한다.
  • Speechcode라는 개별 음성 표현을 사용한다.

 

 

 

BASE TTS

Dataset D = {x, y}. x는 text이고 y는 그에 해당하는 speechcode이다.

피라미터 ϕ가 있는 Transformer-based autoregressive model.

 

Discrete speech representations

Speech Self-Supervised Learning (SSL) 모델인 WavLM에서 추출된 feature를 기반으로 하는 tokenizer.

2개의 regressor를 통해 content와 speaker를 분리하고 인코딩.

 

벡터 양자화를 거쳐 WavLM frame마다 하나의 speechcode를 생성. 이를 speaker embedding과 다시 결합하여 재구성한다.

 

Content와 speaker 분리를 위한 추가 손실:

  • 대조 손실을 통해 동일한 speaker sample 간의 유사성을 최대화, 다른 speaker sample과의 유사성 최소화
  • Content regressor의 출력을 동결된 speaker extractor에 통과시키고 gradient reversal을 적용하여 얻은 speaker embedding과 원래 speaker embedding과의 코사인 거리를 최대화한다.

여기서 두 번째 손실이 어떻게 작동하는지 이해하기가 상당히 어렵다.

 

아래 그림에서 gradient reversal layer는 분류 성능은 높이면서 도메인 구분 성능은 낮아지도록 하는 역할을 한다.

비슷하게 여기서는 speaker 구분 성능을 낮아지도록 하여 speaker에 상관없이 content 추출에 집중하도록 학습되는 것이다.

Gradient reversal

 

Byte-pair encoding on speechcodes

Speechcode에 Byte-Pair Encoding을 적용하여 평균 시퀀스 길이를 줄인다.

 

Autoregressive speech modeling (SpeechGPT)

SpeechGPT라고 부르는 GPT2-architecture autoregressive model은 참조 음성, 텍스트, speechcode를 입력으로 텍스트, speechcode를 출력할 수 있으며 텍스트와 음성에 별도의 위치 임베딩과 예측 헤드를 사용한다.

 

텍스트에 대한 pretraining 없이 처음부터 훈련.

또한 운율을 안내하는 텍스트 정보를 유지하기 위해 다음 텍스트 토큰을 예측하는 목표로도 훈련되어 부분적으로 텍스트 전용 모델이 되도록 한다.

 

Waveform generation

LSTM layer를 conv layer로 교체한 eCat의 변형을 waveform generator로 사용.

Decoder와 BigVGAN vocoder를 각각 end-to-end로 훈련.

 

또한 SpeechGPT의 헤드 출력 대신 마지막 hidden state를 입력으로 사용한다. 밀집된 잠재 표현이 훨씬 더 풍부한 정보를 제공하기 때문이다. 이 방법의 단점은 디코더와 SpeechGPT의 버전이 종속된다는 것이다.

 

 

 

 

 

Results

BASE TTS vs. Industry baselines

 

VQ-VAE vs. WavLM

 

Diffusion-based decoder vs. Speechcode decoder