Audio-025, MoshiRAG: Asynchronous Knowledge Retrieval for Full-Duplex Speech Language Models, ICML 2026

Abstract

최근 speech-to-speech language model은 대화형 AI의 자연스러움을 향상시키기 위해 등장하였다. 특히 full-duplex 모델은 실시간 상호작용이 가능하다는 점에서 차별화되며, 침묵, 끼어들기(interruption), backchannel과 같은 현상을 자연스럽게 처리할 수 있다. 그러나 이러한 모델의 사실성(factuality) 을 향상시키는 것은 여전히 해결되지 않은 과제이다. 모델의 크기를 키우면 이 문제를 완화할 수 있지만, 실시간 추론 비용이 지나치게 커진다.

본 논문에서는 MoshiRAG를 제안한다. 이는 소형 full-duplex 인터페이스와 선택적 retrieval을 결합하여 더 강력한 외부 지식원을 활용하는 모듈형 접근법이다. 제안하는 비동기(asynchronous) 프레임워크는 모델이 지식이 필요한 질의를 스스로 식별하고, 외부 정보에 기반하여 응답을 생성할 수 있도록 한다. 또한 응답을 시작하는 시점과 핵심 정보를 전달하는 시점 사이에 존재하는 자연스러운 시간적 간격을 활용하여, 자연스러운 대화 흐름을 유지하면서도 retrieval 과정을 완료할 수 있다.

이러한 접근법을 통해 MoshiRAG는 full-duplex 시스템의 고유한 상호작용성을 유지하면서도, 현재 공개된 non-duplex speech language model 가운데 최고 수준과 비교 가능한 사실성을 달성한다. 더 나아가, 제안한 구조는 재학습 없이도 다양한 retrieval 방법을 plug-and-play 방식으로 사용할 수 있으며, 도메인 밖(out-of-domain)의 수학적 추론 과제에서도 우수한 성능을 보인다.

큰 모델로 full-duplex를 하는건 추론, 지연시간 문제가 있기 때문에, RAG을 통한 비동기 프레임워크로 full-duplex을 하면 사실성이 높아진다.

1. Introduction

인공지능(AI) 시스템을 위한 음성 인터페이스를 구축하여 다양한 상황에서 사람을 지원하는 것은 오랫동안 미래 기술의 핵심 비전으로 여겨져 왔다. 사용하기 편리한 음성 인터페이스는 사용자가 실제 인간 비서와 대화하는 것처럼 AI 시스템과 자연스럽게 의사소통할 수 있는 경험을 제공해야 한다. 초기 접근법은 일반적으로 자동 음성 인식(ASR), 텍스트 기반 대화 관리(dialogue management), 음성 합성(TTS)과 같은 여러 구성 요소를 결합하여 대화 시스템을 구축하였다. 최근에는 음성을 텍스트로 변환하는 과정에서 발생하는 운율(prosody), 리듬(rhythm), 억양(intonation) 등의 정보 손실을 줄이고, 단계별(cascaded) 파이프라인으로 인해 발생하는 지연(latency)과 상호작용의 단절을 줄이기 위해 end-to-end 접근법으로 연구의 흐름이 이동하고 있다.

최근 제안된 다양한 프레임워크 가운데 full-duplex 모델은 "말하면서 동시에 듣는(listen while speaking)" 능력을 갖춘다는 점에서 기존의 turn-based 방식과 구별된다. Turn-based 방식은 문장과 같은 비교적 큰 단위의 음성을 처리하며, 각 단위가 끝난 뒤에야 듣기 상태와 말하기 상태를 전환할 수 있다(Figure 1). 

반면 full-duplex 모델은 음성 입력을 받는 동시에 응답을 생성할 수 있기 때문에 사용자 입력에 더 빠르게 반응할 수 있으며, 실제 인간 대화에서 나타나는 복잡한 상호작용을 더욱 잘 모델링할 수 있다. 그러나 이러한 full-duplex 접근법은 실시간 음성 처리와 생성이 필요하다는 새로운 어려움도 함께 가져온다. 또한 최근 연구들은 native audio 모델이 질의응답과 같이 높은 사실성이 요구되는 작업에서 텍스트 모델보다 더 낮은 성능을 보인다고 보고하였다. 이러한 사실성의 저하는 적어도 일부는 학습에 사용할 수 있는 음성 데이터의 양(단어 기준)이 텍스트 데이터보다 훨씬 적기 때문으로 설명된다.

