Audio Interaction Model

🏷️ 논문 멀티모달 음성

Z. Xie, Z. Liu, Z. An, X. Hu, et al., "Audio Interaction Model," arXiv:2606.05121, 2026.

지금 쓰는 음성 비서는 대부분 이렇게 동작합니다. 사용자가 말을 끝내면, 그제서야 녹음 전체를 받아서 한 번 답하고 멈춥니다. 듣는 것과 말하는 것이 번갈아 일어나는 무전기(turn-based) 방식입니다. 그런데 사람은 그렇게 듣지 않습니다. 소리를 순간순간 받아들이면서, 끼어들 때인지 가만히 있을 때인지를 계속 판단합니다. 아이 우는 소리가 들리면 묻지 않아도 반응하고, 식기 부딪는 소리에는 침묵합니다.

Audio Interaction Model은 이 간극을 정조준한 논문입니다. 오프라인 대형 오디오 언어모델(LALM)과 "스트리밍 ASR만" 또는 "음성 대화만" 하는 단일 과제 스트리밍 모델을, 하나의 always-on 모델로 합칩니다. 핵심은 매 순간(청크) 모델이 말할지 침묵할지를 스스로 결정하는 perceive-decide-respond 루프입니다.

audio-interaction-overview.png

저자

이 논문은 NTU와 NUS가 함께 만들었습니다. 공동 1저자는 Zhifei Xie와 Zihang Liu이고, 교신저자는 Chunyan MiaoDeheng Ye입니다.

Zhifei Xie는 Mini-Omni 계열을 이끌어 온 사람입니다. "들으면서 동시에 생각하고 말한다"는 풀듀플렉스 음성 모델을 2024년부터 연이어 내놓았고, 그 경험이 이 논문의 always-on 루프로 곧장 이어집니다. 오디오 생성 쪽 대표 연구자 Dongchao Yang(UniAudio)이 합류한 것은 데이터 설계와 무관하지 않습니다. 뒤에서 보겠지만 이 논문의 데이터셋은 "검색으로 못 채우는 희귀 음향을 생성 모델로 합성"하는데, 그 지점이 UniAudio류의 통합 오디오 생성·이해 경험과 닿아 있습니다.

시니어 라인도 두껍습니다. 컴퓨터비전·머신러닝 대가 Shuicheng Yan이 NUS 측 시니어로, Human-Centered AI 전문가이자 NTU 컴퓨팅대 학장 Chunyan Miao가 NTU 측 시니어로 들어왔습니다. 특히 Chunyan Miao의 고령화·헬스 중심 연구 관심사는, 이 논문이 "사람의 위급 신호에 먼저 반응하는 어시스턴트"를 평가 축으로 세운 것과 자연스럽게 맞물립니다. 텐센트의 에이전트·대규모 학습 책임자 Deheng Ye가 공동 교신을 맡은 점도, "행동 타이밍을 스스로 고른다"는 이 모델의 의사결정 구조를 생각하면 결이 맞습니다.

배경

대형 오디오 언어모델(LALM)은 빠르게 발전했지만, 입출력 형태가 여전히 오프라인입니다. 식 하나로 쓰면 \(y = f(x, \mathcal{A})\)인데, 여기서 \(\mathcal{A}\)는 완성된 발화 전체이고 \(x\)는 텍스트 지시입니다. 신호가 다 관측된 뒤에야 답이 나옵니다. 이미지의 스냅샷 같은 처리 방식이라, 실시간으로 흘러가는 오디오의 본성과 맞지 않습니다.

그동안의 우회로는 "과제마다 전용 스트리밍 모델을 따로 학습"하는 것이었습니다. 스트리밍 ASR 모델, 스트리밍 번역 모델, 풀듀플렉스 대화 모델(Moshi 등)이 각각 따로 존재했습니다. 저자들은 이 접근에 두 가지 근본 문제가 있다고 봅니다. 하나는 능력마다 모델을 처음부터 새로 학습해야 한다는 것, 다른 하나는 각 모델이 좁은 능력 하나만 다룬다는 것입니다.

그래서 새 패러다임을 제안합니다. Large Audio Interaction Model(LAIM)입니다. 하나의 상호작용 모델이 기존 과제들을 흡수하면서, LALM 수준의 능력과 오디오의 실시간성을 잇습니다. 이 체제로 가면 두 가지 새로운 난제가 생깁니다.

어떻게 만들었나

