https://arxiv.org/abs/2411.00774
Freeze-Omni: A Smart and Low Latency Speech-to-speech Dialogue Model with Frozen LLM
Rapidly developing large language models (LLMs) have brought tremendous intelligent applications. Especially, the GPT-4o's excellent duplex speech interaction ability has brought impressive experience to users. Researchers have recently proposed several mu
arxiv.org
해당 논문을 보고 작성했습니다.
Abstract
빠르게 발전 중인 LLMs은 지능형 application을 폭발적으로 성장시키고 있습니다. 특히, GPT-4o의 뛰어난 duplex speech interaction 성능은 사용자들에게 인상적인 경험을 제공하고 있습니다. 최근 연구자들은 user-agent speech-to-speech conversation을 수행할 수 있는 다양한 multi-modal LLM에 대한 연구를 진행하고 있습니다. 본 논문은 Freeze-Omni라 불리는 새로운 speech-text multi-modal LLM을 제안합니다. 저자들의 main contribution은 LLM의 parameter를 frozen 한 상태로 input speech와 output modality를 textual LLM에 쉽게 연결시킬 수 있다는 점입니다. 저자들은 speech input and output을 modeling 하기 위해 3가지 training strategy를 사용하며, 이를 통해 Freeze-Omni가 text-speech paired data와 60,000개의 multi-round text Q&A data만 이용하여 speech-to-speech conversation을 수행할 수 있는 능력을 갖게 됩니다. 그리고 speech modality에서 Freeze-Omni의 intelligence를 backbone LLM의 text modality 수준과 동일하게 유지하면서, low latency end-to-end spoken response를 생성할 수 있습니다. 나아가 multi-task training을 통해 duplex dialogue 능력을 달성할 수 있게 method를 design 하였으며, 이를 통해 Freeze-Omni가 user와 agent 사이 더욱 자연스러운 dialogue가 가능하게 만들어주었습니다. 요약하면, Freeze-Omni는 frozen LLM을 이용하여 multimodal LLM 기반으로 speech-to-speech dialogue를 수행할 수 있으며, 제한된 data와 training resource로 인한 catastrophic forgetting 문제를 피할 수 있는 방법을 제시합니다.
Introduction
전통적인 speech interaction method들은 ASR + LLM + TTS를 이용한 cascaded approach이며, 이를 통해 speech modality에서 LLM과 interaction을 수행합니다. 하지만 이러한 구조는 interaction latency가 발생할 수 있습니다. 하지만 GPT-4o는 end-to-end speech interaction mode를 제안하며 user experience를 향상시켜 speech-to-speech interaction을 위한 multimodal LLM 연구의 boom을 일으켰습니다.
이후 등장한 연구들은 LLM을 speech modality로 align하는 방식을 사용하였으며, 이러한 방식들은 LLM의 parameter를 어느 정도 fine-tuning 하였습니다. 하지만 실제로 수백 시간의 spoken Q&A data를 모으는 것은 매우 어려우며, textual LLM을 학습할 때 사용되었던 양과 비슷한 양의 data를 모으는 것은 매우 어렵습니다. LLM을 fine-tuning 하면 불가피하게 catastrophic forgetting problem이 발생되고 intelligibility에 부정적인 영향을 주게 됩니다. 그리고 speech-to-speech multimodal LLM의 spoken Q&A 성능을 평가한 연구는 드물고, textual Q&A와의 성능 차이가 명확히 드러납니다. 그러므로 저자들은 Freeze-Omni라 불리는 speech-to-speech dialogue LLM을 제안합니다. 이는 LLM parameter를 frozen 한 상태로 speech-text modality를 효과적으로 align 하였으며, LLM의 intelligence를 유지한 채로 low latency speech dialogue capability를 달성하였습니다. Freeze-Omni는 다음 step을 통해 구현됩니다.
Modeling of speech input
먼저 많은 양의 ASR data를 이용하여 speech encoder와 LLM을 align 하였습니다. 이를 통해 LLM이 speech의 semantic information을 이해할 수 있게 만들었습니다. 이후 적은 양의 Q&A data를 이용하여 prompt embedding 학습 방법으로 model이 speech input을 처리하여 text를 output 하게 만듭니다.
Modeling of speech output
대량의 text-speech paired data를 이용하여 text로부터 speech token을 생성할 수 있는 autoregressive (AR) based speech decoder를 학습합니다. 그리고 codec model 기반 single-codebook을 이용하여 speech token을 waveform으로 decode합니다. 이후 prefix kv-cache fine-tune strategy를 통해, LLM이 출력한 hidden state vector를 speech decoder와 연결시켜 text input을 speech로 output 할 수 있게 됩니다.
Design for duplex dialogue
마지막으로 speech encoder와 speech decoder를 연결합니다. chunk-wise state prediction task를 이용하여 user가 interrupt하는지 아닌지 detect 하고 duplex speech-to-speech dialogue를 구현합니다.
최종적으로 Freeze-Omni의 main contribution은 다음과 같습니다.
- LLM의 parameter는 끝까지 frozen되고 LLM의 original intelligibility는 유지한 채로 low latency speech-to-speech dialogue를 달성하였습니다.
- paired text-speech Q&A training data의 양이 적으며, Freeze-Omni를 사용하려는 사용자는 적은 양의 연산량으로 구축할 수 있습니다.
- Freeze-Omni는 어떠한 LLM을 이용할 수 있습니다. 그리고 LLM 응답 style을 변경해야 한다면, 원하는 style의 data로 LLM만 fine-tune 하면 됩니다.
Model
Overview

