Mini-Omni: Language Models Can Hear, Talk While Thinking in Streaming
TL;DR 精炼摘要
本文介绍了首个全端到端开源实时语音交互模型Mini-Omni,通过文本指导的语音生成与批量并行推理策略,实现了生成文本与语音的同步输出。同时,提出“任何模型均可交谈”的训练方法,并发布VoiceAssistant-400K数据集,以提升语音助手的质量。
摘要
Recent advances in language models have achieved significant progress. GPT-4o, as a new milestone, has enabled real-time conversations with humans, demonstrating near-human natural fluency. Such human-computer interaction necessitates models with the capability to perform reasoning directly with the audio modality and generate output in streaming. However, this remains beyond the reach of current academic models, as they typically depend on extra TTS systems for speech synthesis, resulting in undesirable latency. This paper introduces the Mini-Omni, an audio-based end-to-end conversational model, capable of real-time speech interaction. To achieve this capability, we propose a text-instructed speech generation method, along with batch-parallel strategies during inference to further boost the performance. Our method also helps to retain the original model's language capabilities with minimal degradation, enabling other works to establish real-time interaction capabilities. We call this training method "Any Model Can Talk". We also introduce the VoiceAssistant-400K dataset to fine-tune models optimized for speech output. To our best knowledge, Mini-Omni is the first fully end-to-end, open-source model for real-time speech interaction, offering valuable potential for future research.
思维导图
论文精读
中文精读
1. 论文基本信息
1.1. 标题
Mini-Omni: Language Models Can Hear, Talk While Thinking in Streaming (Mini-Omni:语言模型可以在流式思考中听与说)
1.2. 作者
Zhifei Xie (xzf24@mails.tsinghua.edu.cn), Changqiao Wu (wuchangqiao@inspirai.com) 作者分别来自 Inspirai 和 清华大学 (Tsinghua University)。
1.3. 发表期刊/会议
该论文发布在 arXiv 预印本平台,属于计算机科学与人工智能领域的前沿研究。
1.4. 发表年份
2024年 (最新版本发布于 2024-08-29)。
1.5. 摘要
随着 GPT-4o 的发布,实时人机语音对话成为了人工智能领域的新里程碑。然而,目前的开源模型大多依赖于额外的 文本转语音 (Text-to-Speech, TTS) 系统,这会导致明显的响应延迟。本文介绍了 Mini-Omni,这是首个全端到端的开源实时语音交互模型。它通过提出的 文本指导的语音生成 (Text-instructed speech generation) 方法和 批量并行 (Batch-parallel) 推理策略,实现了在生成文本的同时并行输出语音。此外,作者提出了 "Any Model Can Talk" 训练方法,旨在以极小的代价为现有的任何纯文本模型赋予语音交互能力,并发布了 VoiceAssistant-400K 数据集用于优化语音助手的输出质量。
1.6. 原文链接
-
arXiv 链接: https://arxiv.org/abs/2408.16725
-
GitHub 仓库: https://github.com/gpt-omni/mini-omni
2. 整体概括
2.1. 研究背景与动机
当前的语音助手(如早期的 Siri 或常见的开源语音模型)大多采用 级联系统 (Cascade System) 架构。这种架构通常包含三个独立模块:
- 自动语音识别 (Automatic Speech Recognition, ASR): 将用户的语音转成文本。
- 大语言模型 (Large Language Model, LLM): 理解文本并生成回复文本。
- 文本转语音 (Text-to-Speech, TTS): 将生成的回复文本合成语音。
核心问题与挑战:
- 高延迟: 用户必须等待 LLM 生成完整的句子后,TTS 才能开始合成,导致对话不连贯。
- 信息丢失: 在语音转文本的过程中,语气、情感等非语言信息会丢失。
- 推理复杂性: 传统的端到端语音建模(直接从语音到语音)非常困难,容易导致逻辑混乱。
论文切入点: 作者试图构建一个像 GPT-4o 一样能够“一边思考一边说话”的模型。通过让模型在生成文本词元的同时并行生成语音词元,从而消除级联系统的延迟,并保持大语言模型原有的逻辑推理能力。
2.2. 核心贡献/主要发现
-
Mini-Omni 模型: 第一个开源的、支持全端到端语音输入和流式语音输出的多模态大模型。
-
文本指导的并行代解码 (Text-instructed Parallel Decoding): 提出了一种创新的策略,让模型在生成文本的同时,“顺便”把语音也生成了。
-
批量并行生成 (Batch Parallel Generation): 解决了小模型在处理语音模态时逻辑变差的问题,通过双分支推理显著提升了模型的智能程度。
-
"Any Model Can Talk" 训练框架: 一种通用的、低成本的微调方法,可以让任何纯文本 LLM 快速具备语音对话能力。
-
VoiceAssistant-400K 数据集: 针对语音对话场景优化的 40 万条高质量数据集,避免模型产生冗长的代码或不适合口语表达的符号。
3. 预备知识与相关工作
3.1. 基础概念
为了理解本文,初学者需要掌握以下核心概念:
- 词元 (Token): 模型处理数据的基本单位。文本会被切割成词元(如“Hello”是一个词元),语音也可以通过编码器转化为一串离散的符号,称为 离散语音词元 (Discrete Speech Tokens)。
- 流式输出 (Streaming Output): 指模型不需要产生完整回复,而是产生一点就输出一点。对于语音交互,这意味着模型边想边说。
- 词元化器 (Tokenizer): 将原始信号(文本或音频)转换为词元的工具。本文使用了 SNAC,这是一种高保真的音频词元化器。
- 适配器 (Adapter): 位于不同模态编码器(如语音编码器)与大语言模型之间的桥梁,用于将语音特征转换成大模型能听懂的向量。
3.2. 前人工作
- LLaVA: 视觉理解的先驱,通过线性层将图像特征映射到 LLM 的文本空间。
- Whisper: OpenAI 开发的强大语音识别模型,本文将其作为语音输入端的编码器。
- SpeechGPT: 较早的端到端语音模型,但它采用的是
语音 -> 文本 -> 文本 -> 语音的顺序生成(AT-T-A),依然存在延迟问题。 - MusicGen: Meta 提出的并行词元生成方法。本文借鉴了其“延迟并行”的思路来处理多层音频词元。
3.3. 差异化分析
相比于 GPT-4o(不开源)和传统级联模型(延迟高),Mini-Omni 的核心区别在于:它在同一个 Transformer 块内,通过多个输出头 (Heads) 同时预测文本词元和 7 层音频词元。 这种并行的结构保证了极低的响应延迟。
4. 方法论
4.1. 方法原理
Mini-Omni 的核心直觉是:文本具有极高的信息密度,而音频是冗余且复杂的。 如果让模型直接进行语音逻辑推理,它会感到困难。但如果让模型一边生成文本,并利用文本的信息来实时“指导”语音的生成,就能兼顾逻辑性和实时性。
4.2. 音频语言建模 (Audio Language Modeling)
首先,模型需要将文本和音频统一在一个词表下进行建模。
设文本序列为 ,其词表为 。 离散语音词元序列为 ,其词表为 。 模型构建了一个联合词表 。
论文定义的负对数似然损失函数公式如下:
符号解释:
- : 损失函数 (Loss),模型训练的目标是最小化这个值。
T, A: 分别代表生成的文本 (Text) 和音频 (Audio) 词元对。- : 训练语料库 (Corpus)。
- : 训练样本的总数。
- : 第 个样本的输入条件(比如用户的语音输入)。
- : 第 个样本的最大词元长度。
- : 第 个样本中第 个位置生成的文本和音频词元。
- : 模型在当前步之前已经生成的文本和音频历史。
公式分析: 该公式表明,模型在每一步 都在预测当前位置的文本和语音词元,其预测依据不仅包括之前的文本,还包括之前的语音历史。
下图(原文 Figure 1)展示了 Mini-Omni 的整体架构:
该图像是Mini-Omni模型的架构示意图,显示了文本和音频标记的处理流程。模型通过音频适配器和Whisper编码器,将wav转换为文本,并实现流式音频解码,进行并行生成。
4.3. 解码策略 (Decoding Strategies)
4.3.1. 文本指导的延迟并行解码 (Text-delay Parallel Decoding)
Mini-Omni 使用了 SNAC 音频编码器,它会将一段音频压缩成 8 层离散词元(1 个文本词元位置 + 7 个不同采样率的音频层)。为了高效生成,作者采用了 Figure 2(b) 所示的策略:
-
第一步: 生成第一个文本词元。
-
第二步: 生成第二个文本词元,同时生成第一个音频层的第一个词元。
-
依此类推: 每一层相对于前一层都有一个步骤的延迟(Offset)。
这种设计确保了文本总是比对应的语音提前“跑”一步,从而起到指导作用。
4.3.2. 批量并行解码 (Batch Parallel Decoding) —— 关键创新
在实验中作者发现,只处理语音时,0.5B 的小模型逻辑会变差。为此,他们提出了 批量并行解码 (Batch Parallel Decoding),如 Figure 2(c) 所示:
-
操作方式: 推理时 Batch Size 设为 2。
- 分支 1 (Text-only): 只生成文本,这是模型的“最强形态”,负责深思熟虑。
- 分支 2 (Text-Audio): 生成文本和语音,但将生成的文本丢弃,强行嵌入分支 1 生成的高质量文本词元。
-
效果: 语音流实际上是基于最强推理文本产生的,实现了文本能力到语音能力的完美迁移,且几乎不增加延迟。
下图(原文 Figure 2)展示了普通并行与批量并行的对比:
该图像是一个示意图,展示了 Mini-Omni 模型在音频生成中的并行解码过程,包括普通并行解码及带文本指令的批量并行解码。图中展示了不同的文本和音频标记的处理方式,体现了模型在实时语音交互中的创新机制。
4.4. Any Model Can Talk 训练方法
作者提出了三阶段训练法,确保“任何模型都能开口说话”:
-
第一阶段:模态对齐 (Modality Alignment): 冻结 LLM 主干,只训练语音编码器和输出端的适配器,学习如何听懂语音(ASR)和说出语音(TTS)。
-
第二阶段:适配训练 (Adaption Training): 让模型学习如何在听到语音后进行文本回复。
-
第三阶段:多模态微调 (Multi-modal Finetuning): 解冻全部参数,使用语音对话数据进行最终训练。
下图(原文 Figure 3)详细展示了这一流程:
该图像是一个示意图,展示了Mini-Omni的三阶段训练流程,包括模态扩展、模态适应训练和整体微调。每个阶段中,Mini-Omni通过不同的适配器和比对方式,将音频和文本进行整合,以实现更好的交互能力。
为了引导模型在不同任务(如单纯回答文本、还是语音回答)之间切换,作者通过在输入末尾添加特殊的 词元来控制,如 Figure 4 所示:
该图像是Mini-Omni并行生成的输入部分示意图。图中展示了不同模式下的标记,包括文本到文本、音频到文本、文本到音频及音频到音频的标记序列,
5. 实验设置
5.1. 数据集
实验使用了多种数据集,涵盖了从基础语音识别到复杂对话的场景。
以下是原文 Table 1 的详细数据来源:
| 任务 (Task) | 训练阶段 (Stages) | 数据集 (Dataset) | 模态 (Modality) | 规模 (Items) |
|---|---|---|---|---|
| 自动语音识别 (ASR) | 1, 2, 3 | Libritts | 音频(A1) / 文本(T1) | 586 小时 |
| VCTK | 音频(A1) / 文本(T1) | 44 小时 | ||
| Multilingual LibriSpeech | 音频(A1) / 文本(T1) | 8000 小时 | ||
| 文本问答 (Text QA) | 2, 3 | Open-Orca | 文本(T1) / 文本(T2) | 200万条 |
| 语音问答 (Audio QA) | 3 | Moss-002-sft-data | A1/T1 -> A2/T2 | 150万条 |
| 语音助手微调 (Voice QA) | 最终阶段 | VoiceAssistant-400K (自建) 等 | A1/T1 -> A2/T2 | 约 50万条 |
注: 表示输入模态, 表示输出模态。
5.2. 评估指标
论文主要使用了 字错率 (Word Error Rate, WER) 来评估语音识别(ASR)性能。
- 概念定义 (Conceptual Definition):
WER用于衡量模型识别出的文本与原始标准文本之间的差异程度。数值越低,代表识别准确率越高。 - 数学公式 (Mathematical Formula):
- 符号解释 (Symbol Explanation):
- : 替换 (Substitutions),即错字数。
- : 删除 (Deletions),即漏掉的字数。
- : 插入 (Insertions),即多出来的字数。
- : 标准文本的总字数。
5.3. 对比基线
-
wav2vec2-base: 经典的自监督语音表示模型。
-
VITA: 另一个开源的多模态互动模型。
-
whisper-small: 作为 Mini-Omni 语音编码器的基准参考。
6. 实验结果与分析
6.1. 核心结果分析
作者在 LibriSpeech 测试集上评估了 Mini-Omni 的语音理解能力。
以下是原文 Table 2 的 ASR 性能对比:
| 方法 (Method) | test-clean (↓) | test-other (↓) | dev-clean (↓) | dev-other (↓) |
|---|---|---|---|---|
| wav2vec2-base | 6.0 | 13.4 | - | - |
| VITA | 8.14 | 18.41 | 7.57 | 16.57 |
| whisper-small (Decoder) | 3.4 | 7.6 | - | - |
| Mini-Omni (本文) | 4.5 | 9.7 | 4.6 | 9.2 |
结果解读:
- Mini-Omni 的 ASR 性能非常接近
whisper-small。考虑到 Mini-Omni 是一个全能模型(不仅能听,还能想和说),而 Whisper 仅优化了“听”,这一表现非常出色。 - 相比于同类开源模型 VITA,Mini-Omni 在所有测试集上都有显著优势,证明了其语音理解的稳健性。
6.2. 案例研究 (Case Study)
下图(原文 Figure 5)展示了 Mini-Omni 在不同模式下的流式输出表现:
该图像是图表,展示了 Mini-Omni 的实时语音交互示例。不同版本的 Omni(如 Omni-AT、Omni-AA 和 Omni-BATCH)对应于用户提出的问题,展示了各自的回应及音频播放功能。
通过对比 Omni-AA(纯语音输入输出)和 Omni-BATCH(批量并行解码),可以观察到:
-
在批量并行解码下,回复的内容更具逻辑性,能够更准确地回答复杂的常识性问题(例如回答“什么是最好的编程语言”)。
7. 总结与思考
7.1. 结论总结
Mini-Omni 是实时语音交互领域的一个重要突破。它通过以下方式解决了现有问题:
- 速度: 采用并行生成策略,实现了真正的流式交互。
- 智能: 通过批量并行推理,让 0.5B 的小模型也能拥有强大的逻辑。
- 通用性: 提出的训练方法可以适配更多底座模型。
7.2. 局限性与未来工作
- 模型规模: 目前实验仅在 0.5B 参数规模上进行。虽然效果惊人,但在处理极其复杂的推理任务时,仍逊色于百亿甚至千亿参数的大模型。
- 环境噪声: 论文未深入探讨在极端嘈杂环境下的表现。
- 未来方向: 进一步优化音频的音质(采样率),并探索如何将视觉(Vision)模态也以这种并行方式整合进来。
7.3. 个人启发与批判
启发: 本文最巧妙的设计在于 "批量并行解码"。这实际上是一种“软件定义硬件能力”的体现:如果模型在多模态下不够聪明,那就开两个分支,用聪明的那个(纯文本)去带不聪明的那个(语音)。这种思路在算力有限的端侧设备上极具应用价值。
批判性思考:
虽然模型实现了“边想边说”,但 SNAC 的 7 层架构依然带来了计算负担。未来的研究可以探索更轻量级的音频词元化方案。此外,论文中提到的 VoiceAssistant-400K 数据集是基于 GPT-4o 生成的,这虽然保证了质量,但也意味着开源模型在某些行为习惯上可能会过于模仿 GPT-4o。我们是否需要更具多样性的、来自真实人类对话的离散语音数据?这将是一个值得深挖的方向。
相似论文推荐
基于向量语义检索推荐的相关论文。