Mini-Omni 语言模型在流式传输中边思考边听说应用

引入简介

Mini-Omni 是一个开源的多模态大语言模型,能够在思考的同时进行听觉和语言交流。它具有实时端到端语音输入和流媒体音频输出的对话能力。

语言模型的最新进展取得了显著突破。GPT-4o 作为一个新的里程碑,实现了与人类的实时对话,展示了接近人类的自然流畅度。为了实现这种人机交互,模型需要直接通过音频模态进行推理,并在流式传输中生成输出。然而,目前的学术模型通常依赖额外的文本转语音(TTS)系统进行语音合成,从而引入了不必要的延迟。本文介绍了 Mini-Omni,一种基于音频的端到端对话模型,能够实现实时语音交互。为实现这一目标,我们提出了一种文本指导的语音生成方法,并在推理过程中采用了批处理并行策略,以进一步提升性能。我们的方法不仅有助于在最小化退化的同时保留原始模型的语言能力,还使得其他工作能够建立实时交互能力。我们将这种训练方法称为“Any Model Can Talk”。此外,我们引入了 VoiceAssistant-400K 数据集,用于微调针对语音输出优化的模型。Mini-Omni 是第一个完全端到端的开源实时语音交互模型,为未来的研究提供了宝贵的潜力。

图1:Mini-Omni模型架构。

随着大型语言模型的快速发展,模型的能力不断增强,例子包括 Llama 3.1 [Meta, 2024]、Mix [Mix, 2024]、Qwen-2 [Yang et al., 2024a] 以及著名的 GPT-4。这些模型不仅在文本处理上表现出色,还开始掌握对其他模态的理解,如 LLaVA [Liu et al., 2024]、Qwen2-Audio [Chu et al., 2024] 和视频美洲驼 [Zhang et al., 2023b]。尽管如此,一个关键挑战仍然阻碍了它们在日常应用中的广泛集成,那就是实时语音交互能力。

GPT-4o [OpenAI, 2024] 是第一个具备实时多模态语音交互功能的模型,它能够处理视觉、音频和文本信息,并实现实时语音对话,尽管它仍为闭源代码。其他模型通常采用两种方法来实现语音能力:一种是级联方法,其中语言模型生成文本,随后由文本到语音(TTS)模型进行音频合成。

  1. 介绍了 Mini-Omni,这是第一个具备音频输入和流输出功能的开源端到端多模态大型模型。
  2.  提出了独特的文本指示并行生成方法,使语音推理输出与文本功能对齐,实现了最小数据需求。
  3.  增强了延迟并行性,加速了音频推理速度。
  4.  引入了“任何模型都可以说话”的创新方法,通过训练和推理提升性能,无需改变大型模型架构。5) 采用了包括退火和SFT在内的三阶段训练过程,对语音到文本和文本到语音适配器进行优化。
  5. 发现了现有开源QA数据集的不足,提出了用于语音模型输出的专用数据集——语音助手-400k,以支持音频助手的微调。

二、音频语言建模

1、原文这样子介绍的:

2、解码策略

解码策略音频生成与文本指令。语言模型经历了实质性的进步,在文本模式中展示了特殊的推理能力。作为回应,Mini-Omni进行了重组,通过文本-音频并行解码方法将这些推理能力转移到流音频输出。该方法同时输出音频和文本令牌,以及通过文本到语音合成生成的音频,确保实时交付,同时利用基于文本的推理优势。为了与大型模型的输入对齐,在生成下一个标记之前,将对并行生成的所有序列进行求和,如图1所示。这种方法使模型能够在聊天场景中以最小的第一令牌延迟实现实时语音输出。文本延迟并行解码。并行生成首先由MusicGen [Copet等人,2024]引入,以加速音乐生成过程,我们已经将这种方法集成到文本模式中,以增强推理能力。并行译码是可行的,因为音频标记码本是在语言模型训练中使用的典型方法。

图2: Mini-Omni在批处理并行生成技术中还结合了文本指导机制。

批处理并行解码。虽然之前引入的并行生成方法有效地将推理能力从文本模态转移到音频模态,但我们的实验表明,该模型的推理性能在文本和音频任务之间仍然存在差异,音频响应倾向于更简单。我们假设这是由于模型容量的限制或音频数据的不足。为了解决这个问题,并进一步增强模型在对话过程中的推理能力,最大限度地转移其基于文本的能力,我们实验性地采用了一种批处理方法。考虑到模型在文本模态中的较强性能,我们将单个输入的推理任务扩展为2:一个样本同时需要文本和音频响应,如前所述,而另一个样本只需要文本响应,专注于基于文本的音频合成。但是,第一个样本输出的文本标记被丢弃,第二个样本输出的文本被嵌入到第一个样本对应的相应文本标记位置中。

3、任何模型都可以说话

