Audio-030, MiniCPM-o 4.5: Towards Real-Time Full-Duplex Omni-Modal Interaction, Preprint 2026
Abstract
1 Introduction
멀티모달 대규모 언어 모델(MLLM)의 발전으로 이미지, 음성, 비디오, 텍스트를 아우르는 점점 더 풍부한 상호작용이 가능해졌으며, AI 시스템은 보다 자연스러운 형태의 의사소통에 가까워지고 있다 [1, 2, 3, 4] (Figure 2).
인간과 유사한 상호작용을 향한 주요 과제는 이제 더 이상 모달리티의 범위나 응답 지연 시간 자체가 아니라, 그 기반이 되는 상호작용 패러다임이다. 현재 모델에서는 지각과 응답이 여전히 번갈아 수행되는 단계에 제한되어 있어, Figure 3에 나타난 것처럼 생성 중 새롭게 들어오는 정보를 지속적으로 반영하여 적시에 조정하기 어렵다. 또한 모델의 행동은 계속해서 엄격하게 요청에 의해 주도되며, 변화하는 멀티모달 환경으로부터 능동적으로 시작되지는 않는다.
이 문제를 해결하려면 turn-based의 수동적인 응답 생성에서 벗어나 지속적이고 능동적인 상호작용으로 나아가야 한다.
- 첫째, 지각과 응답은 시간에 따라 token-level에서 지속적으로 결합되어 있어야 하며, 이를 통해 듣기, 보기, 말하기, 쓰기가 직렬화된 파이프라인으로 강제되는 대신 병렬로 진행될 수 있어야 한다.
- 둘째, 상호작용은 순수하게 반응적인 방식보다는 문맥에 의해 더 많이 주도되어야 한다. 명시적인 사용자 트리거를 기다리는 대신, 보다 인간과 유사한 모델은 실시간 장면 설명을 제공하거나 리마인더를 제시하는 것처럼 지속적으로 주어지는 문맥을 바탕으로 적절한 행동을 스스로 시작할 수 있어야 한다. 이는 특히 장시간에 걸친 지원과 ambient interaction에서 중요하다.
우리는 인간과 유사한 멀티모달 상호작용을 향한 최신 시도인 MiniCPM-o 4.5를 제시한다. 이 모델은 실시간으로 동시에 보고, 듣고, 말할 수 있으며, 실시간 장면에 대한 지속적인 이해를 바탕으로 리마인더를 제공하거나 코멘트를 하는 등의 능동적인 행동도 수행한다. 이 모델의 핵심 기술은 Omni-Flow로, 멀티모달 입력과 출력을 하나의 공유된 시간축을 따라 정렬하는 통합 스트리밍 프레임워크이다. Omni-Flow는 상호작용을 서로 구분된 여러 turn의 연속으로 취급하는 대신, 지각과 응답이 병렬로 전개되고 지속적으로 주어지는 문맥으로부터 능동적인 행동이 동일한 상호작용 루프 안에서 발생할 수 있는 연속적인 full-duplex 프로세스로 정의한다. 학습 과정에서 풍부한 omni-modal 지식을 충분히 활용하기 위해 MiniCPM-o 4.5는 token-level continuous connection을 갖는 end-to-end 멀티모달 아키텍처를 기반으로 구축된다. 또한 출력 음성이 동시에 변화하는 환경 문맥과 긴밀하게 정렬되도록 time-aligned interleaving speech generation 전략을 설계한다.
기존 인프라 및 애플리케이션과의 더 나은 호환성을 위해 MiniCPM-o 4.5는 기존의 turn-based 상호작용 역시 지원하며, full-duplex omni-modal streaming mode와 기존 사용 방식(MiniCPM-o 2.6 및 MiniCPM-V 4.5와 유사하지만 성능이 향상된 방식) 사이를 유연하게 전환할 수 있다. 광범위한 평가 결과, 이 모델은 vision-language 및 omni-modal 능력에서 선도적인 성능을 달성한다. 총 9B 파라미터를 갖는 MiniCPM-o 4.5는 vision-language 능력에서 Gemini 2.5 Flash에 근접하며, 해당 규모의 오픈소스 모델 중 state-of-the-art 성능을 달성한다. 또한 omni-modal understanding에서 Qwen3-Omni-30B-A3B를 능가하고, 더 높은 품질의 speech generation도 제공한다. End-to-end continuous connection의 장점을 활용하여 MiniCPM-o 4.5는 text와 reference audio를 모두 포함하는 multimodal system prompt를 입력으로 받을 수 있으며, 이를 통해 voice cloning과 같은 고급 speech generation 기능을 지원한다. 또한 MiniCPM-o 4.5는 강력한 OCR, 낮은 hallucination, 다국어 지원을 포함하여 MiniCPM 계열의 강력한 vision 능력도 유지한다.
본 연구의 기여는 다음 세 가지이다.
- (1) 우리는 최초의 full-duplex omni-modal LLM인 MiniCPM-o 4.5 9B를 제시한다. 이 모델은 12GB 미만의 RAM을 사용하는 edge device에서도 효율적으로 실행될 수 있다.
- (2) 광범위한 평가를 통해 MiniCPM-o 4.5가 vision-language 능력에서 Gemini 2.5 Flash에 근접하며, 해당 규모의 오픈소스 모델 중 state-of-the-art 성능을 달성함을 보인다. 또한 훨씬 높은 계산 효율성을 유지하면서 omni-modal understanding과 speech generation 품질에서 Qwen3-Omni-30B-A3B를 능가한다.
- (3) 우리는 지속적인 full-duplex 및 능동적인 멀티모달 상호작용이 보다 인간과 유사한 interactive intelligence로 나아가기 위한 핵심 단계임을 제시하고, full-duplex interaction modeling을 위해 멀티모달 입력과 출력을 공유된 시간축을 따라 정렬하는 Omni-Flow 프레임워크를 제안한다.
omni streaming full-duplex 모델인거 같음. vision-language 성능은 gemini 2.5 flash에 근접하다고 함.
omni-modal understanding / speech generation은 qwen3-omni-30b-a3b보다 좋다고 함
3 Omni-Flow
기존의 상호작용 패러다임에서는 지각과 응답이 번갈아 수행되는 단계로 제한되어 있으며, 그 결과 Figure 3에 나타난 것처럼 I/O가 차단되고 수동적으로 응답하는 문제가 발생한다. 모델이 지각과 발화를 동시에 수행할 수 있도록, 우리는 omni-modal 입력 및 출력 스트림을 하나의 공유된 시간축을 기준으로 조정하는 Omni-Flow 프레임워크를 제안한다. Time-division multiplexing 기법에서 영감을 받아, Omni-Flow는 연속적인 상호작용을 길이 의 세밀한 시간 윈도우로 나눈다. 각 윈도우 내에서 모델은 새롭게 도착한 신호를 반영하는 동시에 다음 출력을 생성하며, 기존의 turn-taking 방식을 시간적으로 국소적인 업데이트들의 스트림으로 변환한다. 이는 Figure 4에 나타나 있다. 가 충분히 작아질수록 지각과 응답은 시간적으로 더욱 긴밀하게 결합되며, 자연스럽게 full-duplex 동작에 가까워진다.
3.1 Time-Aligned Streams
우리는 상호작용 과정에서 시간적으로 정렬되는 세 가지 스트림을 정의한다. env-visual은 환경에 대한 실시간 시각적 관찰을 전달하고, env-audio는 사용자의 음성이 존재하는 경우 이를 포함하여 주변의 음향 장면을 전달하며, out-stream은 assistant의 text 및 speech 출력을 나타낸다.
이러한 관점에서는 사용자 요청을 더 이상 특별한 conversational role로 취급하지 않는다. 대신 사용자 요청은 지속적으로 관찰되는 world state의 일부가 되며, 주로 env-audio를 통해 입력된다. 마찬가지로 모델은 응답하기 전에 명시적인 사용자 요청을 trigger로 필요로 하지 않는다. 대신 out-stream은 지속적으로 들어오는 지각 정보와 결합된 상태로 변화한다.
따라서 모델은 항상 켜져 있는(always-on) 멀티모달 환경 속에 위치하게 되며, 모델은 무엇을 출력할 것인지뿐만 아니라, 스스로 출력할지 여부와 언제 출력할지도 결정해야 한다.
3.2 통합 직렬화 (Unified Serialization)
이러한 스트림들이 주어졌을 때, 우리는 이들을 표준 causal language model에 입력할 수 있는 하나의 통합 시퀀스로 구성한다. 번째 시간 청크(time chunk)에 대해, env-visual과 env-audio에서 들어오는 입력은 각각 시각 토큰 시퀀스 와 오디오 토큰 시퀀스 로 인코딩되며, out-stream의 업데이트는 출력 토큰 시퀀스 로 표현된다. 출력이 생성되지 않아야 하는 경우, 는 특수한 [listen] 토큰 하나만을 포함한다.
우리는 시간적으로 정렬된 이러한 토큰들을
로 묶고, 연속된 그룹들을 하나의 시퀀스로 이어 붙여 전체 상호작용을 직렬화한다.
각 청크 내에서 모델은 먼저 새롭게 도착한 지각 토큰들을 처리한 다음 출력 토큰을 생성한다. 따라서 모든 출력은 가장 최근의 관측 정보에 조건화된다. 청크 크기 를 줄이면 모델이 지각 정보를 갱신하는 빈도가 증가하며, 이를 통해 변화하는 환경과 더욱 긴밀하게 정렬된 상태를 유지할 수 있다.
또한 모델이 각 시간 구간마다 출력 여부를 스스로 결정하기 때문에, 자연스럽게 능동적인(proactive) 행동을 지원할 수 있으며 외부 VAD [17] 모듈에 대한 의존도도 줄어든다.
3.3 설계 트레이드오프 (Design Tradeoffs)
Omni-Flow에는 모델의 안정성과 반응성에 직접적인 영향을 미치는 여러 가지 설계 선택지가 존재한다. 따라서 우리는 시간적 세분성(temporal granularity), 경계의 명시성(boundary explicitness), 제어 방식(control formulation)의 세 가지 측면에서 ablation 실험을 수행한다.
시간적 세분성은 각 시간 청크의 길이를 의미하며, 1.0초, 0.2초, 0.1초를 비교한다. 경계의 명시성은 연속된 그룹 사이를 명시적인 특수 토큰으로 구분하는지 여부를 의미한다. 제어 방식은 모델이 발화 여부를 어떻게 결정하는지를 나타낸다. Listen-Speak (LS) 방식에서는 모델이 콘텐츠를 생성하기 전에 먼저 listen/speak 중 하나를 나타내는 이진 제어 토큰을 예측한다. Listen-Text (LT) 방식에서는 모델이 하나의 공유 출력 공간에서 [listen] 또는 일반 텍스트 토큰을 직접 예측한다. 결과는 Table 1에 제시되어 있다.
시간적 세분성은 지연 시간과 모델링 용량 사이의 핵심적인 트레이드오프를 결정한다. 청크 크기를 줄이면 시간적인 반응성은 향상되지만, 동시에 각 청크 내에서 제어와 생성을 수행하는 데 사용할 수 있는 모델링 예산은 줄어든다. 청크가 지나치게 짧아지면 모델은 각 시간 구간에서 안정적인 결정을 내리고 일관된 출력을 생성하기에 충분한 정보를 확보하지 못하게 되며, 그 결과 성능이 크게 저하된다. 본 실험 설정에서는 1.0초의 청크 크기가 가장 좋은 균형을 제공한다.
경계를 명시적으로 표현하는 것은 일관되게 유리하다. 그룹 사이의 경계를 명시적으로 표시하는 방식이 더 좋은 성능을 보인다. 이는 새롭게 관측된 입력과 새롭게 생성된 출력을 구분하는 것이 단순하지 않은 문제이며, 이러한 구조를 명시적으로 제공함으로써 모델이 부담해야 하는 학습 난이도를 줄일 수 있음을 시사한다.
상호작용 제어와 콘텐츠 생성을 분리하면 보다 안정적인 모델링이 가능하다. LS는 LT보다 더 좋은 성능을 보이며, 이는 발화할지 여부를 결정하는 것과 무엇을 말할지를 결정하는 것을 분리해야 함을 나타낸다. 두 가지 결정을 하나의 예측 단계에 결합하면 full-duplex 상호작용을 학습하기가 더 어려워진다.
- 3.2을 보면 이미지/오디오/텍스트가 하나의 1d grid로 들어오게끔 되어있는데 이걸 몇 초 단위로 판단할지에 대한 실험을 했다는것임
- 결과론적으로 너무 빠르게 하면 반응은 빨라지나 정보가 너무 적어서 성능이 떨어져서 1초가 안정적이란 이야기
- Grid 사이사이 스페셜 토큰으로 아래처럼 explicit 처리하면 바운더리가 더 잘 구분된다는것
- <chunk> V A output </chunk> <chunk> V A output </chunk>
- LT는
- [listen] 또는 "그 선수가 슛을 했네요" 이 둘중 하나 선택
- 즉 토큰으로 listen할지 말할지를 한꺼번에 결정
- LS는
- 1단계: [listen] vs [speak]
- 2단계: [speak]라면 실제 텍스트 생성 "그 선수가 슛을 했네요"
- 이렇게 [speak]토큰을 추가하여 명확히 구분하는거 같음
- LS가 더 성능이 좋다고함
Reference
댓글
댓글 쓰기