모델 이름은 Audio-Interaction이고, 이를 학습시키는 프레임워크가 SoundFlow입니다. 베이스 모델은 Qwen2.5-Omni-3B로, 작은 규모에서 성능·효율 균형이 좋아 저지연 스트리밍에 맞습니다.

핵심 수식부터 봅니다. 매 청크 \(t\)에서 모델은 두 가지를 출력합니다.

\[(d_t, r_t) = f(a_{\le t},\, d_{<t},\, r_{<t}), \qquad r_t = \begin{cases} \varnothing, & d_t = \langle\text{silent}\rangle \\ f_{\text{resp}}(a_t, C_t), & d_t = \langle\text{response}\rangle \end{cases}\]

\(a_t\)는 현재 오디오 청크, \(d_t \in \{\langle\text{silent}\rangle, \langle\text{response}\rangle\}\)는 스트리밍 개입 결정, \(r_t\)는 생성 응답입니다. \(d_t\)가 침묵이면 아무 텍스트도 내지 않고 다음 청크를 계속 듣고, 응답이면 자기회귀 생성으로 넘어갑니다. 즉 "언제 말할지(when)"와 "무엇을 말할지(what)"를 하나의 시퀀스 과정으로 함께 학습합니다. 청크 크기는 400ms입니다.

audio-interaction-soundflow.png

SoundFlow는 데이터·학습·추론 세 부분으로 나뉩니다.

데이터 쪽은 시간-주파수 결합 전처리(TFJP)와 계층적 이벤트 큐레이션이 핵심입니다. TFJP는 긴 묵음을 잘라내고(\(\texttt{silence\_cut}\)), 저에너지 구간에서 정상 잡음 스펙트럼을 추정해 제거하고(\(\texttt{denoise}\)), 가장 정보가 밀집한 구간을 찾아(\(\texttt{core\_locate}\)) 경계를 청크의 절반(\(\delta = c/2 = 200\)ms)에 맞추는 식으로, 짧은 클립을 매끄럽게 이어붙일 수 있게 다듬습니다. 계층적 이벤트 큐레이션은 무작위로 클립을 이어붙이는 대신, LLM이 시나리오를 먼저 기획하고(예: 주말 육아 중인 집), 그 시나리오를 구체적 음향 이벤트로 쪼갠 뒤, 검색 또는 생성으로 클립을 채웁니다. 적절한 검색 클립이 없으면 생성 모델로 합성합니다. 덕분에 "차 소리와 사람 말이 동시에 나는데 서로 모순되는" 식의 깨진 맥락을 피하고, 길고 일관된 스트림을 만듭니다.

학습 쪽은 두 가지 실패 모드를 정조준합니다. 하나는 맥락 망각으로, 긴 시퀀스에서 잡음·묵음이 많아 앞 맥락을 놓치는 문제입니다. 이를 위해 뒤쪽에 "앞에서 나온 정보로만 답할 수 있는 질문"을 끼워 넣는 history-review 학습을 씁니다. 다른 하나는 잘못된 트리거로, 응답이 필요 없는 음향에 반응하는 문제입니다. 검증된 묵음 오디오를 대량 섞어 함부로 말하지 않도록 훈련합니다. 학습 손실은 표준 언어모델 손실에 스트리밍 제어 손실을 더한 이중 손실입니다.

\[\mathcal{L} = \frac{1}{N}\sum_{j=1}^{N}\Big( \underbrace{-\log P_\theta(t_j \mid \mathcal{H}_j)}_{\mathcal{L}_{\text{LM}}} + \lambda \underbrace{-\log P_\theta(s_j \mid \mathcal{H}_j)}_{\mathcal{L}_{\text{stream}}} \Big)\]

\(t_j\)는 목표 텍스트 토큰, \(s_j\)는 목표 스트리밍 제어 토큰, \(\lambda\)는 스트리밍 목적의 상대 가중치입니다. 전체 학습은 4단계(포맷 학습 → 어댑터 학습 → 대규모 스트리밍 지도학습 → 지시 따르기 미세조정)로 진행되고, \(32 \times\) H100에서 약 10일 걸립니다.

추론 쪽은 비동기 FIFO 스케줄링입니다. 인코더와 디코더를 두 개의 독립 프로세스로 띄우고 큐 \(\mathcal{Q}\)로 통신합니다. 인코더는 멈추지 않고 청크를 계속 인코딩해 큐에 넣고(프로듀서), 디코더는 직전 출력 토큰이 \(\langle\text{silent}\rangle\)이거나 \(\langle\text{eos}\rangle\)일 때만 큐를 KV 캐시로 비워 한 제어 토큰을 냅니다. 응답 생성 중에는 큐를 건드리지 않습니다. 이 분리 덕에 응답이 끝난 뒤 다시 듣기 시작하는 첫 청크 지연이 \(4.5\times\) 줄어듭니다.