三阶段培训。我们的训练方法分为三个不同的阶段:

(1)模态对齐。这一阶段的目标是增强文本模型理解和生成语音的能力。Mini-Omni的核心模型完全冻结,只能使用两个适配器。在这一阶段,我们使用来自语音识别和语音合成的数据来训练模型的5个。

(2)适应能力的培训。一旦新的模态与文本模型的输入对齐,适配器就会被冻结。在这一阶段,我们只关注于在给定的音频输入时训练模型的文本能力,因为音频输出是简单地从文本合成的。该模型使用来自语音识别、语音问题回答和文本回答任务的数据进行训练。

(3)多模态的微调。在最后一个阶段,使用综合数据对整个模型进行了微调。此时,所有的模型权值都被解冻和训练。因为主要的模态对齐任务是在适配器传输期间处理的模型输入ID。给定8个并行输出序列,输入还需要8个序列,这导致了显著的复杂性。因此,我们在这里简要地概述了模型输入的组织。该模型可以接受文本或音频输入,它们被放置在相应的模态序列中。对于音频输入,输入令牌和耳语特征通过适配器转换为相同维度的张量,然后连接。根据任务的不同,我们将<回答>特殊标记放置在不同的位置来指导模型的输出,实现多模态输出。一些任务的组织方式如图4所示。在被输入模型之前,所有的序列都被求和并平均以整合特征。

在本节中,我们将介绍我们的培训方法。我们的方法旨在尽可能多地保留原始模型的功能。这首先是因为我们的基础模型的强大性能,其次是因为我们的方法可以应用于其他擅长文本输出但缺乏健壮的语音交互能力的工作。音频编码:音频输入主要集中于从输入的音频中提取特征,与选项包括休伯特或一个单独的预先训练的音频编码器。鉴于我们对语音输入的关注,低语[雷德福等人,2023]和qwen2-音频[Chu等人,2024]也证明了对一般音频任务的有效性能。对于音频输出,使用多码本方法选择音频令牌可以更好地捕获音频细节。我们尝试了音频标记的扁平化建模,但它导致了过长的标记,这不利于流媒体,并导致不稳定的学习。相反,受MusicGen启发[Copet et al.,2024]的并行解码,采用了与文本条件相结合的延迟模式,如图2所示。

4、数据集

为了建立基本的语音能力,我们使用三个语音识别数据集对模型进行训练,总计约8000小时,重点是语音理解和合成。对于文本模式,我们整合了来自开放-Orca[OpenOrca]数据集的200万个数据点,并将它们与其他模式集成,以保持文本的准确性。Moss的SFT数据集[Sun等人,2024]利用零镜头TTS合成了150万对语音QA对。为了避免不合适的代码和符号输出,我们使用GPT-4o创建了Voice助手-400k数据集。数据集的详细信息见表1。阶段1涉及到训练语音适配器的ASR数据。阶段2使用TextQA和AudioQA用于音频/文本输入和文本响应训练。第三阶段侧重于使用AudioQA的音频模态的多模态交互。最后阶段的培训包括退火和使用语音QA的微调。

4.2训练参数我们的模型是在8A100gpu上进行训练的,使用一个余弦退火学习速率调度器,最小学习速率为4e-6,最大学习速率为4e-4。每个训练阶段由40,000步组成,每步的批大小为192。基本语言模型采用了Qwen2-0.5B [Yang等人,2024a],一个具有24个块、内部维度为896的变压器架构。语音编码器使用耳语小编码器,ASR适配器通过两层MLP连接,而TTS适配器通过添加6个额外的变压器块,扩展了原始模型。在微调期间,我们使用从4e-6到5e-5的学习率。

4.3实验结果我们首先评估了该模型在ASR任务上的表现,以评估其语音理解能力。语音识别能力的基本实验是使用了列表语言[Panayotov等人,2015]的四个测试集进行的:测试清洁、测试其他、开发清洁和开发其他。结果如表2所示,我们比较了我们采用的语音识别系统wavv2vec2[Baevski等人,2020]和低语,以及VITA [Fu等人,2024]的准确性。

4.4在这里,我们提出了几个案例来证明Mini-Omni在语音理解和推理方面的能力。这些例子表明,与基于文本的推理相比,基于语音的推理稍弱,突出了批生成的必要性。

