[논문리뷰] Qwen2.5-Omni Technical Report

lit·2025년 3월 30일

Paper Link
Code Link

Abstract

본 논문은 텍스트, 이미지, 오디오, 비디오 등 다양한 모달리티를 인식하고 텍스트 및 자연 음성 응답을 스트리밍 방식으로 생성할 수 있는 end-to-end 멀티모달 모델인 Qwen2.5-Omni를 소개합니다.

멀티모달 정보 입력의 스트리밍을 가능하게 하기 위해 오디오와 비주얼 인코더를 block-wise 방식으로 처리 접근법을 사용합니다.

긴 모달리티 데이터 처리를 효과적으로 분리하여 멀티모달 인코더에게 perceptual responsibilities를 부여하고 긴 시퀀스 모델링은 대형 언어 모델이 처리합니다.

이러한 모달리티 분담은 공유된 어텐션 메커니즘을 통해 다양한 모달리티의 융합을 향상시킵니다.

비디오 입력과 오디오의 타임스탬프 싱크를 맞추기 위해 오디오와 비디오를 순차적으로 정렬하고 TMRoPE(Time-aligned Multimodal RoPE)라는 새로운 위치 임베딩 접근법을 제안합니다.

텍스트와 음성을 동시에 생성하면서 두 모달리티 간의 간섭을 피하기 위해 Thinker-Talker 아키텍처를 제안합니다.

이 프레임워크에서 Thinker는 텍스트 생성을 담당하는 대형 언어 모델로 작동하고 Talker는 Thinker의 숨겨진 표현을 직접 활용하여 오디오 토큰을 출력하는 dual-track autoregressive model입니다.

Thinker와 Talker 모델은 모두 end-to-end 방식으로 훈련 및 추론될 수 있도록 설계되었습니다.

오디오 토큰을 스트리밍 방식으로 디코딩하고 초기 패키지 지연을 줄이기 위해 슬라이딩 윈도우 DiT를 도입합니다.

Qwen2.5-Omni는 비슷한 크기의 Qwen2.5-VL과 비슷한 성능이며 Qwen2-Audio를 능가합니다.

Qwen2.5-Omni는 Omni-Bench와 같은 멀티모달 벤치마크에서 최고 성능을 달성합니다.

Qwen2.5-Omni의 end-to-end speech instruction following 성능은 MMLU와 GSM8K와 같은 벤치마크에서 텍스트 입력과 비슷한 성능입니다.

음성 생성 측면에서는 Qwen2.5-Omni의 streaming Talker가 robustness와 자연스러움에서 대부분의 기존 스트리밍 및 비스트리밍 모델들을 능가합니다.

Introduction

일상 생활에서 인간은 주변의 시각 청각 정보를 동시에 인식할 수 있습니다.
이 정보를 뇌를 통해 처리한 후, 글쓰기, 발음, 도구 사용을 통해 피드백하고 다양한 생물들과 정보 교환을 하고 지능을 나타냅니다.
최근 몇 년 동안 대형 언어 모델의 발전 덕분에 인공지능이 점점 더 두드러지게 나타나고 있습니다.
이러한 모델들은 방대한 텍스트 데이터를 바탕으로 훈련되어 복잡한 문제를 해결하고 빠르게 학습하는 능력을 보여줍니다.
이해의 영역에서 언어-오디오-언어 모델과 언어-비주얼-언어 모델은 LLM이 청각 및 시각 기능을 end-to-end 방식으로 확장하는 데 도움을 주었습니다.
그러나 다양한 모달리티를 end-to-end 방식으로 효율적으로 통합하고 가능한 많은 데이터를 활용하며 인간의 의사소통처럼 텍스트와 음성 스트림 모두에서 응답을 제공하는 것은 여전히 큰 도전 과제입니다.

통합되고 지능적인 모델을 개발하려면 주요 요소를 신중하게 고려해야 합니다.
첫째, 텍스트, 이미지, 비디오 및 오디오를 포함한 다양한 모달리티의 동시에 훈련하기 위한 체계적인 방법을 구현하여 서로 간의 상호 향상을 촉진하는 것이 중요합니다.
특히 비디오 콘텐츠에서 중요한데 그 이유는 오디오와 비주얼 신호의 시간적 동기화가 필요하기 때문입니다.
둘째, 서로 다른 모달리티의 출력 간에 잠재적인 간섭을 관리하는 것이 중요하고 텍스트 및 음성 토큰과 같은 출력의 훈련 과정이 서로 방해되지 않도록 해야 합니다.
마지막으로, 실시간으로 멀티모달 정보를 이해하고 효율적인 오디오 출력 스트리밍을 가능하게 하는 아키텍처 설계를 탐구할 필요가 있습니다.

