피드로 돌아가기
Hugging Face BlogAI/ML
원문 읽기
Microsoft Research Asia가 단일 Transformer 인코더-디코더 아키텍처에 pre-net/post-net을 추가하여 음성-텍스트 변환(ASR, TTS), 음성-음성 변환을 하나의 모델으로 수행 가능하게 구현
Speech Synthesis, Recognition, and More With SpeechT5
AI 요약
Context
기존 음성 처리 모델들은 특정 작업(음성 인식, 음성 합성, 음성 변환)마다 별도의 아키텍처가 필요했다. 이는 개별 모델 관리의 복잡성과 각 작업별 학습 데이터의 분리로 인한 일반화 능력 저하를 초래했다.
Technical Solution
- 혼합 데이터(text-to-speech, speech-to-text, text-to-text, speech-to-speech)로 단일 Transformer 모델을 사전 학습하여 텍스트와 음성의 통합 표현 공간 생성
- Pre-net 구성요소 도입: 입력 텍스트 또는 음성을 Transformer가 처리할 수 있는 숨겨진 표현으로 변환
- Post-net 구성요소 도입: Transformer 출력을 다시 텍스트 또는 음성으로 변환
- Text-to-speech 작업에 Text Embedding 레이어(텍스트 토큰 → 숨겨진 표현), Speech Decoder Pre-net(log mel spectrogram → 선형 레이어로 압축), Speech Decoder Post-net(잔차 스펙트로그램 예측으로 결과 정제) 적용
- 사전 학습 후 전체 인코더-디코더 백본을 단일 작업에 대해 미세 조정하며, 해당 작업의 pre-net/post-net만 사용
Key Takeaway
멀티태스크 사전 학습으로 텍스트-음성 교차 학습 신호를 제공하면, 동일한 Transformer 백본으로 ASR, TTS, 음성 변환 등 이질적 작업들을 지원하는 통합 아키텍처가 가능하다. 단, 미세 조정된 모델들은 pre-net/post-net 스왑만으로는 작업 간 전환이 불가능할 정도로 분화되므로 작업별 체크포인트 관리가 필수다.
실천 포인트
음성 처리 서비스 개발 시 ASR, TTS, 음성 변환 기능을 모두 지원해야 한다면, 단일 사전 학습 모델에서 작업별 pre-net/post-net만 교체하는 방식으로 구현하면 모델 코드 중복을 제거하고 사전 학습의 이점을 모든 작업에서 활용할 수 있다. 🤗 Transformers 라이브러리의 SpeechT5Processor, SpeechT5ForTextToSpeech, SpeechT5ForSpeechToText 클래스를 사용하면 입력 전처리부터 생성까지 표준화된 파이프라인으로 구현 가능하다.