【多模态大模型论文精读】MOSHI:双工实时语音对话大模型

写在前面

大型语言模型(LLM)的飞速发展,让人机对话变得越来越自然流畅。从 Alexa、Siri 到 Google Assistant,语音助手已经成为我们生活中不可或缺的一部分。然而,这些看似智能的对话系统,背后却隐藏着一个“致命”的缺陷——它们无法像人类一样进行实时的、全双工的对话。

传统的人机对话系统,通常采用“回合制”的交互模式:用户说一句,系统处理一句,然后再回复一句。这种模式导致了几个问题:

  1. 高延迟:系统需要等待用户说完一整句话,才能开始处理和生成回复,导致对话的延迟很高,通常需要几秒钟。
  2. 信息丢失:语音中的非语言信息(如情感、语气、非语言声音等)在文本转换过程中会丢失,导致系统无法理解用户的真实意图。
  3. 缺乏交互性:系统无法处理重叠语音、打断、插话等真实对话中常见的现象,使得对话显得生硬、不自然。

为了解决这些问题,来自 Kyutai 实验室的研究人员提出了 MOSHI,一个全新的语音-文本基础模型,旨在实现真正意义上的实时、全双工对话。

MOSHI:实现实时全双工对话

MOSHI 的核心思想是,将语音对话视为一个语音到语音的生成任务,而不是传统的“语音-文本-语音”的流水线模式。这意味着 MOSHI 直接从输入的语音信号中提取信息,并直接生成语音信号作为输出,从而避免了中间文本转换带来的延迟和信息丢失。

为了实现这一目标,MOSHI 采用了以下几个关键的创新设计:

1. 多模态模型架构:Helium + Mimi + Depth Transformer

MOSHI 的整体架构可以分为三个主要部分:

  • Helium:一个 7B 参数的文本语言模型,负责处理文本信息,提供强大的语言理解和推理能力。Helium 是从头开始训练的,使用了高质量的文本数据,包括 Wikipedia、Stack Exchange、科学论文以及经过筛选的 Common Crawl 网页数据。
  • Mimi:一个神经音频编解码器,负责将原始音频信号转换为离散的音频 token,以及将音频 token 解码回音频信号。Mimi 的创新之处在于,它将语义信息和声学信息融合到同一个 tokenizer 中,通过残差向量量化(RVQ)和知识蒸馏技术,实现了低比特率下的高质量音频重建。
  • Depth Transformer:一个分层的、流式的 Transformer 模型,负责联合处理文本 token 和音频 token,实现语音到语音的生成。Depth Transformer 的创新之处在于,它采用了多流(multi-stream)架构,可以同时处理来自用户和系统自身的音频流,从而实现了全双工对话。此外,它还引入了“内心独白”(Inner Monologue)机制,将系统生成的文本 token 作为音频 token 的前缀,提高了生成语音的语言质量。

在这里插入图片描述

这三个部分协同工作,构成了 MOSHI 的强大能力:

  • Helium 提供了强大的文本理解和生成能力,为对话提供了坚实的语义基础。
  • Mimi 实现了高效的音频编码和解码,为实时语音交互提供了技术保障。
  • Depth Transformer 将文本和音频信息融合在一起,实现了真正的语音到语音的对话生成。

2. 预训练:从无监督数据中学习语音的奥秘

MOSHI 的预训练分为两个阶段:

  1. Helium 预训练:首先,研究人员使用大量的文本数据对 Helium 进行预训练,使其掌握基本的语言知识和推理能力。
  2. MOSHI 音频预训练:然后,研究人员使用 700 万小时的无监督音频数据(大部分是英语语音)对 MOSHI 进行预训练。在这个阶段,MOSHI 学习如何从原始音频信号中提取语义和声学信息,并生成高质量的音频。

预训练阶段的关键在于,研究人员使用了无监督的数据。这意味着 MOSHI 不需要标注好的语音-文本对,就可以学习到语音的内在结构和规律。这大大降低了数据收集和标注的成本,也使得 MOSHI 可以利用更大规模的音频数据进行训练。

3. 后训练:赋予 MOSHI 真正的对话能力

