Audio-019, Neural Codec Language Models are Zero-Shot Text to Speech Synthesizers, Preprint 2023
1. 텍스트와 오디오가 동시에 되는 모델을 학습한게 맞지?
부분적으로 맞다.
정확히는 텍스트 조건(condition) 기반 오디오 생성 모델이다.
즉:
입력:
텍스트(phoneme sequence)
짧은 오디오 프롬프트(3초 enrolled speech)
출력:
오디오 codec discrete token
최종적으로 waveform 복원
이다.
논문에서 TTS를 다음과 같이 정의한다.
phoneme sequence (x)
acoustic prompt (\tilde{C})
를 조건으로
acoustic code matrix (C)
를 생성하는 conditional language modeling 문제로 본다.
즉 GPT처럼 “다음 토큰 예측” 구조이긴 하지만,
텍스트와 오디오를 모두 자유롭게 생성하는 multimodal foundation model은 아니다.
모델 입력
텍스트 입력
문자 자체가 아니라 phoneme sequence
G2P(grapheme-to-phoneme) 변환 사용
오디오 입력
3초 enrolled speech
이를 neural codec tokenizer(EnCodec)로 discrete token화한 acoustic prompt 사용
모델 출력
EnCodec discrete acoustic token
이후 codec decoder가 waveform 복원
2. 학습할때 텍스트와 오디오 모두 discrete token으로 변환해서 next token prediction한게 맞는지?
절반만 맞다.
텍스트
텍스트는 phoneme sequence로 변환되지만,
논문에서는 이를 “discrete codec token”처럼 양자화했다고 설명하지는 않는다.
즉:
phoneme embedding 사용
일반 NLP token embedding과 유사
이다.
오디오
오디오는 명확히 discrete token으로 변환한다.
EnCodec tokenizer를 사용해:
waveform → RVQ token sequence
로 변환한다.
그리고 이것을 language modeling 대상으로 사용한다.
어떤 토크나이저를 썼는지
논문은 명시적으로:
EnCodec
residual vector quantization(RVQ)
8 quantizer
각 codebook 1024 entries
를 사용했다고 말한다.
구체적으로:
24kHz audio
75Hz latent
8-level RVQ
6kbps 설정
이다.
3. 모델 학습 순서를 설명해봐
텍스트 백본에서 시작했는가?
아니다.
논문에는:
기존 텍스트 LLM 초기화
GPT pretrained weight 사용
텍스트-only pretraining
같은 내용이 없다.
즉:
처음부터 speech/TTS task로 학습한 모델이다.
처음부터 텍스트&오디오 데이터를 학습했는가?
그렇다.
학습 데이터는:
phoneme transcription
corresponding audio
쌍이다.
즉 처음부터:
phoneme 조건
audio codec token prediction
학습을 한다.
학습 파이프라인
대략 다음 순서다.
(1) 데이터 준비
LibriLight 60K hours 사용.
원래는 unlabeled audio-only dataset이다.
그래서:
ASR 모델로 transcription 생성
phoneme alignment 생성
한다.
(2) 오디오 토큰화
EnCodec으로:
waveform → acoustic token matrix
변환.
(3) AR 모델 학습
첫 번째 quantizer token 생성:
[
p(c_{:,1}|x,\tilde{C})
]
autoregressive next-token prediction.
(4) NAR 모델 학습
나머지 7개 quantizer 복원:
[
p(c_{:,j}|c_{:,<j},x,\tilde{C})
]
non-autoregressive 방식.
텍스트와 오디오 데이터 비율 및 양
명확한 mixing ratio는 논문에 없다.
하지만 구조상:
모든 샘플이 text-audio pair
pure text only data 없음
pure audio only LM training 없음
이다.
데이터 규모:
60K hours speech
약 7000 speakers
post-training 하는지?
논문에는:
instruction tuning
RLHF
post-training
alignment tuning
같은 단계는 없다.
단순히:
AR/NAR TTS 학습
zero-shot inference
만 설명한다.
4. 오디오 데이터라고 하는 것은 어떤 형태인지?
단순 plain audio 인가?
원본 데이터는 거의 그렇다.
LibriLight는:
audio-only corpus
unlabeled speech
라고 설명한다.
ASR처럼 text-audio pair인가?
최종 학습 시점에는 그렇다.
왜냐하면:
원래 unlabeled audio
ASR로 transcription 생성
phoneme alignment 생성
했기 때문이다.
즉 최종적으로 모델이 보는 것은:
pseudo text-audio pair
이다.
5. 모델 평가를 어떻게 하는지
각 학습 스테이지마다 평가하는가?
완전한 stage-wise evaluation은 아니다.
하지만:
최종 모델 평가
AR/NAR ablation study
는 따로 수행한다.
즉:
별도 intermediate checkpoint benchmark
pretraining stage별 benchmark
같은 것은 없다.
텍스트와 오디오 벤치마크 모두 평가하는가?
사실상 둘 다 평가한다.
왜냐하면:
텍스트 측면
ASR WER 측정:
생성 오디오를 다시 ASR
원문 transcription과 비교
즉:
content fidelity 평가
이다.
오디오 측면
speaker similarity:
WavLM-TDNN speaker verification score
human evaluation:
CMOS (naturalness)
SMOS (speaker similarity)
즉:
speech quality
speaker consistency
intelligibility
를 모두 평가한다.
6. 논문의 동기 및 기여점은 뭐야
동기
기존 TTS의 문제:
mel-spectrogram regression 기반
데이터 규모가 작음
unseen speaker generalization 약함
zero-shot TTS 성능 부족
이었다.
논문의 핵심 아이디어는:
“speech도 discrete token으로 바꾸면 language modeling으로 다룰 수 있지 않을까?”
이다.
즉:
GPT scaling law
in-context learning
개념을 TTS에 가져오려는 시도다.
핵심 기여점
논문이 주장하는 핵심 기여는:
1) 최초의 codec language model 기반 TTS
mel-spectrogram 대신:
audio codec token
사용.
2) TTS를 conditional language modeling으로 재정의
[
p(C|x,\tilde{C})
]
형태로 정의.
3) 대규모 semi-supervised speech scaling
60K hour
pseudo transcription
활용.
4) zero-shot in-context learning capability
3초 speaker prompt만으로:
unseen speaker cloning 가능
하다고 주장.
5) acoustic environment / emotion 유지
prompt의:
reverberation
emotion
speaking style
등을 유지한다고 분석한다.
Reference

댓글
댓글 쓰기