GPT-4o 提供的全双工语音对话带来了一股研究热潮,目前诸多工作开始研究如何利用 LLM 来实现端到端的语音到语音(Speech-to-Speech)对话能力,但是目前大部分开源方案存在以下两个问题:针对上述这些问题,近日腾讯&西工大&南大的研究人员提出了一种低延迟的端到端语音双工对话模型 Freeze-Omni(VITA 大模型系列第二个工作),其可以在完全冻结 LLM 的情况下,为 LLM 接入语音输入和输出,使其能够支持端到端的语音对话能力,且通过一系列优化使得其具备低延迟的双工对话能力,其主要特性如下:- 在整个训练过程中,LLM 的参数被完全冻结,确保大型语言模型的知识能力被完全保留;
- 训练过程中所依赖的数据规模较小,消耗的计算资源也较少。Freeze-Omni 仅需要文本-语音配对数据(如 ASR 和 TTS 训练数据,比较容易获得)以及仅少量的文本模态的问答数据,语音问答准确性显著超越 Moshi 与 GLM-4-Voice 等目前 SOTA 的模型;
- Freeze-Omni 可以支持任何具有文本模态的(多模态)大语言模型,能够保留基底大语言模型的能力,如提示服从和角色扮演等。此外,如果有必要改变大语言模型的领域或者回应方式,只需要用相应的文本数据对大语言模型进行微调即可,不需要采集大量语音的问答和对话数据。
论文标题:
Freeze-Omni: A Smart and Low Latency Speech-to-speech Dialogue Model with Frozen LLM
https://arxiv.org/abs/2411.00774
https://freeze-omni.github.io/
https://github.com/VITA-MLLM/Freeze-Omni
三阶段训练策略实现语音输入输出能力
Freeze-Omni 的整体结构如图 1 所示,其包含有语音编码器(Speech Encoder)和语音解码器(Speech Decoder)以及基底 LLM 三部分。在运行过程中,流式的语音输入通过语音编码器形成分块(Chunk)特征,然后通过 Adapter 连接到 LLM,LLM 生成的 Hidden State 和文本 Token 的在分块分割后,分别以块的形式送入非自回归前缀语音解码器(NAR Prefix Speech Decoder)和非自回归语音解码器(NAR Speech Decoder)以进行 Prefill 操作。最后自回归语音解码器(AR Speech Decoder)将会完成 Generate 操作以生成语音 Token,并由 Codec Decoder 将其流式解码为语音信号输出。Freeze-Omni 各个模块的三阶段训练策略如下:流式语音编码器的三阶段训练:如图 2 所示,第一阶段(a)会先使用 ASR 数据训练一个具有 ASR 能力的语音编码。第二阶段(b)会以 ASR 任务为优化目标,将语音编码器与 LLM 做模态对齐,这个过程中 LLM 是处于冻结状态的。第三阶段(c)会使用由 TTS 系统合成的语音输入-文本回答的多轮 QA 数据进行训练,这里会使用第二阶段训练好的语音编码器,但是其参数保持冻结以保留其语音鲁棒性,而可训练的参数只有每个问题前的 Prompt Embedding,用于指导 LLM 从 ASR 任务迁移到 QA 任务中。流式语音解码器的三阶段训练:如图 3 所示,第一阶段(a)会先训练一个单码本的语音编解码模型,使用单码本的目的主要是为了降低计算复杂度和时延。第二阶段(b)将会训练 NAR 语音编码器和 AR 语音编码器,这里会使用文本-语音的 TTS 数据,其文本会通过基底 LLM 的 Tokenizer 转化为 Token,再经过基底 LLM 的 Embedding 层转化为文本特征,这个过程中 Embedding 的参数是冻结的,训练目标的语音 Token 是由第一阶段的语音编码器提供。第三阶段(c)将会冻结第二阶段训练得到的所有网络,但同时加入了一个 NAR Prefix 语音编码器,其用于接受 LLM 输出的 Hidden State,并将输出的 kv-cache 作为第二阶段模型的初始 kv-cache,该过程使用的数据是文本输入-语音输出的 QA 数据,主要目的是为了使得语音编码器迁移到 LLM 的输出领域中。双工对话的状态标签训练:如图 4 所示,为了实现双工交互,Freeze-Omni 在语音编码器训练的第三阶段中,会为每个 Chunk 的最后一个语音帧对应的 LLM 输出 Hidden State 加入一个额外的分类层进行多任务训练,其目的主要是为了输出状态标签。当使用 VAD 激活语音流输入后,状态标签 0 表示 LLM 将会继续接受语音 Chunk 的输入,状态标签 1 表示 LLM 将会停止接收语音,且会打断用户并进入 LLM 的 Generate 阶段输出回复,状态标签 2 表示 LLM 也会停止接收语音,但不会打断用户,相当于对这次语音激活做了拒识。模型性能测评
训练配置:Freeze-Omni 在训练过程中,使用了开源 Qwen2-7B-Instruct 作为基底模型,语音编码器在训练过程中使用了 11 万小时中文英文混合的 ASR 数据,语音解码器训练过程使用了 3000 小时由 TTS 系统合成的文本-语音数据,所提到的 QA 数据是由 6 万条从 moss-003-sft-data 中抽取的多轮对话经过 TTS 系统合成得到的。语音输入理解能力评估:Freeze-Omni 提供了其在常见的英文测试集上的 ASR 性能测试结果,从中可以看出,其 ASR 准确性处于较为领先的水平。语音输出质量评估:Freeze-Omni 提供了其在 1000 条 LLM 输出的 Hidden State 与 Text Token 上语音解码器生成的语音在使用 ASR 模型测试得到的词错误率(CER),从结果中可以看出 NAR Prefix 语音解码器的引入会有效降低词错误率,提高生成语音的质量。语音问答准确性评估:Freeze-Omni 提供了其在 LlaMA-Questions, Web Questions, 和 Trivia QA 三个集合上的语音问答准确率评估。从结果中可以看出 Freeze-Omni 的准确率具有绝对的领先水平,超越 Moshi 与 GLM-4-Voice 等目前 SOTA 的模型,并且其语音模态下的准确率相比其基底模型 Qwen2-7B-Instruct 的文本问答准确率而言,差距明显相比 Moshi 与其文本基底模型 Helium 的要小,足以证明 Freeze-Omni 的训练方式可以使得 LLM 在接入语音模态之后,聪明度和知识能力受到的影响最低。系统延迟评估:Freeze-Omni 还提供了端到端时延分析(即用户说完后到 LLM 输出音频的时间差),作者将其分为了可统计时延和不可统计时延两部分,其中可统计时延的总时长平均数仅为 745ms,而作者也提到如果经过测量考虑到网络延迟和不可统计时延部分,则系统的平均响应时延在 1.2s 左右,在行业内仍为领先水平。▲ 图8. 系统延迟评估
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