预训练阶段的 MOSHI 已经具备了基本的语音生成能力,但还不能进行真正的对话。为了让 MOSHI 掌握对话的技巧,研究人员进行了以下几个阶段的后训练:

  1. 多流后训练:使用经过语音活动检测(VAD)处理的无监督音频数据,将原始音频流分割成两个流:一个代表主讲者(MOSHI),另一个代表其他说话者。这使得 MOSHI 能够学习如何同时处理来自用户和自身的音频流。
  2. Fisher 数据集微调:使用 Fisher 数据集(包含 2000 小时的电话对话)对 MOSHI 进行微调,使其能够学习真实的对话动态,如重叠语音、打断等。
  3. 指令微调:使用合成的语音数据对 MOSHI 进行指令微调,使其能够理解用户的指令,并生成符合要求的回复。这些指令包括改变说话风格、模仿特定声音、回答特定问题等。

后训练阶段的关键在于,研究人员使用了多流的训练数据,以及合成的指令数据。这使得 MOSHI 能够学习到真实的对话动态,并具备了根据指令进行对话的能力。

4. 推理:实时、流畅、自然的对话体验

经过预训练和后训练的 MOSHI,已经具备了实时、全双工对话的能力。在推理阶段,MOSHI 的工作流程如下:

  1. 接收输入:MOSHI 同时接收来自用户和自身的音频流。
  2. 编码:Mimi 将原始音频信号转换为离散的音频 token。
  3. 生成:Depth Transformer 根据当前的上下文(包括文本 token 和音频 token),生成下一个时刻的音频 token。
  4. 解码:Mimi 将生成的音频 token 解码回音频信号。
  5. 输出:MOSHI 输出生成的音频信号,用户可以听到 MOSHI 的回复。

这个过程是实时的,因为 MOSHI 可以在接收到一部分音频信号后,立即开始生成回复,而不需要等待用户说完一整句话。这个过程也是全双工的,因为 MOSHI 可以同时处理来自用户和自身的音频流,从而实现了真正的双向交互。

MOSHI 的创新点:超越传统

MOSHI 的创新之处在于,它打破了传统人机对话系统的“回合制”模式,实现了真正意义上的实时、全双工对话。具体来说,MOSHI 的创新点包括:

1. 语音到语音的生成

MOSHI 直接从输入的语音信号中提取信息,并直接生成语音信号作为输出,避免了中间文本转换带来的延迟和信息丢失。这是 MOSHI 实现实时对话的关键。

2. 多流架构

MOSHI 采用了多流架构,可以同时处理来自用户和自身的音频流。这使得 MOSHI 能够处理重叠语音、打断、插话等真实对话中常见的现象,从而实现了全双工对话。

3. “内心独白”(Inner Monologue)

MOSHI 将系统生成的文本 token 作为音频 token 的前缀,这相当于让 MOSHI 在“说话”之前先在“心里”想好要说什么。这提高了生成语音的语言质量,使得对话更加自然流畅。

4. 低延迟

MOSHI 的设计目标之一是实现低延迟的对话。通过采用流式的音频编解码器和分层的 Transformer 模型,MOSHI 的理论延迟仅为 160 毫秒,实际延迟约为 200 毫秒,远低于传统人机对话系统的延迟。

5. 多模态

MOSHI 可以同时处理文本和音频信息,这使得它可以理解语音中的非语言信息,如情感、语气等。此外,MOSHI 还可以生成带有情感、语气和特定声音的语音,使得对话更加生动有趣。

深入探索 MOSHI 的技术细节

下面我们深入探讨 MOSHI 的几个关键技术细节:

1. Mimi:语义和声学信息的融合

Mimi 是 MOSHI 的神经音频编解码器,它的核心思想是,将语义信息和声学信息融合到同一个 tokenizer 中。传统的神经音频编解码器,通常只关注声学信息的重建,而忽略了语义信息。这导致生成的音频虽然听起来很清晰,但可能缺乏语义上的连贯性。