这些特性描述了一个先进的语音识别与合成系统,具备以下能力:

  1. 实时语音到语音的会话能力:该系统能够实时地将输入的语音转换为另一种语言的语音输出,而无需额外的自动语音识别(ASR)或文本到语音(TTS)模型。这意味着用户可以直接进行跨语言对话,系统能够即时理解和翻译,并以语音形式反馈,极大地促进了不同语言背景人群之间的即时交流。

  2. 边思考边说话的能力:系统具备同时生成文本和音频的能力。这意味着在处理用户输入的语音时,系统能够几乎同时地将其转换为文本(用于内部处理或显示)和语音(用于即时反馈或输出到其他系统)。这种特性对于需要快速响应的交互式应用场景尤为重要。

  3. 流式音频输出能力:系统支持流式音频输出,即能够连续不断地处理并输出音频流,而不是等待整个音频文件处理完成后再输出。这对于实时通信和流媒体应用至关重要,因为它能够确保音频传输的连续性和实时性。

  4. “音频到文本”和“音频到音频”批量推理功能:除了实时处理能力外,该系统还提供了批量处理模式,支持对大量音频数据进行“音频到文本”或“音频到音频”的转换。这种批量推理功能可以进一步提高处理效率,适用于需要对大量录音进行转录或翻译的场景。通过批量处理,用户可以在较短时间内获得大量数据的处理结果,从而加速工作流程并提高效率。

NOTE: need to unmute first.
 

主要代码:

import os
import lightning as L
import torch
import time
from snac import SNAC
from litgpt import Tokenizer
from litgpt.utils import (num_parameters,
)
from litgpt.generate.base import (generate_AA,generate_ASR,generate_TA,generate_TT,generate_AT,generate_TA_BATCH,next_token_batch
)
import soundfile as sf
from litgpt.model import GPT, Config
from lightning.fabric.utilities.load import _lazy_load as lazy_load
from utils.snac_utils import layershift, reconscruct_snac, reconstruct_tensors, ge

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

下一代 AI 教育:知识图谱RAG + 多智能体,听老师的话没前途,让老师听你的才是正道

下一代 AI 教育&#xff1a;知识图谱RAG 多智能体&#xff0c;听老师的话没前途&#xff0c;让老师听你的才是正道 下一代 AI 教育&#xff1a;基于最本质的用脑方式学习 理解 记忆&#xff1f;学习的 3 个层次文科&#xff1a;关联理解 关联分析 关联记忆秒背古诗古文商业…

前端用html写excel文件直接打开

源码 <html xmlns:o"urn:schemas-microsoft-com:office:office" xmlns:x"urn:schemas-microsoft-com:office:excel" xmlns"http://www.w3.org/TR/REC-html40"> <head><meta charset"UTF-8"><!--[if gte mso 9]&…

打架监测识别摄像机

打架监测识别摄像机 是一种用于监控和识别打架行为的智能监控设备。这种摄像机利用先进的人工智能和计算机视觉技术&#xff0c;能够准确识别出监控画面中发生的打架事件&#xff0c;从而及时采取必要的应对措施。 打架监测识别摄像机的工作原理是通过对监控画面的实时分析和识…

YOLOv8 人体姿态估计动作识别关键点检测(代码+教程)

YOLOv8 人体姿态判断 项目介绍 YOLOv8 人体姿态判断 是一个基于最新YOLOv8模型的深度学习项目&#xff0c;旨在识别和分析人体姿态。该项目利用先进的计算机视觉技术和深度学习框架&#xff0c;通过摄像头捕捉实时图像或处理存储图像&#xff0c;识别人体的关键点&#xff0c…

大语言模型如何助力药物开发? 哈佛George Church Lab最新综述

大语言模型因其展现出类人般的推理、工具使用和问题解决能力而备受瞩目&#xff0c;此外&#xff0c;它在化学、生物学等专业领域也展现出深厚的理解能力&#xff0c;进一步提升了其应用价值。本文阐述大语言模型可以在理解疾病机制、药物发现和临床试验三个药物发现的基本阶段…

【西电电装实习】5. 无人机模块及作用、上位机的操作

文章目录 前言一、硬件结构电源、电源电压测试电路晶振外围陀螺仪信号放大电路及天线空心杯&#xff08;电极&#xff09;驱动电路 软件设置整机装配PID 参数设置公式 参考文献 前言 西电电装实习&#xff0c;无人机原理图、上位机的调节方法 一、硬件结构 电源、电源电压测…

UEFI学习笔记(二):edk2构建编译流程

UEFI入门&#xff08;二&#xff09;&#xff1a;edk2项目编译流程 一、Build流程框架Build的三个阶段&#xff1a;1、Autogen2、Make3、ImageGen 二、编译构建步骤&#xff1a;1. 安装依赖工具2. 初始化构建环境3. 配置工具链和目标4. 定义平台配置5. 构建并编译 三、uefi-too…

C++面试3

一、常用设计模式 https://blog.csdn.net/m0_71530237/article/details/141140118?spm1001.2014.3001.5501 二、死锁以及解决方式&#xff1f; 死锁&#xff1a;一种常见的并发问题&#xff0c;发生在多个进程或线程因为竞争资源而陷入相互等待的状态&#xff0c;导致这些进…