무엇으로 학습했나

새 패러다임에는 새 데이터가 필요합니다. 저자들은 StreamAudio-2M을 만들었습니다. 7개 주요 능력 범주와 28개 하위 과제를 아우르는 스트리밍 네이티브 코퍼스입니다. 각 샘플은 3~15턴짜리 이질적 상호작용으로, 희소하고 맥락 의존적인 응답 신호가 끼어 있습니다.

규모 수치는 본문 안에서 한 번 어긋납니다. 본문(§4.1)은 코퍼스를 "2.6M items, 302k hours"로 적지만, Figure 6 캡션은 "2.34M items, 7.49M rounds, 66.7K hrs"로 적습니다. preprint 단계에서 흔한 불일치이니, 정확한 규모는 저자판 확정을 기다리는 게 안전합니다. 큰 그림은 분명합니다. 음성(CommonVoice·GigaSpeech·LibriSpeech·VoxPopuli·CoVoST2·AISHELL), 오디오 이해(FMA·AudioSet), 대화(MOSS) 같은 잘 검증된 공개 코퍼스를 끌어와 스트리밍용으로 재가공하고, 여기에 약 171k개의 음향 이벤트 클립(AudioSet 실측 + AudioX·ElevenLabs 합성)과 잡음(MUSAN·WHAM!·DNS-Challenge)을 이중 트랙으로 덧입혔습니다.

함께 공개한 ProactiveSound-Bench가 이 논문의 야심을 잘 보여줍니다. 644개의 사람이 설계한 음향 이벤트로, 모델이 연속 스트림 안에서 올바르게 응답을 트리거하거나 자제하는지를 잽니다. 응답 경계는 명확히 정의돼 있습니다. 갑작스러운 생리적 이상·고통, 심한 악천후, 장비 손상, 위험한 환경 신호일 때만 먼저 나서고, 정상적인 신체 소리나 일상 기기 작동에는 침묵해야 합니다. 게다가 응답은 "괜찮으세요?" 같은 빈말이 아니라 응급처치·경고·제안 같은 실질 정보를 담아야 합니다.

결과

먼저 MMAU(오디오 이해)입니다. 핵심은 오디오 지시 조건의 평균입니다. 오프라인 모델들은 텍스트 지시에서는 높은 점수를 받다가 오디오 지시로 바꾸면 무너집니다. Audio Flamingo 2는 텍스트 62.40에서 오디오 1.16으로, Audio-Reasoner는 61.71에서 20.57로 추락합니다. 음성으로 지시하는 순간 망가지는 것입니다.

모델

Sound

Music

Speech

평균

Audio-Interaction (3B)

65.63

57.93

46.68

58.15

Qwen2.5-Omni (7B)

60.54

50.90

35.11

49.58

Qwen2.5-Omni (3B, 베이스)

51.81

44.01

29.79

42.51

Baichuan-Omni-1.5 (7B)

57.53

36.53

24.82

40.40

Audio-Reasoner (8.4B)

20.48

26.65

13.48

20.57

Audio Flamingo 2 (3B)

1.50

1.49

0.35

1.16

(MMAU, 오디오 지시 조건. 점수는 정확도(%).)

3B짜리 Audio-Interaction이 오디오 지시에서 58.15로, 7B Qwen2.5-Omni(49.58)와 자기 베이스인 3B Qwen2.5-Omni(42.51)를 모두 넘습니다. 같은 베이스에서 출발해 +15점 넘게 끌어올린 셈이고, 무엇보다 "텍스트로 시키나 음성으로 시키나" 성능이 무너지지 않는다는 점이 핵심입니다. 스트리밍 학습이 음성 지시에 대한 견고함을 만들어 냈습니다.

번역(CoVoST2)에서도 베이스 대비 en-zh +15.72, zh-en +17.04 BLEU로 올라 각각 55.22, 35.21을 기록합니다. 다만 LibriSpeech ASR은 WER이 clean 3.17, other 6.04로 베이스보다 소폭 후퇴하는데, 이는 발화 단위 디코더에서 청크 단위 스트리밍 디코더로 옮긴 비용입니다.