Mimi 通过以下两种方式将语义信息融入到音频 token 中:

  1. 残差向量量化(RVQ):Mimi 使用 RVQ 将音频信号转换为离散的 token。RVQ 的基本思想是,将一个向量分解成多个残差向量的和,每个残差向量都从一个码本中选取。Mimi 使用了 8 个量化器,每个量化器都有一个包含 2048 个码向量的码本。
  2. 知识蒸馏:Mimi 将一个预训练的自监督语音模型(WavLM)的语义信息蒸馏到第一个量化器中。具体来说,Mimi 将 WavLM 的输出作为目标,训练第一个量化器来预测 WavLM 的输出。这使得第一个量化器的输出不仅包含了声学信息,还包含了语义信息。

通过这两种方式,Mimi 实现了低比特率下的高质量音频重建,同时保留了语义信息。这为 MOSHI 的语音生成奠定了基础。

2. Depth Transformer:分层、流式的 Transformer 模型

Depth Transformer 是 MOSHI 的核心组件,它负责联合处理文本 token 和音频 token,实现语音到语音的生成。Depth Transformer 的创新之处在于,它采用了分层和流式的设计。

分层:Depth Transformer 由两个 Transformer 模型组成:一个 Temporal Transformer 和一个 Depth Transformer。Temporal Transformer 处理较长时间尺度的信息,生成一个上下文向量;Depth Transformer 处理较短时间尺度的信息,根据上下文向量生成具体的 token。这种分层设计可以减少计算量,提高模型的效率。

流式:Depth Transformer 的设计是流式的,这意味着它可以实时地处理输入和输出。具体来说,Depth Transformer 的每个时间步只需要处理一小段音频信号(80 毫秒),就可以生成相应的音频 token。这使得 MOSHI 可以实现低延迟的对话。

3. “内心独白”(Inner Monologue):提高语言质量

“内心独白”是 MOSHI 的一个关键创新。它的基本思想是,让 MOSHI 在“说话”之前先在“心里”想好要说什么。具体来说,MOSHI 将系统生成的文本 token 作为音频 token 的前缀,这相当于给音频生成提供了一个“草稿”。

“内心独白”的实现方式是,在训练过程中,MOSHI 同时预测文本 token 和音频 token。在推理过程中,MOSHI 首先生成文本 token,然后根据生成的文本 token 生成音频 token。这使得 MOSHI 生成的语音不仅在声学上听起来自然,而且在语义上也更加连贯。

4. 多流架构:实现全双工对话

MOSHI 的多流架构是实现全双工对话的关键。传统的人机对话系统,通常只处理一个音频流(来自用户的输入)。这导致系统无法处理重叠语音、打断等现象。

MOSHI 的多流架构可以同时处理来自用户和自身的音频流。具体来说,MOSHI 将两个音频流分别编码成两个独立的 token 序列,然后将这两个序列拼接在一起,输入到 Depth Transformer 中。这使得 MOSHI 能够同时“听”和“说”,从而实现了全双工对话。

MOSHI 的实验结果:令人印象深刻

研究人员对 MOSHI 进行了全面的评估,包括文本理解、语音生成、对话质量等多个方面。实验结果表明,MOSHI 在多个方面都取得了显著的成果:

1. 文本理解

MOSHI 的文本理解能力与同等规模的文本语言模型相当,甚至在某些任务上表现更好。这表明 MOSHI 的多模态训练并没有损害其文本理解能力。

2. 语音生成

MOSHI 的语音生成质量显著优于现有的语音生成模型。MOSHI 生成的语音不仅听起来自然、清晰,而且语义连贯,情感丰富。

3. 对话质量

MOSHI 的对话质量得到了人工评估的认可。MOSHI 可以进行流畅、自然的对话,能够处理重叠语音、打断等现象,并且能够根据用户的指令改变说话风格。

4. 延迟

MOSHI 的理论延迟仅为 160 毫秒,实际延迟约为 200 毫秒,远低于传统人机对话系统的延迟。这使得 MOSHI 可以实现真正的实时对话。

5. 鲁棒性

