Audio-024, OmniFlatten: An End-to-end GPT Model for Seamless Voice Conversation, ACL 2025
Abstract
전이중(full-duplex) 음성 대화 시스템은 전통적인 턴 기반 대화 시스템에 비해 중요한 발전을 이룬다. 이는 동시에 양방향 통신을 가능하게 하여 인간 간 상호작용을 더 가깝게 모사하기 때문이다. 그러나 전이중 대화 시스템에서 낮은 지연 시간과 자연스러운 상호작용을 달성하는 것은 여전히 중요한 도전 과제이다. 특히 끼어들기, 맞장구, 중첩 발화와 같은 인간 대화의 동역학을 고려할 때 더욱 그렇다.
본 논문에서는 전이중 대화를 위한 새로운 End-to-End GPT 기반 모델인 OmniFlatten을 제안한다. OmniFlatten은 자연스러운 대화에 내재된 복잡한 행동을 낮은 지연 시간으로 효과적으로 모델링할 수 있다. 전이중 통신 능력을 달성하기 위해, 우리는 텍스트 기반 대규모 언어 모델(LLM) 백본을 음성-텍스트 대화 LLM으로 점진적으로 적응시키는 다단계 post-training 방식을 제안한다. 이 모델은 백본 LLM의 구조를 변경하지 않고도 텍스트와 음성을 실시간으로 생성할 수 있다.
학습 과정은 세 단계로 구성된다: modality alignment, half-duplex dialogue learning, full-duplex dialogue learning. 모든 학습 단계에서 우리는 flattening operation을 사용하여 데이터를 표준화한다. 이를 통해 서로 다른 모달리티와 태스크에 대해 학습 방법과 모델 구조를 통일할 수 있다.
우리의 접근법은 효율적이고 자연스러운 end-to-end 전이중 음성 대화 시스템을 개발하기 위한 간단한 모델링 기법과 유망한 연구 방향을 제시한다. OmniFlatten이 생성한 대화 오디오 샘플은 해당 웹사이트에서 확인할 수 있다.
1 Introduction
전통적인 턴 기반 음성 대화 시스템은 반이중(half-duplex) 통신만을 지원한다. 즉, 사용자와 시스템 사이의 통신은 양방향으로 이루어지지만 동시에 이루어지지는 않는다. 이러한 시스템은 많은 실제 응용에서 효과적이지만, 인간 간 대화의 자발적인 특성을 반영하는 끼어들기, 맞장구, 중첩 발화를 처리하는 데에는 종종 한계를 보인다.
반대로, 전이중 음성 대화 시스템은 동시에 양방향 통신을 허용하며, 인간 간 대화의 동역학을 더 가깝게 모사한다. 전이중 음성 대화 시스템은 말하기, 듣기, 생각하기를 동시에 수행함으로써 전통적인 턴 기반 대화 시스템보다 더 자연스럽고 효율적인 상호작용을 가능하게 한다. 그러나 전이중 시스템에서 낮은 지연 시간과 자연스러운 상호작용을 달성하는 것은 여전히 중요한 도전 과제이다.
최근 음성 대화 시스템 개발은 LLM의 발전에 의해 추진되어 왔으며, 대략적으로 collaborative system과 end-to-end system으로 분류할 수 있다. Collaborative system은 LLM 기반 대화 모듈을 외부 ASR 또는 TTS 모듈과 연결하여 음성 이해와 음성 생성을 수행한다. 예를 들어 Qwen-audio는 음성 입력을 처리하고 텍스트를 출력한 뒤, 이를 TTS를 통해 음성 응답으로 변환한다. 반면 일부 end-to-end system은 음성-텍스트 멀티모달 모델을 기반으로 음성-음성 대화를 직접 모델링한다. 그러나 이러한 모델들은 대부분 턴 기반 대화 모델이며 전이중 대화를 지원하지 않는다.
End-to-end 전이중 음성 대화 시스템 개발에서 최근 진전으로는 SyncLM과 오픈소스 Moshi가 있다. 구체적으로 Moshi는 사용자의 음성 입력과 시스템의 텍스트 및 음성 출력을 여러 스트림으로 병렬 모델링함으로써 전이중 대화 처리를 단순화한다. 그러나 이러한 병렬 프레임워크는 GPT 기반 모델에서 기본적으로 지원되지 않기 때문에 acoustic delay와 inner monologue 같은 정교한 설계가 필요하다. 우리의 접근법과 유사하게, SyncLM 또한 실시간 전이중 음성 대화 능력을 얻기 위해 User와 Assistant의 음성 단위가 교차된 chunk를 예측하도록 학습된다. 그러나 SyncLM은 silent speech가 모델의 의미 능력에 미치는 영향을 완화하기 위해 deduplication 전략을 도입하는 반면, 우리는 명시적인 text token prediction을 통해 대화 모델의 의미 능력을 향상시킨다.
전이중 음성 대화 시스템에서 자연스러운 상호작용과 낮은 지연 시간을 달성하기 위한 문제를 해결하기 위해, 우리는 전이중 음성 대화를 위한 새로운 end-to-end GPT 기반 모델인 OmniFlatten을 제안한다. OmniFlatten은 자연 대화에 내재된 복잡한 행동을 효과적으로 학습할 수 있으며, 낮은 지연 시간으로 인간과 유사한 대화를 가능하게 한다.
즉 LLM은 이런 멀티채널을 지원하지 않기 때문에, 교차하여 토큰넣는 방법이 자연스럽게 결합할 수 있다고 보는 듯
우리는 텍스트 기반 LLM 백본을 강건한 음성-텍스트 대화 모델로 적응시키기 위해 다단계 점진적 post-training 방식을 제안한다. 먼저 modality alignment를 수행하고, 이후 대화의 여러 음성 및 텍스트 스트림을 하나의 sequence로 interleaving하고 flattening하여 dialogue learning을 수행한다. 특히 우리의 접근법은 백본 텍스트 기반 LLM의 구조를 변경하지 않으며, 계산 비용이 큰 pre-training에도 의존하지 않는다.
다단계 post-training 과정은 텍스트 LLM 백본에 대해 supervised multi-task fine-tuning을 수행하는 것으로 시작한다. 이를 통해 ASR 및 TTS 태스크를 사용하여 speech-text modality alignment를 달성하고, 멀티모달 LLM을 얻는다. 이 단계는 시스템이 음성과 텍스트를 정확하게 해석하고 생성할 수 있도록 보장하며, 인간-컴퓨터 상호작용을 위한 매끄러운 인터페이스를 형성하는 데 필수적이다.
speech-text LLM을 얻은 후, 우리는 interleaved 및 serialized dialogue를 사용하여 세 개의 점진적 단계로 fine-tuning을 수행한다.
- 첫 번째 단계에서는 사용자 입력과 시스템 출력의 텍스트 및 음성 스트림을 모두 하나의 sequence로 flattening하여 half-duplex dialogue로 모델을 학습한다. 즉, four-stream data를 flattening한다. 이 단계는 모델이 half-duplex dialogue 능력을 학습하도록 하는 예비 단계 역할을 한다.
- 두 번째 단계에서는 사용자 입력 텍스트 스트림을 제거하고, 남은 세 개의 스트림에 대해 fine-grained chunking 및 alignment를 수행한 뒤, chunk를 flattening하여 resulting flatten three-stream data로 모델을 계속 학습한다. 이 단계의 목적은 모델이 실시간 multi-stream prediction 능력을 학습하도록 하여 전이중 통신을 가능하게 하는 것이다.
- 마지막으로, 우리는 입력 음성과 출력 음성만으로 구성된 flatten two-stream data를 만들고, speech-to-speech generation에 집중하도록 모델을 계속 학습한다. 이를 통해 intermediate text에 대한 의존성을 제거하고 지연 시간을 줄이며, 시스템을 실시간 상호작용에 더 가깝게 만든다. 우리의 접근법은 간단하면서도 새로운 모델링 기법을 제시하며, 효율적이고 자연스러운 end-to-end 전이중 대화 시스템 개발을 위한 유망한 연구 방향을 제공한다.
본 연구의 주요 기여는 다음과 같이 요약할 수 있다.
우리는 새로운 End-to-End GPT 기반 모델인 OmniFlatten을 제안한다. OmniFlatten은 낮은 지연 시간으로 자연스러운 인간형 대화에 내재된 복잡한 행동을 효과적으로 모델링할 수 있다. 우리는 텍스트 기반 foundation LLM을 강건한 음성-텍스트 대화 모델로 성공적으로 적응시키는 다단계 post-training 방식을 제안한다. 이를 위해 먼저 ASR 및 TTS 기반 supervised multi-task fine-tuning을 수행하여 speech-text modality alignment를 달성하고, 이후 대화의 음성 및 텍스트 스트림을 세밀하게 chunking한 뒤 하나의 sequence로 flattening하여 모델이 half-duplex 및 full-duplex 통신 능력을 점진적으로 획득하도록 학습한다. 특히 OmniFlatten은 GPT 모델에 어떠한 구조적 변경도 가하지 않으며, 계산 비용이 큰 pre-training에도 의존하지 않는다.
우리의 실험은 modality alignment 단계의 효과를 검증한다. 그 결과 모델은 수용 가능한 ASR 및 TTS 성능을 보인다. 우리는 고성능 LLM을 평가자로 사용하여 OmniFlatten이 생성한 대화 품질을 평가하고, system taking turn과 user taking turn을 포함한 turn-taking 성능 및 runtime efficiency를 평가한다. 결과는 OmniFlatten이 생성한 대화가 합리적인 품질을 보이며, modality alignment와 half-duplex learning 단계가 모두 모델의 full-duplex dialogue 능력을 향상시킨다는 것을 보여준다. OmniFlatten은 user taking turn보다 system taking turn을 훨씬 더 잘 처리하며, system taking turn과 user taking turn의 평균 응답 시간은 각각 160ms와 805ms이다.
3 Methodology
이 절에서는 end-to-end 전이중 대화 모델인 OmniFlatten을 소개한다. Figure 1에 나타난 것처럼, 우리는 audio tokenizer를 사용하여 대화 내 각 입력 및 출력 음성 스트림을 discrete speech token sequence로 변환한다. 그런 다음 speech token sequence를 text token sequence와 함께 interleave하고, 이를 하나의 sequence로 flatten한다. 우리의 접근법은 modality alignment와 dialogue learning을 통해 텍스트 기반 LLM을 강건한 end-to-end 전이중 음성 대화 모델로 변환하는 다단계 점진적 학습 과정을 사용한다. 이후 하위 절에서는 Audio Tokenization and Detokenization, Modality Alignment, Dialogue Learning을 포함한 핵심 구성 요소를 자세히 설명한다.
3.1 Audio Tokenization And Detokenization
연속적인 음성 신호를 discrete token sequence로 변환하기 위해, 우리는 CosyVoice에서 사용된 speech tokenizer를 채택한다. 이 speech tokenizer는 multilingual ASR의 supervision을 통해 음성을 semantic token으로 변환할 수 있으므로, 음성 이해와 음성 생성에서의 내용 일관성에 도움이 된다.
이 tokenizer는 encoder와 Vector Quantization, 즉 VQ layer를 사용하여 오디오 신호를 speech token으로 이산화한다. 이때 4096개의 code로 구성된 단일 codebook을 사용한다.
Discrete speech token을 다시 오디오로 변환할 때는 CosyVoice에서 사용한 것과 동일한 Optimal-transport Conditional Flow Matching 모델, 즉 OT-CFM을 채택한다. OT-CFM은 speech token sequence를 Mel spectrogram으로 변환하며, 이 Mel spectrogram은 이후 HifiGAN vocoder를 통해 최종 오디오 출력을 생성하는 데 사용된다.
기존 연구들은 OT-CFM이 diffusion probabilistic model, 즉 DPM보다 더 단순한 gradient, 더 쉬운 학습, 더 빠른 생성 측면에서 우수하다는 것을 보여준다.
3.2 Modality Alignment
우리는 사전학습된 텍스트 기반 LLM 백본을 post-training하여, 음성 이해와 음성 생성을 수행할 수 있는 speech-text LLM을 얻는 것에서 시작한다. 우리는 낮은 계산 자원 요구량을 위한 작은 크기와, 그 크기대의 모델들 중 경쟁력 있는 성능을 고려하여 Qwen2-0.5B를 base model로 사용한다.
우리는 ASR 및 TTS 태스크를 위해 paired speech-text data를 사용하여 supervised fine-tuning, 즉 SFT를 수행한다. 이 과정은 사전학습된 텍스트 LLM을 speech-text multimodal model로 적응시킨다.
각 speech-text pair <S_seq, T_seq>에 대해, 우리는 다음과 같이 학습 샘플을 구성한다.
ASR Sample:
[ASR][SOS]S_seq[EOS][SOT]T_seq[EOT]
TTS Sample:
[TTS][SOT]T_seq[EOT][SOS]S_seq[EOS]
여기서 [ASR]과 [TTS]는 각각 ASR 및 TTS task ID를 나타낸다. [SOS], [EOS], [SOT], [EOT]는 각각 speech sentence 또는 text sentence의 시작과 끝을 나타내는 special token이다.
우리는 이렇게 정렬된 speech-text multimodal model을 이후의 Dialogue Learning 단계에서 사용한다.
Reference
댓글
댓글 쓰기