능동 개입(ProactiveSound-Bench)이 이 논문의 본 무대입니다. Single은 단일 이벤트 판단, Multi는 같은 범주 이벤트를 이어붙여 방해 요소 속에서 지속적으로 개입하는지를 봅니다.

모델

Single

Multi

Audio-Interaction

61.2

62.8

MiniCPM-o-4.5

58.9

58.9

Qwen2.5-Omni (7B)

58.2

32.1

Gemini-3-Flash

37.0

50.8

Qwen2.5-Omni (3B)

41.0

29.3

Step-Audio 2

8.9

3.0

(ProactiveSound-Bench, 범주 평균 정확도(%).)

Audio-Interaction이 두 설정 모두 1위입니다. 특히 Multi에서 다른 모델들이 무너질 때(Qwen2.5-Omni-7B 32.1) 62.8을 유지하는 게 눈에 띕니다. 스트림이 길어지는 상황(\(N\)=5까지 이어붙임)에서 단일 구간 정확도의 91% 이상을 지키는 반면, 베이스라인은 30% 넘게 무너진다고 보고합니다. 네이티브 스트리밍 학습에서 온 장기 스트림 견고함입니다.

마지막으로 설계 선택을 떠받치는 절제 실험입니다.

설정

Alpaca

MMAU

지연(ms)

청크 0.2s

3.41

49.74

258

청크 0.4s (채택)

4.28

58.15

392

청크 0.6s

4.27

58.46

674

청크 0.8s

4.30

59.13

786

청크가 0.2s로 너무 작으면 의미 맥락이 부족해 성능이 무너지고(MMAU 49.7), 0.6~0.8s는 정확도를 회복하지만 지연이 674~786ms로 부풀어 오릅니다. 0.4s는 0.8s에 근접한 정확도(4.28 / 58.2)를 절반 가까운 지연(392ms)으로 달성합니다. FIFO를 빼면 첫 청크 지연이 392ms에서 831ms로 늘고(\(2.12\times\)), 스톨률이 0.0%에서 5.2%로 오릅니다. 이중 손실 가중치는 \(\lambda\)를 키울수록 트리거 정확도가 95.3에서 96.9로 오르지만 너무 크면(\(\lambda\)=2.0) 이해가 상하므로(MMAU 57.3) \(\lambda = 1.0\)을 채택했습니다.

해석 분석도 흥미롭습니다. 침묵이냐 응답이냐의 결정이 단 하나의 어텐션 헤드(L35H14)를 거쳐 흐르고, 이 헤드 하나만 제거해도 번역 토큰 일치 점수가 0.88 떨어집니다. 스트리밍 결정이 과제별 전용 회로가 아니라 좁고 과제 독립적인 통로로 라우팅된다는 뜻입니다.

회고

저자들이 부록에 솔직하게 적은 한계가 이 글에서 가장 중요한 대목입니다.

부록의 ProactiveSound-Bench 오류 분석을 보면, 오류의 59.8%는 거짓 양성(false positive)입니다. 종이 찢는 소리, 가전 소음, 마시는 소리, 한숨 같은 일상의 무해한 소리에 과잉 반응해 불필요한 알림을 냅니다. 그리고 나머지 40.2%는 거짓 음성(false negative)인데, 하필 교통 경보·자연 재해 같은 안전 결정적 영역에 몰려 있습니다. 다시 말해 이 모델이 가장 빛나야 할 응급 상황에서 놓치는 비율이 가장 높습니다. always-on 안전 어시스턴트를 표방하는 논문에 이 분포는 뼈아픈 지점입니다.

실세계 검증(부록 A.1)도 같은 결을 보여줍니다. 합성 스트림이 아닌 약 2시간의 실제 녹음(공항·사무실·주방·이동 중)에서 트리거 정확도는 58.9%로, 합성 분할의 62.0%보다 떨어집니다. 특히 집(Home) 환경에서는 트리거 정확도를 유지하면서도, 주방의 충격적이지만 무해한 소리(접시 부딪힘 등)가 안전 사건과 국소적으로 닮아 거짓 양성이 약간 올랐습니다. 다만 첫 청크 지연은 시나리오마다 합성 측정의 \(\pm 25\)ms 안에 들어, FIFO 스케줄러가 녹음 환경의 지터와 기기 변화에 둔감하다는 점은 확인됩니다.

MMAU 오류의 약 20%가 출력이 파싱되지 않는 생성 붕괴라는 점, ASR이 청크 단위로 옮기며 WER을 일부 내준 점도 함께 짚어 둘 한계입니다.

정리