여러 모달리티를 처리하고 텍스트 및 자연 음성 응답을 동시에 스트리밍 형식으로 생성할 수 있는 통합된 단일 모델인 Qwen2.5-Omni를 소개합니다.

첫 번째 도전 과제를 해결하기 위해 우리는 TMRoPE(Time-aligned Multimodal RoPE)라는 새로운 위치 임베딩 접근법을 제안합니다.
오디오 및 비디오 프레임을 교차 구조로 조직하여 시간 순서대로 비디오 시퀀스를 나타냅니다.
두 번째 도전 과제를 해결하기 위해 Thinker-Talker 아키텍처를 제시합니다.
Thinker는 텍스트 생성을 담당하고 Talker는 스트리밍 음성 토큰 생성을 담당합니다.
Talker는 Thinker로부터 표현을 직접 수신합니다.
이 디자인은 인간이 서로 다른 장기를 활용하여 다양한 신호를 생성하고 이를 동일한 신경망을 통해 동시에 조정하는 방식에서 영감을 받았습니다.
Thinker-Talker 아키텍처는 end-to-end 방식으로 동시에 훈련되고 각 구성 요소는 고유한 신호 생성을 담당합니다.
스트리밍과 관련된 도전 과제를 해결하고 멀티모달 신호의 실시간 이해를 위해 필요한 pre-fill을 용이하게 하기 위해 모든 멀티모달 인코더에 대해 block-wise streaming processing을 채택하여 수정합니다.
스트리밍 음성 생성을 지원하기 위해 우리는 음성 토큰을 생성하는 dual-track autoregressive 모델을 구현하고 이 토큰들을 파형으로 변환하는 DiT 모델을 구현하여 스트리밍 오디오 생성을 가능하게 하고 초기 지연을 최소화합니다.
이 디자인은 모델이 멀티모달 정보를 실시간으로 처리하고 효과적으로 사전 채우기를 수행할 수 있도록 하여 텍스트와 음성 신호를 동시에 생성할 수 있게 합니다.

Architecture

Overview

그림 2에서 볼 수 있듯이 Qwen2.5-Omni는 Thinker-Talker 아키텍처를 사용합니다.
Thinker는 뇌처럼 작동하며 텍스트, 오디오, 비디오와 같은 다양한 모달리티로부터 입력을 처리하고 이해하는 역할을 하, 고차원 표현과 이에 상응하는 텍스트를 생성합니다.
Talker는 인간의 입처럼 작동하며 Thinker가 스트리밍 방식으로 생성한 고차원 표현과 텍스트를 받아들여 유창하게 음성의 이산 토큰을 출력합니다.

Thinker는 Transformer 디코더로 구성되며 오디오와 이미지 정보를 추출하기 위한 인코더들이 함께 사용됩니다.
Talker는 Mini-Omni에서 영감을 받은 dual-track autoregressive Transformer 디코더 아키텍처로 설계되었습니다.
학습 및 추론 과정 모두에서 Talker는 Thinker로부터 직접 고차원 표현을 받아들이며 Thinker의 모든 과거 맥락 정보도 공유합니다.
따라서 전체 아키텍처는 하나의 통합된 모델처럼 작동하며, end-to-end 학습 및 추론이 가능합니다.

이후의 섹션에서는 먼저 Qwen2.5-Omni가 다양한 입력 신호를 어떻게 인식하는지 소개하고 우리가 제안한 새로운 위치 인코딩 알고리즘인 TMRoPE를 설명합니다.
이어서 텍스트 및 음성 생성 과정의 세부 사항을 설명하고 마지막으로 효율적인 스트리밍 추론을 가능하게 하기 위한 이해 및 생성 모듈의 개선 사항을 강조합니다.

Perceivation

Text, Audio, Image and Video (w/o Audio)
Thinker는 텍스트, 오디오, 이미지, 그리고 오디오가 없는 비디오를 입력으로 받아 이들을 hidden representations으로 변환하여 처리합니다.
텍스트 토크나이징에는 Qwen의 토크나이저를 사용하며, 이는 바이트 수준의 byte-pair encoding을 사용하고 151,643개의 일반 토큰을 포함한 어휘를 가집니다.

