Stream-Omni:同时支持各种模态组合交互的多模
GPT-4o式的多模态大模型(LMMs)展现出在文本、视觉和语音模态上的全能能力,其在线语音服务还能在语音交互过程中同步提供中间文本结果(即用户输入和模型响应的转录内容),为用户提供“边看边听”的灵活交互体验。因此,如何构建支持文本、视觉和语音三种模态的多模态大模型成为近期研究热点。现有的多模态大模型通常利用多个编码器提取各个模态的表示,然后将各模态表示沿序列维度拼接并输入至大语言模型基座中以生成回复。这些基于拼接的方法简化了模态集成过程,但它们在很大程度上依赖大规模数据,以数据驱动的方式学习模态对齐。此外,这种基于拼接的维度对齐方式缺乏足够的灵活性,无法像GPT-4o那样在语音交互过程中同时生成中间文本结果。
为应对这一挑战,中国科学院计算技术研究所自然语言处理团队提出了文本-视觉-语音多模态大模型——Stream-Omni,其能同时支持各种模态组合下的交互。通过对各模态间的关系进行更有针对性的建模,Stream-Omni实现了更加高效和灵活的文本-视觉-语音模态对齐。仅依赖包含2.3万小时语音的多模态数据,Stream-Omni即可具备文本交互、语音交互、基于视觉的语音交互等各种模态上的交互能力。与此同时,依赖于创新的语音建模方式,Stream-Omni能在语音交互过程中像GPT-4o一样同步输出中间文本转录结果,为用户提供全方位的多模态交互体验。
- 论文题目:
- Stream-Omni: Simultaneous Multimodal Interactions with Large Language-Vision-Speech Model
- 论文链接:
- https://arxiv.org/abs/2506.13642
- 开源代码:
- https://github.com/ictnlp/Stream-Omni
- 模型下载:
- https://huggingface.co/ICTNLP/stream-omni-8b
Stream-Omni的模态对齐
现有多模态大模型中的模态对齐(如左图所示):在序列维度上将三种模态的表示进行拼接,输入至大语言模型基座
为了减轻对大规模三模态数据的依赖,Stream-Omni更有针对性地建模各模态之间的关系,即语音与文本应在语义上高度一致,而视觉则在语义上对文本形成互补关系。因此,Stream-Omni对不同模态采用不同对齐方式(如右图所示):
- 视觉-文本对齐:序列维度的视觉文本拼接
- 语音-文本对齐:层级维度的语音文本映射
实现上,Stream-Omni以大语言模型(LLM)为核心,并在其底部和顶部引入语音层,通过连接时序分类(Connectionist Temporal Classification,CTC)建模语音到文本的映射,此建模方式的优势在于:
- 支持通过语音模态进行外部交互,同时利用文本模态在内部控制生成的内容;
- 基于CTC的语音-文本映射为语音文本在表示和结构的对齐上提供更加直接的监督,因此Stream-Omni 能够在仅使用少量语音数据的情况下,将 LLM 主干的文本能力迁移至语音模态。
- 层级维度映射使得Stream-Omni在语音交互过程中还能同步输出中间文本结果(即指令和回复的转录文本),为用户提供更全面的多模态体验。
Stream-Omni
Stream-Omni以大语言模型作为主干,逐步将视觉和语音与文本对齐,高效地构建了一个支持文本、视觉和语音的多模态大模型。在视觉-文本对齐方面,Stream-Omni采用视觉编码器和投影模块提取视觉表示,并将其与文本表示进行拼接。在语音-文本对齐方面,Stream-Omni在LLM主干的底部和顶部分别引入若干语音层,用于将语音映射到文本以及基于文本生成语音。
视觉模态
基于视觉模态与文本模态之间具有语义互补性,Stream-Omni采用LLaVA架构中的序列维度拼接的方式进行视觉-文本对齐。
语音模态
(1)语音离散化:Stream-Omni采用CosyVoice Tokenizer对语音输入进行离散化,编码为若干离散的语音单元(< Audio_965>…)。
(2)语音到文本映射:为了充分利用LLM的能力,Stream-Omni在LLM的底部引入语音层,用于学习语音与文本之间的映射关系,从而将LLM中的文本能力迁移到语音模态中。Stream-Omni利用在ASR任务上的CTC损失直接监督底部语音层语音表示,将其与文本模态对齐。
(3)文本生成:LLM基于输入的视觉表示和语音表示,生成文本回复。
(4)文本到语音生成:Stream-Omni通过顶部语音层来完成文本到语音生成。为了在生成文本的同时生成语音单元,Stream-Omni在顶部语音层中引入了alignment-based fusion模块。Alignment-based fusion沿用了StreamSpeech等实时生成研究中的同步生成策略,利用CTC对齐来指导同步生成过程。
任意模态组合下的多模态交互
Stream-Omni能够通过灵活组合视觉编码器、底部语音层、LLM、顶部语音层来实现任意模态组合下的交互。同时,由于层级维度语音文本映射,Stream-Omni能够在语音到语音生成过程中提供中间的文本结果。
实验结果
视觉理解能力
Stream-Omni和相同规模和数据量级的视觉大模型取得相当的表现。
语音交互能力
在事实性的语音交互上,Stream-Omni相比于现有方法具有优势,源于层级维度的语音文本映射将LLM的文本能力迁移到语音模态上。
基于视觉的语音交互能力
在本实例中,在指令分别通过文本和语音输入的情况下,VITA-1.5给出了两个相互矛盾的回答:“不允许前往二楼”和“直接通往二楼”。这一在面对不同模态指令时产生的矛盾回应,源于沿序列维度拼接视觉、语音和文本表示来实现多模态对齐的方法,并未对语音与文本模态之间的语义进行严格对齐建模。相比之下,Stream-Omni引入语音到文本的映射机制,实现了语音与文本表示之间更精确的语义对齐。因此,Stream-Omni在不同模态下表现更加一致,无论指令是通过文本还是语音输入,都能生成相似的响应。另外,Stream-Omni还能生成高质量的语音回复,更多实例请在https://github.com/ictnlp/Stream-Omni体验。
总结
- Stream-Omni是一个GPT-4o式的文本-视觉-语音多模态大模型,能够支持多种模态组合下的多模态交互。
- Stream-Omni能够在语音交互过程中输出中间文本结果,为用户提供更全面的多模态交互体验。
- Stream-Omni关注如何构建模态对齐,语音表现力等方面的增强不是本研究的重点,因此其在拟人化、音色多样性等方面存在局限性。