Freeze-Omni 구조는 위와 같으며, speech-to-speech dialogue model입니다. 이는 frozen text-modality LLM을 기반으로 구성되어 있습니다. 이를 통해 LLM backbone의 original intelligence를 유지할 수 있으며 speech modality를 integrate 하기 위해 진행되는 fine-tuning process에 의해 발생하는 forgetting 문제가 발생하지 않습니다. Freeze-Omni는 streaming speech input을 처리하는 speech encoder와 streaming output speech를 생성하는 speech decoder로 구성됩니다. training process에서 Freeze-Omni는 speech input과 text output을 align 한 후, text input과 speech output을 align 합니다. 마지막으로 이 두 component를 LLM과 결합하여 speech input에 대한 speech output을 생성할 수 있도록 만듭니다.
Modeling of speech input
- Chunk-wise streaming speech encoder
Freeze-Omni가 speech input에 대해 동작할 수 있고 input speech에 맞춰 빠르게 low-latency response를 생성하기 위해, chunk-wise streaming speech encoder를 이용하여 input speech feature를 high-dimensional representation으로 변환하였습니다. 이후 adapter module을 이용하여 high-dimensional representation을 backbone LLM의 embedding space로 mapping 하였습니다. speech encoder module은 여러 down-sampling convolution layer와 여러 Transformer block으로 구성되며 adapter는 몇 개의 down-sampling convolution layer로만 구성되어 있습니다. down-sampling을 사용하는 이유는 speech feature의 frame rate를 줄여 LLM의 prefill stage 속도릴 높이고 latency를 줄이기 위해서입니다.
- Training Strategy

3-stage training strategy를 이용하여 speech encoder를 학습하며, 이를 통해 Freeze-Omni가 LLM을 frozen한 채로 streaming input speech를 이해할 수 있게 됩니다.
첫 stage는 위 그림의 (a)에 해당하며, 일반적인 speech recognition model을 학습하는 과정과 동일합니다. input은 speech feature이고 label은 speech에 해당하는 transcription이 됩니다. CTC를 loss function으로 사용합니다.
두 번째 stage는 위 그림의 (b)에 해당하며, 첫 번째 stage에서 학습되었던 speech encoder를 initialization parameter로 사용하고 adapter를 이용하여 LLM과 connect 합니다. LLM의 output은 input speech의 label에 해당하는 transcript입니다. 여러 개의 trainable special token을 input part에 추가하여 LLM이 다른 trainable parameter들이 학습할 수 있도록 guide 해줍니다.
마지막 stage는 위 그림의 (c)에 해당합니다. 먼저 multi-round question dataset을 구축한 다음 multi-round answer를 생성하기 위해 학습된 LLM backbone을 이용하여 answer를 생성합니다. 이후 multi-speaker TTS system을 이용해 speech modality data를 생성합니다. 그리고 각 question 앞에 trainable prompt embedding을 추가하여 LLM이 speech input을 받아 text output을 생성할 수 있도록 만듭니다. 이 stage에서 trainable special token은 사용하지 않으며 prompt embedding 부분만 학습합니다.
Model of speech output
- Architecture
Freeze-Omni는 speech output을 할 수 있도록 non-autoregressive prefill and autoregressive generate stage로 구성된 token-based speech decoder를 사용합니다. 이 speech decoder는 NAR decoder, AR decoder, codec model의 decoder로 구성됩니다. NAR decoder와 AR decoder는 transformer block 기반으로 설계되었습니다. NAR decoder는 LLM의 output으로부터 semantic feature를 modeling 하는 데 사용되며, AR decoder는 NAR decoder의 output을 기반으로 speech token을 생성합니다. 최종적으로 codec model의 decoder를 이용하여 speec htoken을 speech stream으로 변환합니다.
- Training strategy