研究人员还对Moshi的鲁棒性进行了测试,包括在噪声、混响等环境下的表现,以及对不同说话人、不同口音的适应能力。实验结果表明,Moshi在各种条件下都能保持较好的性能。
此外,研究人员还探索了Moshi在语音识别(ASR)和语音合成(TTS)方面的应用。通过简单地调整文本和音频token之间的延迟,Moshi可以实现流式的ASR和TTS功能。

MOSHI 的局限性和未来展望

尽管 MOSHI 取得了显著的成果,但它仍然存在一些局限性:

  1. 数据依赖:MOSHI 的性能高度依赖于训练数据的质量和数量。虽然 MOSHI 使用了大量的无监督数据,但仍然需要一定数量的高质量对话数据进行微调。
  2. 计算资源:MOSHI 的训练需要大量的计算资源。虽然 MOSHI 的推理延迟较低,但训练成本仍然较高。
  3. 可控性:MOSHI 的生成过程是端到端的,这意味着很难对生成的内容进行精确的控制。虽然 MOSHI 可以根据指令改变说话风格,但仍然难以控制生成内容的具体细节。
  4. 安全性:生成模型存在安全性风险,比如可能生成不当内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/979678.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch --- 相关基础知识整理

目录 1、核心功能2、主要用途3、数据模型4、优势5、映射5.1 映射的作用5.2 字段数据类型5.3 动态映射与显式映射5.4 映射设置5.5 多字段与元字段5.6 映射的创建与管理5.7 映射优化建议 6、 倒排索引6.1 **倒排索引的基本概念**6.2 **倒排索引的工作原理**6.3 **倒排索引的优势*…

lqb官方题单-速成刷题清单(上) - python版

预计3月5日 Wednesday 前完成 【2025年3月1日,记】题目太简单了,3月3日前完成 蓝桥杯速成刷题清单(上) https://www.lanqiao.cn/problems/1216/learning/?problem_list_id30&page1 替换题号1216 目录 进度题解和碎碎念1. 排…

计算机网络——详解TCP三握四挥

文章目录 前言一、三次握手1.1 三次握手流程1.2 tcp为什么需要三次握手建立连接? 二、四次挥手2.1 四次挥手流程2.2 为什么是四次,不是三次?2.3 为什么要等待2msl?2.4 TCP的保活计时器 前言 TCP和UDP是计算机网络结构中运输层的两…

【AD】3-6 层次原理图

自上而下 1.放置-页面符号,并设置属性 2.放置-端口 可通过如下设置将自动生成关掉 3.放置-添加图纸入口,并创建图纸 自下而上 1.子图的原理图页设计 设计资原理图,复制网络标签,智能粘贴未PORT 2.新建主图原理图 创建框…

C语言【指针篇】(四)

前言:正文1. 字符指针变量2. 数组指针变量2.1 数组指针变量是什么?2.2 数组指针变量怎么初始化 3. 二维数组传参的本质4. 函数指针变量4.1 函数指针变量的创建4.2 函数指针变量的使用4.3 两段有趣的代码4.3.1 typedef关键字 5. 函数指针数组6. 转移表 总结 前言&am…

认识苹果SWIFT语言

Swift 是苹果公司于 2014 年在 WWDC(苹果全球开发者大会)上发布的一种编程语言,旨在替代 Objective-C,用于开发 iOS、macOS、watchOS 和 tvOS 等苹果平台的应用程序。Swift 的设计目标是结合 C 和 Objective-C 的优点,…

python集合set的常用方法

目录 集合的定义 集合的基础操作 多个集合之间的操作 集合的for循环 集合的定义 集合的基础操作 集合.add(元素) 添加新元素 集合.pop() 从集合中随机取出一个元素 集合.clear() 清空集合 集合.remove(元素) 移除元素 #定义集合,集合自动去重了 set1{"春"…

2019年01月全国POI数据分享(同源历史POI分享系列)

2019年01月全国范围POI数据 2019年01月份全国范围历史POI数据,全国范围所有类别共59336781个POI 2019年01月全国范围POI数据按大类统计 大类代码大类名称2019年01月该类POI数量010000汽车服务1151164020000汽车销售213647030000汽车维修517367040000摩托车服务1800…

简单介绍JVM