이러한 문제를 해결하면서도 상호작용성을 유지하기 위해, 본 논문에서는 full-duplex speech language model인 Moshi를 확장한 MoshiRAG를 제안한다. 이는 Retrieval-Augmented Generation(RAG) 기능을 갖춘 최초의 full-duplex 음성 모델이다. RAG는 대규모 언어 모델(LLM)의 사실성을 향상시키기 위한 대표적인 방법으로 널리 사용되어 왔지만, 지속적인 음성 상호작용이 요구되는 full-duplex 음성 시스템에서는 엄격한 실시간 제약 때문에 거의 연구되지 않았다.

본 논문에서는 음성 응답이 시작되는 시점과 핵심 정보가 실제로 전달되는 시점 사이에 존재하는 자연스러운 시간 간격(Figure 2의 keyword delay)을 활용하여 이 문제를 해결한다. 

이를 위해 모델이 지식이 필요한 질문을 받았을 때 retrieval trigger 신호를 예측하도록 하는 특수한 fine-tuning 데이터를 설계하였다. 이 신호가 발생하면 비동기적으로 정보 검색 시스템이 동작하여 현재 대화 문맥과 관련된 참고 문서를 검색한다. 검색된 정보는 응답에서 핵심 내용이 시작되기 전에 생성 과정에 주입된다. 또한 retrieval 과정 전체가 2초 이내에 완료되도록 설계하였으며, 이는 기존 speech language model의 keyword delay보다 짧은 시간이다(Table 1).

이와 같은 구조는 상호작용성을 유지하면서 사실성을 향상시킬 뿐 아니라, 사용하는 retrieval 백엔드의 종류에 독립적이라는 장점도 가진다. 즉, LLM 기반 retriever나 검색 엔진 등 다양한 retrieval 방법을 별도의 재학습 없이 손쉽게 연결할 수 있으며, 합리적인 시간 안에 텍스트 형태의 참고 정보를 제공할 수 있다면 그대로 사용할 수 있다. 이러한 설계는 향후 시스템의 확장성과 유연성을 높여준다.

실험 결과, MoshiRAG는 질의응답(QA) 벤치마크에서 기존 Moshi의 사실성을 크게 향상시키면서도, full-duplex 벤치마크에서 측정한 음성 대화의 상호작용성 역시 우수하게 유지하였다. 

  • 또한 추론 시 더 강력한 retrieval 백엔드로 단순히 교체하는 것만으로도 성능을 더욱 향상시킬 수 있음을 보였다. 
  • 마지막으로, 학습 과정에서 보지 못한 수학적 추론 문제에서도 우수한 일반화 성능을 확인하였다. 
  • 이는 Moshi가 수학 문제를 해결하기 위해 외부 LLM을 하나의 도구(tool)처럼 활용할 수 있음을 보여주는 초기 사례로 볼 수 있다. 
이러한 결과는 향후 full-duplex 모델이 보다 일반적인 tool-use 능력을 갖출 수 있는 가능성을 시사하며, 실시간 음성 인터페이스와 강력한 문제 해결 메커니즘을 결합함으로써 더욱 강력하고 신뢰할 수 있으며 사용자 친화적인 음성 AI 비서를 구축할 수 있음을 보여준다.

마지막으로, 저자들은 MoshiRAG의 추론 코드를 공개하고, 여러 데모 영상을 함께 제공한다.

2. Related Work

dGSLM(Nguyen et al., 2023)이 end-to-end 다중 화자(multi-speaker) 대화 모델링을 처음 제안한 이후, duplex 모델은 음성 대화 시스템에서 중요한 연구 방향으로 자리 잡고 있다. 사용자와 시스템의 음성을 함께 모델링하기 위해, 한 가지 접근법은 time-multiplexing 방식을 사용하는 것이다. 이 방식에서는 사용자 입력을 일정 길이의 음성 청크(chunk)로 나누어 처리하고, 동일한 길이의 응답을 번갈아 생성한다. 반면 Moshi와 같은 dual-channel 구조를 사용하는 모델은 입력 음성과 출력 음성을 각각 별도의 채널에서 높은 프레임 속도로 동시에 처리함으로써, 실시간 full-duplex 대화를 가능하게 한다.

음성 대화 모델의 사실성(factuality) 을 향상시키기 위해 최근에는 RAG(Retrieval-Augmented Generation)를 적용하는 연구도 활발히 이루어지고 있다. 또한 StreamRAGKAME와 같은 동시기 연구들은 음성 대화에서 존재하는 시간적 여유를 활용하여 정보 검색을 수행하는 방식을 제안하였다. 그러나 StreamRAG는 미리 구축된 고정된 문서 집합(pre-indexed corpus)만을 사용하는 non-full-duplex 환경에 한정되어 있으며, 실시간 full-duplex 대화가 요구하는 엄격한 시간 제약을 고려하지 못한다. 반면 KAME는 full-duplex 환경을 지원하지만, 정보원으로 LLM만 사용할 수 있고 대화 문맥과 무관하게 일정한 시간 간격마다 LLM을 반복 호출하여 정보를 생성하기 때문에 계산량이 크게 증가하는 문제가 있다.

  • StreamRAG, KAME 한번 봐야겠다
  • Stream RAG: Instant and Accurate Spoken Dialogue Systems with Streaming Tool Usage
  • KAME: TANDEM ARCHITECTURE FOR ENHANCING KNOWLEDGE IN REAL-TIME SPEECH-TO-SPEECH CONVERSATIONAL AI