오디오 입력과 비디오에서의 오디오는 16kHz로 재샘플링한 후 raw waveform을 128채널의 멜-스펙트로그램으로 변환(윈도우 크기는 25ms 홉 사이즈는 10ms)합니다.
오디오 인코더는 Qwen2-Audio에서 채택한 것을 사용하며, 이를 통해 오디오 표현의 각 프레임은 약 40ms에 해당하는 원본 오디오 구간을 반영하도록 만듭니다.

이미지 및 비디오 입력에는 Qwen2.5-VL에서 사용하는 비전 인코더를 활용하며, 이는 약 6억 7천5백만 개의 파라미터를 가진 Vision Transformer (ViT) 기반입니다.
이 비전 인코더는 이미지와 비디오 데이터를 모두 포함한 혼합 학습 방식을 채택하여 이미지 이해와 비디오 해석 모두에 능숙합니다.
오디오 샘플링 속도에 맞추면서도 비디오 정보를 최대한 보존하기 위해 비디오는 동적으로 프레임 속도를 조절하여 샘플링합니다.

Video and TMRoPE
오디오와 비디오를 위한 time-interleaving 알고리즘과 새로운 위치 인코딩 방식인 TMRoPE(Time-aware Multimodal Rotary Position Embedding)를 제안합니다.
그림 3에서 보여지듯이 TMRoPE는 멀티모달 입력의 3차원 위치 정보를 인코딩합니다.
이는 M-RoPE에 절대 시간 위치 정보를 결합한 방식으로 원래의 회전 위치 임베딩(rotary embedding)을 시간(temporal), 높이(height), 너비(width) 세 가지 구성요소로 분해함으로써 구현됩니다.

텍스트 입력의 경우, 세 구성요소 모두 동일한 위치 ID를 사용하여 M-RoPE는 사실상 1D-RoPE와 동일하게 작동합니다.
오디오 입력에서도 동일한 위치 ID를 사용하며 절대 시간 위치 인코딩을 추가하여 하나의 시간 ID는 40ms에 해당하게 됩니다.

이미지를 처리할 때는 시각 토큰의 시간 ID는 일정하게 유지되며 토큰의 이미지 내 위치에 따라 높이 및 너비 ID가 개별적으로 부여됩니다.
오디오가 포함된 비디오 입력의 경우 오디오는 여전히 40ms마다 동일한 위치 ID로 인코딩되고 비디오는 이미지의 연속으로 처리되며 각 프레임마다 시간 ID가 증가합니다.
높이와 너비 ID는 이미지와 동일한 방식으로 부여됩니다. 프레임 속도가 고정되지 않았기 때문에 각 프레임의 실제 시간에 따라 시간 ID를 동적으로 조정하여 40ms에 하나의 시간 ID가 대응되도록 합니다.

모델 입력에 여러 모달리티가 포함된 경우 각 모달리티의 위치 번호는 이전 모달리티의 최대 위치 ID에 1을 더해 초기화됩니다.
이 TMRoPE는 위치 정보 모델링을 향상시켜 다양한 모달리티의 통합을 극대화하고 Qwen2.5-Omni가 다양한 모달리티에서 동시에 정보를 이해하고 분석할 수 있게 만듭니다.

위치 정보가 각 모달리티에 적용된 후 이 표현들은 순서대로 배열됩니다.
오디오와 비주얼 정보를 동시에 받을 수 있도록 하기 위해 그림 3에 나타난 것처럼 오디오가 포함된 비디오를 위한 특별한 디자인인 "시간 인터리빙(time-interleaving) 방식"을 사용합니다.
이 방식은 오디오가 포함된 비디오의 표현을 실제 시간 기준으로 2초 단위로 나누고 각 2초 구간 내에서 시각 정보를 앞에 오디오 정보를 뒤에 배치하여 비디오-오디오 표현을 교차 배열합니다.
또한 일관성을 위해 각 이미지는 두 개의 동일한 프레임으로 처리됩니다.

Generation

텍스트(Text)
텍스트는 Thinker에 의해 직접 생성됩니다.
텍스트 생성의 논리는 일반적으로 널리 사용되는 대형 언어 모델과 본질적으로 동일하며 어휘에 대한 확률 분포를 기반으로 한 autoregressive sampling을 통해 텍스트를 생성합니다.
이 생성 과정에서는 다양성을 높이기 위해 repetition penalty나 top-p 샘플링과 같은 기법들이 사용될 수 있습니다.