1.什么是JVM? JVM就是Java虚拟机【Java Virtual Machine】,简称JVM。主要部分包括类加载子系统,运行时数据区,执行引擎,本地方法库等,接下来我们一一介绍 2.类加载子系统 JVM中运行的就是我们日常写的JA…

关于流水线的理解

还是不太理解,我之前一直以为,对axis总线,每一级的寄存器就像fifo一样,一级一级的分级存储最后一级需要的数据。 像这张图,一开始是在解析axis流形式的数据包,数据包一直都能输入,所以valid一直…

基于PHP和MySQL的用户登录注册系统实现

系统架构 系统采用前后端分离的架构,使用PHP作为后端语言,MySQL作为数据库。以下是系统的整体架构图: 这个架构图展示了系统的三个主要层次: 前端界面层:包含用户交互的三个页面(注册、登录和欢迎页面&am…

【湖北省计算机信息系统集成协会主办,多高校支持 | ACM出版,EI检索,往届已见刊检索】第二届边缘计算与并行、分布式计算国际学术会议(ECPDC 2025)

第二届边缘计算与并行、分布式计算国际学术会议(ECPDC 2025)将于2025年4月11日至13日在中国武汉盛大召开。本次会议旨在为边缘计算、并行计算及分布式计算领域的研究人员、学者和行业专家提供一个高水平的学术交流平台。 随着物联网、云计算和大数据技术…

从零开始用react + tailwindcss + express + mongodb实现一个聊天程序(七) 主题设置

1. 引入daisyUi 我们用的是^4.12.23版本 daisyUI介绍 Install daisyUI as a Tailwind CSS plugin — Tailwind CSS Components ( version 4 update is here ) 切换主题功能我们仿照daisyUI themes — Tailwind CSS Components ( version 5 update is here ) 1.在tailwind.co…

EGO-Planner的无人机视觉选择(yolov5和yolov8)

EGO-Planner的无人机视觉选择(yolov5和yolov8) 效果 yolov5检测效果 yolov8检测效果 一、YOLOv8 vs YOLOv5:关键差异解析 1. 训练效率:为何YOLOv8更快? 架构轻量化 YOLOv8采用C2f模块(Cross Stage Partia…

.net8 使用 license 证书授权案例解析

创建 webapi 项目 使用 .NET CLI 创建一个 ASP.NET Core Web API 应用,并添加指定的 NuGet 包,可以按照以下步骤操作: 创建 ASP.NET Core Web API 项目: dotnet new webapi -n WebAppLicense cd WebAppLicense添加 Standard.Li…

uniapp中使用leaferui使用Canvas绘制复杂异形表格的实现方法

需求: 如下图,要实现左图的样式,先实现框架,文字到时候 往里填就行了,原来的解决方案是想用css,html来实现,发现实现起来蛮麻烦的。我也没找到合适的实现方法,最后换使用canvas来实现&#xff…

支付宝 IoT 设备入门宝典(下)设备经营篇

上篇介绍了支付宝 IoT 设备管理,但除了这些基础功能外,商户还可以利用设备进行一些运营动作,让设备更好的帮助自己,本篇就会以设备经营为中心,介绍常见的设备相关能力和问题解决方案。如果对上篇感兴趣,可以…

Vue学习教程-18Vue单文件组件

文章目录 前言一、单文件组件的构成二、组件引用三、组件的应用举例1.组件实例2.显示结果 前言 Vue 单文件组件(又名 *.vue 文件,缩写为 SFC)是一种特殊的文件格式,它允许将 Vue 组件的模板、逻辑 与 样式封装在单个文件中。组件…

games101 作业5

题目 光线追踪的核心算法: 1.光线的生成 2.光线与三角的相交 题解 1.光线的生成 如课件中的图所示: image plane 就是 代码中的scene的FrameBuffer。 但是,FrameBuffer 是窗口坐标系中,而光线是世界坐标系中的。所以我们需要将scene中的屏…

正交投影与内积空间:机器学习的几何基础

前言 本文隶属于专栏《机器学习数学通关指南》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见《机器学习数学通关指南》 正文 🔍 1. 内积空间的…