speech output을 modeling 하기 위해, 위 그림과 같은 3-stage training method를 이용합니다. LLM을 frozen 시킨 채로 LLM의 output으로부터 speech를 생성하도록 학습을 진행합니다.
위 그림의 (a)처럼 첫 step에서 speech data를 이용하여 single-codebook based codec model을 학습합니다. single codebook은 제한된 speaker 수로 구성된 speech signal에서 speech token을 추출하는데 충분하기 때문에 single codebook을 이용하였습니다.
두번째 stage는 위 그림의 (b)처럼 진행되며, 먼저 많은 양의 text-speech paired data를 생성합니다. 이후 backbone LLM의 tokenizer를 통해 text를 text token으로 변환합니다. 이후 text token을 LLM의 embedding layer에 넣어 semantic feature 역할을 하는 embedding을 구하고 NAR speech decoder에 feed 합니다. AR speech decoder는 teacher force 방식으로 output speech token을 예측합니다. 이때 label은 trainged codec model을 이용하여 추출됩니다. NAR and AR decoder는 동일한 parameter를 사용하고 LLM의 embedding layer는 frozen 됩니다.
마지막 stage는 동일하게 multi-round question and answer dataset을 이용하여 학습을 진행합니다. backbone LLM을 이용하여 hidden state sequence와 text token을 사용합니다. 위 그림의 (c)처럼 추가적인 NAR prefix speech decoder를 추가하여 LLM의 hiddens state를 modeling 하고 output kv-cache를 NAR speech decoder에 pass 합니다. 이후 text token을 NAR speech decoder에 feed 합니다. AR speech decoder의 text token label은 LLM의 output text를 TTS system에 넣어 speech data를 생성하고 이를 traiend codec model에 넣어 speech token을 생성하여 사용합니다. 이 stage에서 NAR prefix speech decoder는 NAR and AR speech decoder랑 다른 parameter를 사용하며 NAR prefix speech decoder만 학습을 진행합니다.
Design for duplex dialogue

위 학습 과정 이후, Freeze-Omni는 speech input을 speech output으로 변환할 수 있는 능력을 갖추게 됩니다. 하지만 좀 더 자연스러운 speech-to-speech dialogue를 구현하기 위해, chunk-level state prediction을 multi-task로 수행합니다. 먼저 acoustic VAD module을 이용하여 streaming speech의 startping point를 detect 합니다. VAD가 trigger 되면, speech stream을 Freeze-Omni에 chunk 별로 feed 하고 LLM의 마지막 layer 뒤에 classification layer를 붙여 state를 예측하도록 합니다. state 0은 현재 LLM이 계속 speech를 받는다는 것을 의미하고, state 1, 2는 현재 chunk가 speech의 종료라는 것을 나타냅니다. state 1은 user가 dialogue를 interrupt 하여 LLM이 새로운 generate stage를 수행하는 것을 의미하고 state 2는 dialogue interrupt가 없다는 것을 의미하며, 음성이 끝났지만 turn을 유지해도 됨을 나타냅니다. 두 state이면 speech stream를 Freeze-Omni에 그만 보내고 VAD module을 초기화합니다. speech input을 modeling의 학습 step 3에서 수행되며, state classification layer를 추가하여 학습됩니다.
Experiments
Results on speech input

Freeze-Omni가 input speech를 이해할 수 있는지 확인하기 위해 ASR accuracy를 사용하였습니다. speech encoder와 adapter의 parameter를 변경하지 않고 stage 3에서 사용하기 때문에, 해당 수치가 Freeze-Omni의 input speech understanding 능력으로 볼 수 있습니다.
Results on speech output

single speaker 상황에서 Freeze-Omni의 speech-out performance를 조사했습니다. LLM이 출력한 text token과 hidden state 1,000개를 random 하게 선택하여 speech decoder에 넣고 합성된 speech의 ASR accuracy를 측정하였습니다. NAR과 AR speech decoder는 LLM embedding output과 speech token을 동시에 modeling 해야 하지만, 두 space가 다릅니다. 따라서 NAR speec hdecoder와 LLM embedding layer 사이에 추가적인 parameter를 추가했을 때의 성능 향상을 확인하기 위해 extra pre-network를 추가했습니다. 위 결과를 통해 성능 개선이 있음을 확인할 수 있었습니다.
Conclusion
본 논문은 Freeze-Omni라는 low-latency speech-to-speech dialogue가 가능한 text-audio multimodal LLM을 제안합니다. 이는 LLM backbone을 fine-tune 할 필요가 없으며 다양한 task에서 뛰어난 성능을 달성하였습니다.