음성(Speech)
Talker는 Thinker가 샘플링한 텍스트 토큰의 임베딩과 high-level representations 둘 다를 입력으로 받습니다.
이 고차원 표현과 discrete token의 통합은 음성 생성에 있어 핵심적인 요소입니다.

음성은 스트리밍 방식으로 생성되어야 하므로 전체 텍스트가 완전히 생성되기 전에 콘텐츠의 톤과 태도를 미리 예측해야 합니다.
Thinker가 제공하는 고차원 표현은 이러한 정보를 암묵적으로 전달하여 보다 자연스러운 스트리밍 음성 생성을 가능하게 합니다.

Thinker의 표현은 음운적 유사성보다는 의미적 유사성을 중심으로 구성되기 때문에 발음이 크게 다른 단어들도 고차원 표현 공간에서는 매우 유사하게 나타날 수 있습니다.
이로 인해 생기는 불확실성을 해소하기 위해 샘플링된 이산 텍스트 토큰을 함께 입력해야 합니다.

우리는 qwen-tts-tokenizer라는 효율적인 음성 코덱을 설계했습니다.
이 코덱은 음성의 핵심 정보를 효율적으로 표현하고 causal audio decoder를 통해 스트리밍 방식으로 음성을 복원할 수 있습니다.
Talker는 이 정보를 받은 후 자동회귀적으로 오디오 토큰과 텍스트 토큰을 생성하기 시작합니다.

음성 생성은 텍스트와 단어 수준 또는 타임스탬프 수준의 정렬이 필요하지 않습니다.
이 덕분에 학습 데이터와 추론 과정에 대한 요구사항이 크게 단순화됩니다.

Designs for Streaming

스트리밍은 초기 패킷 지연 시간(initial packet latency)은 시스템의 스트리밍 성능을 나타내는 중요한 지표입니다.
이 지연 시간은 다음과 같은 여러 요인의 영향을 받습니다:
1) 다중 모달 정보 입력의 처리로 인한 지연
2) 첫 번째 텍스트 입력이 수신된 시점부터 첫 음성 토큰이 출력되기까지의 지연
3) 첫 번째 음성 세그먼트를 오디오로 변환하는 데 걸리는 시간
4) 모델 크기, 연산량(FLOPs) 및 기타 요소와 관련된 아키텍처 고유의 지연 시간입니다.

Prefilling 지원
chunked-prefills은 현대 추론 프레임워크에서 널리 사용되는 메커니즘입니다.
이를 모달리티 간 상호작용에 지원하기 위해 오디오 및 비전 인코더를 시간적 차원에서 블록 단위의 어텐션을 지원하도록 수정했습니다.
오디오 인코더는 전체 오디오에 대한 풀 어텐션에서 2초 단위 블록에 대해 어텐션을 수행하도록 변경되었습니다.
비전 인코더는 효율적인 학습 및 추론을 위해 flash attention을 사용하고, 인접한 2×2 토큰을 하나의 토큰으로 병합하는 간단한 MLP 레이어를 사용합니다.
패치 크기는 14로 설정되어 있어 해상도가 다른 이미지들도 하나의 시퀀스로 패킹할 수 있습니다.

Streaming Codec Generation

특히 장시간의 시퀀스를 위한 오디오 스트리밍을 용이하게 하기 위해 현재 토큰이 접근할 수 있는 문맥을 제한하는 슬라이딩 윈도우 블록 어텐션 메커니즘을 제안합니다.
구체적으로 Flow-Matchin DiT 모델을 사용합니다.
입력 코드는 Flow-Matching을 통해 멜-스펙트로그램으로 변환되며 이후 수정된 BigVGAN을 통해 생성된 멜-스펙트로그램을 다시 waveform으로 복원합니다.
Figure 4에 나타난 바와 같이 코드로부터 파형을 생성하기 위해 인접한 코드들을 블록으로 그룹화하고 이를 어텐션 마스크에 사용합니다.
DiT의 receptive field은 총 4개 블록으로 제한되며 그 중 2개는 lookback, 1개는 lookahead을 포함합니다.
디코딩 중에는 Flow-Matching을 사용하여 멜 스펙트럼을 청크 단위로 생성하며 각 코드 청크가 필요한 문맥 블록에 접근할 수 있도록 보장합니다.
이 접근 방식은 문맥 정보를 유지하면서 스트리밍 출력의 품질을 향상시킵니다.
BigVGAN의 고정 수용 영역을 활용하여 이 청크 단위 방식으로 스트리밍 파형 생성을 지원합니다.

profile
AI Researcher

0개의 댓글