【运维监控】Prometheus+grafana监控flink运行情况

运维监控系列文章入口&#xff1a;【运维监控】系列文章汇总索引 文章目录 一、prometheus二、grafana三、flink配置修改四、prometheus集成grafana监控flink1、修改prometheus配置文件2、导入grafana模板3、验证 本示例通过flink自带的监控信息暴露出来&#xff0c;然后将数据…

提权——Linux

一、系统漏洞提权 #kali的nmap命令 nmap -O 目标ip 通过当前系统的内核版本搜索当前系统的漏洞&#xff0c;进行利用 搜索漏洞 对linux系统的漏洞进行利用&#xff08;脏牛、脏管道等&#xff09; 利用漏洞搜索工具&#xff0c;搜索当前系统是否存在一些漏洞 linux-exp…

人工智能学习

&#x1f310;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。 &#x1f449;【点击跳转到网站&#xff1a;人工智能教程】 什么是人工智能&#xff1f;通俗来讲&#xff0c;就是让机器能像人一样思考。这…

vue3 5个常用的API

Vue3之于Vue2最大的变化&#xff0c;当属composition API了&#xff0c;而除了引入composition API外&#xff0c;一些我们在Vue2上经常使用的东西到了Vue3时也发生了不小的变化&#xff0c;本文将介绍一些有Vue2到Vue3中几个比较重要且常用的知识点。 Options API与Compositio…

世界主要国家跨境数据流动的政策法规及其启示

文章目录 前言一、主要国家加强跨境数据流动的监管措施二、全球跨境数据流动的关键问题三、中国跨境数据流动治理的不足与对策前言 随着数据成为全球经济发展的战略资源,各国政府正积极构建安全有效的治理体系,以扩大数据的社会和经济效益,探讨世界主要国家跨境数据流动的政…

3D云渲染农场为何怎么贵?主要消耗成本介绍

随着对高质量3D动画的需求持续增长&#xff0c;云渲染农场对于旨在以高效速度生产高质量视觉效果的工作室来说变得至关重要。然而&#xff0c;用户经常想知道为什么渲染农场的价格如此之高&#xff0c;理解背后的原因可以帮助艺术家做出更好的选择。 什么是云渲染农场&#xff…

基于Spring Boot的能源管理系统+建筑能耗+建筑能耗监测系统+节能监测系统+能耗监测+建筑能耗监测

建筑能耗数据采集器是一种采用嵌入式微计算机系统的建筑能耗数据采集专用装置&#xff0c;具有数据采集、数据处理、数据 存储、数据传输以及现场设备运行状态监控和故障诊断等功能。 下行具有2路RS485接口、2路RS485/RS232复用接口、1路MBUS接口&#xff0c;支持DL/T645、Modb…

深度学习经典模型之T5

T5(Text-to-Text Transfer Transformer) 是继BERT之后Google的又外力作&#xff0c;它是一个文本到文本迁移的基于Transformer的NLP模型&#xff0c;通过将 所有任务统一视为一个输入文本并输出到文本(Text-to-Text)中&#xff0c;即将任务嵌入在输入文本中&#xff0c;用文本的…

机器学习(西瓜书)第 4 章 决策树

4.1 决策树基本流程 决策树模型 基本流程 在第⑵种情形下&#xff0c;我们把当前结点标记为叶结点&#xff0c;并将其类别设定为该结点所含样本最多的类别&#xff1b;在第⑶种情形下&#xff0c;同样把当前结点标记为叶结点&#xff0c;但将其类别设定为其父结点所含样本最多…

Maven私服Nexus安装及使用

前言 周末在家闲着无聊&#xff0c;不知道做点啥&#xff0c;就想着自己搭建一个Maven私服来玩玩。刚好使用自己之前在电脑上搭建的虚拟机服务器来操作体验了一把。搭建好私服后&#xff0c;以后自己写的一些小模块啊&#xff0c;工具包啥的就可以发布到自己的私服上了&#xf…

2024网络安全人才实战能力白皮书安全测试评估篇

9月10日&#xff0c;国内首个聚焦“安全测试评估”的白皮书——《网络安全人才实战能力白皮书-安全测试评估篇》&#xff08;以下简称“白皮书”&#xff09;在国家网络安全宣传周正式发布。 作为《网络安全人才实战能力白皮书》的第三篇章&#xff0c;本次白皮书聚焦“安全测…

上海市高等学校信息技术水平考试 C程序设计(2020D场)全解

C语言程序一定是从mian函数开始的&#xff1b;在主函数中&#xff0c;一次又一次调用了其他函数&#xff0c;但不代表程序是在代码行的最后一个函数结束&#xff1b;而是在主函数中&#xff0c;遇到了return 0 才会程序结束。 标识符&#xff1a;在编程语言中&#xff0c;标识符…