이에 비해 MoshiRAG는 필요한 경우에만 동적으로 retrieval을 수행하므로 훨씬 효율적이다. 또한 LLM 기반 지식뿐만 아니라 웹 검색까지 지원하여, RAG를 개방형(open-domain) full-duplex 대화 환경으로 확장한다. RAG 외에도 Audio-CoT와 같은 audio 및 speech 모델의 chain-of-thought 추론을 활용하는 연구들도 제안되고 있다. 이러한 방법들은 본 논문에서 제안하는 프레임워크와 상호 배타적인 것이 아니라, 향후 자연스럽게 함께 결합될 수 있는 기술로 볼 수 있다.

3. System Design

MoshiRAG 프레임워크는 Moshi(Defossez et al., 2024)를 기반으로 구축되었다. Moshi의 응답 생성 과정에 외부 정보를 통합하기 위해, 먼저 사람과 기계 사이의 음성 대화에서 존재하는 시간적 제약(timing constraints) 을 분석한다. 이를 바탕으로, 실시간 상호작용을 담당하는 full-duplex front-end와 비동기적으로 동작하는 retrieval back-end가 병렬로 수행되는 프레임워크를 제안한다. 이를 통해 모델은 실시간 상호작용성을 유지하면서도, 외부에서 검색한 지식을 응답 생성 과정에 실시간으로 반영할 수 있다.

3.1. Timing Constraints

먼저 사람과 기계의 음성 대화에서 사용되는 지연(latency) 관련 용어를 정의한다(Figure 2).

  • Time-to-first-audio-token (TTFAT): LLM에서 널리 사용하는 Time-to-first-token (TTFT) 의 음성 버전이다. 사용자의 발화가 끝난 시점부터 모델이 첫 번째 오디오 토큰을 생성하기까지의 시간을 의미한다.¹

  • Keyword delay: 모델이 음성 응답을 시작한 시점부터, 사용자의 질문에 대한 핵심 정보(예를 들어 질문의 답을 직접 포함하는 핵심 단어)가 처음 등장하는 시점까지의 시간이다. 자세한 정의는 Section 5.2에서 설명한다.

  • End-to-end keyword delay (E2EKD): 사용자의 질문이 끝난 시점부터 핵심 단어가 실제로 응답에서 언급될 때까지의 전체 시간이다. 정의에 따라 E2EKD = TTFAT + Keyword delay 이다.

  • Retrieval delay: 모델이 retrieval trigger를 예측한 시점부터 retrieval 과정이 완료될 때까지 걸리는 시간이다.

이 가운데 E2EKD는 사용자가 의미 있는 정보를 얼마나 빨리 받는지를 결정하는 중요한 지표이다. 

  • Retrieval을 사용하는 시스템에서는 retrieval이 사용자의 질문이 끝난 이후에 시작된다고 가정하면, retrieval delay가 E2EKD보다 짧아야만 검색된 정보를 응답에 제때 반영할 수 있다.
  • 즉 질문 끝나고 나서 첫번째 응답 토큰이 나오는게 TTFAT이고 그 이후 중요 keyword 나올때까지가 keyword delay임
  • 즉 질문 끝나고나서 E2EKD(TTFAT+keyword delay)안에 검색한 결과의 키워드가 나와야한다는 것
  • retrieval delay=스페셜토큰(<ret>)나오고 검색시스템 던져서 결과받을때까지의 시간인데, 실제로 질문이 끝나자마자 스페셜토큰(<ret>)이 자주나오는 형태인가봄?

저자들의 예비 분석 결과, 기존 speech language model의 E2EKD는 대부분 3초 이상인 것으로 나타났다(Table 1). 따라서 MoshiRAG에서는 데이터 생성과 모델 학습 과정 모두에서 retrieval delay를 최대 2초 이내로 제한하였다. 이를 통해 외부 지식을 실시간으로 응답에 반영하면서도 자연스러운 대화 품질을 유지할 수 있도록 설계하였다.


¹ 이 정의는 내용 생성 지연(content generation latency) 만을 측정하며, codec이나 vocoder와 같은 토큰을 실제 음성으로 변환하는 시간은 본 연구의 범위와 무관하므로 포함하지 않는다.



















Reference

댓글