Prompt解锁语音语言模型生成能力,SpeechGen实现语音翻译、修补多项任务

简介: Prompt解锁语音语言模型生成能力,SpeechGen实现语音翻译、修补多项任务


机器之心编辑部

本文提出了一个名为 SpeechGen 的统一框架,该框架可用于任意的 speech LM 及各类语音生成任务,具有很好的潜力。




引言与动机

大型语言模型(LLMs)在人工智能生成内容(AIGC)方面引起了相当大的关注,特别是随着 ChatGPT 的出现。

然而,如何用大型语言模型处理连续语音仍然是一个未解决的挑战,这一挑战阻碍了大型语言模型在语音生成方面的应用。因为语音信号包含丰富的信息,如说话者和情感,超越了纯文本数据,基于语音的语言模型 (speech language model (speech LM)) 不断涌现。

虽然与基于文本的语言模型相比,语音语言模型仍处于早期阶段,但由于语音数据中蕴含着比文本更丰富的信息,它们具备巨大的潜力,令人充满期待。

研究人员正积极探索提示 (prompt) 范式的潜力,以发挥预训练语言模型的能力。这种提示通过微调少量参数,引导预训练语言模型做特定的下游任务。这种技术因其高效和有效而在 NLP 领域备受青睐。在语音处理领域,SpeechPrompt 展示出了在参数效率方面的显著改进,并在各种语音分类任务中取得了竞争性的表现。

然而,提示能否帮助语音语言模型完成生成任务仍是未解之谜。在本文中,我们提出一个创新的统一框架:SpeechGen,旨在激发语音语言模型进行生成任务的潜力。如下图所示,将一段语音、一个特定的提示 (prompt) 喂给 speech LM 作为输入,speech LM 就能做特定的任务。比如将红色的 prompt 当作输入,speech LM 就能做 speech translation 的任务。


我们提出的框架具有以下优点:

1. 无文本 (Textless):我们的框架以及其所依赖的语音语言模型独立于文字数据,拥有无可估量的价值。毕竟,获取标记文本与语音配对的过程耗时繁琐,而且在某些语言中甚至无法找到合适的文本。无需文字的特性使得我们的强大语音生成能力得以覆盖各种语言需求,让全人类受益匪浅。2. 多功能性 (Versatility):我们开发的框架通用性极高,能应用于各种各样的语音生成任务。论文中实验使用语音翻译、语音修复、语音连续当作例子。  3. 简易性 (Easy to follow):我们提出的框架为各类语音生成任务提供了通用解决方案,让设计下游模型和损失函数变得轻而易举。4. 可迁移性 (Transferability):我们的框架不仅容易适应未来更先进的语音语言模型,还蕴藏着巨大的潜力,让效率和效果得到进一步提升。尤其令人振奋的是,随着先进语音语言模型即将问世,我们的框架将迎来更为强大的发展。  5. 经济性 (Affordability):我们的框架经过精心的设计,只需训练少量参数,而不是整个庞大的语言模型。这极大地减轻了计算负担,并允许在 GTX 2080 GPU 上执行训练过程。大学的实验室也能负担得起这样的运算开销。

SpeechGen介绍


我们的研究方法在于构建一个全新的框架 SpeechGen,该框架主要利用语音语言模型(Spoken Language Models, SLMs)进行各种下游语音生成任务的微调。在训练过程中,SLMs 的参数保持不变,我们的方法侧重于学习任务特定的提示(Prompt)向量。SLMs 通过同时对提示向量和输入单元进行条件设置,有效地生成特定语音生成任务所需的输出。然后,这些离散单元输出被输入到基于单元的语音合成器中,生成对应的波形。

我们的 SpeechGen 框架由三个元素组成:语音编码器、SLM 和语音解码器(Speech Decoder)。

首先,语音编码器将波形作为输入,并将其转换为由有限词汇表导出的单位序列。为了缩短序列长度,会移除重复的连续单位以生成压缩的单位序列。然后,SLM 作为单位序列的语言模型,通过预测前一单位和单位序列的后续单位来优化可能性。我们对 SLM 进行提示调整,以引导其根据任务生成适当的单位。最后,SLM 生成的标记由语音解码器处理,将其转换回波形。在我们的提示调整策略中,提示向量会在输入序列的开始处插入,这将引导 SLMs 在生成过程中的方向。具体插入的提示数量,则取决于 SLMs 的架构。在序列到序列的模型中,编码器输入和解码器输入都会加入提示,但在只有编码器或只有解码器的架构中,只会在输入序列前面添加一个提示。

在序列到序列的 SLMs(如 mBART)中,我们采用了自我监督学习模型(如 HuBERT)来处理输入和目标语音。这样做可以为输入生成离散单元,并为目标生成对应的离散单元。我们在编码器和解码器输入的前面都添加了提示向量,以构造输入序列。此外,我们还通过替换注意力机制中的关键值对,以进一步增强提示的指导能力。

在模型训练中,我们以交叉熵损失作为所有生成任务的目标函数,通过比较模型的预测结果和目标离散单元标签来计算损失。在这个过程中,提示向量是模型中唯一需要训练的参数,而 SLMs 的参数在训练过程中保持不变,这确保了模型行为的一致性。我们通过插入提示向量,引导 SLMs 从输入中提取任务特定信息,并提高产生符合特定语音生成任务的输出的可能性。这种方法允许我们微调并调整 SLMs 的行为,而无需修改其基础参数。

总的来说,我们的研究方法基于一种全新的框架 SpeechGen,通过训练提示向量,引导模型的生成过程,并使其能有效地产生符合特定语音生成任务的输出。

实验

我们的框架可以用于任意的 speech LM 及各类生成任务,具有很好的潜力。在我们的实验中,由于 VALL-E 和 AudioLM 不是开源的,我们选择使用 Unit mBART 作为 speech LM 进行案例研究。我们用语音翻译 (speech translation)、语音修复 (speech inpainting)、语音连续 (speech continuation) 当作例子,来展示我们框架的能力。这三个任务的示意图如下图所示。所有的任务都是语音输入,语音输出,无需文本帮助。


语音翻译

我们在训练语音翻译 (speech translation) 时,用的是西班牙文转英文的任务。我们给模型输入西班牙语的语音,希望模型产生英文的语音,整个过程无需文本帮助。以下是几个语音翻译的例子,我们会展示正确答案 (ground truth) 与模型的预测 (model prediction)。这些演示示例表明模型的预测捕捉到了正确答案的核心含义。


语音修补

在我们进行语音修补 (speech inpainting) 的实验中,我们特别选取超过 2.5 秒的音频片段作为后续处理的目标语音,并通过随机选择过程挑选出一段时长介于 0.8 至 1.2 秒的语音片段。然后我们对选出的片段进行掩码,模拟语音修补任务中缺失或受损的部分。我们使用词错误率 (WER) 和字符错误率 (CER) 作为评估受损片段修复程度的指标。

对 SpeechGen 生成的输出与受损语音进行比较分析,我们的模型可以显著重建口语词汇,将 WER 从 41.68% 降低到 28.61%,将 CER 从 25.10% 降低到 10.75%,如下表所示。这意味着我们提出的方法能够显著提高语音重建的能力,最终促进语音输出的准确性和可理解性。


下图是一个展示样例,上面的子图是受损的语音,下面的子图是 SpeechGen 产生的语音,可以看到,SpeechGen 很好地修复了受损的语音。


语音连续

我们将通过 LJSpeech 展示语音连续任务的实际应用。在训练提示(prompt)期间,我们的策略是让模型只看到片段的 seed segment,这个 seed segment 占据了语音总长度的部分比例,我们将其称为条件比率(condition ratio, r),并让模型继续生成后续的语音。

以下是一些实例,黑色的文字代表种子片段(seed segment),红色的文字则是 SpeechGen 生成的句子(这里的文字首先经过语音识别得到结果。在训练和推理过程中,模型完全进行的是语音到语音的任务,且完全不接收任何文字信息)。不同的条件比率使 SpeechGen 能够生成不同长度的语句以实现连贯性,并完成一句完整的话。从质量角度看,生成的句子与种子片段在语法上基本一致,并且语义相关。虽然,生成的语音仍然无法完美地传达一个完整的意思。我们预期这个问题将在未来更强大的语音模型中得到解决。


不足与未来方向

语音语言模型和语音生成正处于蓬勃发展的阶段,而我们的框架则提供了一种巧妙地利用强大语言模型进行语音生成的可能性。然而,这个框架仍有一些尚待完善之处,也有许多值得我们深入研究的问题。

1. 与基于文本的语言模型相比,语音语言模型目前还处于发展的初级阶段。虽然我们提出的提示框架能激发语音语言模型做语音生成任务,但并不能达到卓越的性能。不过,随着语音语言模型的不断进步,比如从 GSLM 到 Unit mBART 的大转身,提示的表现有了明显的提升。特别是以前对 GSLM 具有挑战性的任务,现在在 Unit mBART 下表现出更好的性能。我们预计未来会出现更多先进的语音语言模型崭露头角。2. 超越内容信息:当前的语音语言模型并不能完全捕捉到说话者和情感信息,这给当前的语音提示框架在有效处理这些信息方面带来了挑战。为了克服这个限制,我们引入即插即用模块,专门为框架注入说话者和情感信息。展望未来,我们预计未来的语音语言模型将整合和利用这些内容之外的信息,以提高性能并更好地处理语音生成任务中的说话者和情感相关方面。3. 提示生成的可能性:对于提示生成,我们有着灵活多变的选择,可以集成各种类型的指示,包括文本和图像指示。想象一下,我们可以训练一个神经网络,让它用图像或文本作为输入,而不是像本文中那样使用训练好的 embedding 当作提示。这个训练好的网络将成为提示生成器,为框架增添了多样性。这样的方式会让提示生成变得更加有趣、更加丰富多彩。

结论

本文我们探索了使用提示来解锁语音语言模型在各种生成任务中的性能。我们提出了一个名为 SpeechGen 的统一框架,该框架仅有约 10M 的可训练参数。我们所提出的框架具有几大特性,包括无需文本、多功能性、高效性、可转移性和可负担性。为了展示 SpeechGen 框架的能力,我们以 Unit mBART 为案例进行研究,并在三个不同的语音生成任务上进行实验:语音翻译、语音修复和语音延续。

当这篇论文提交到 arXiv 时,Google 提出了一种更先进的语音语言模型 ——SPECTRON,它为我们展示了语音语言模型在建模说话人和情感等信息的可能性。这无疑是一个令人兴奋的消息,随着先进语音语言模型的不断提出,我们的统一框架具有巨大的潜力。


相关文章
|
传感器 数据采集 JSON
RS232/RS485转4G DTU 上传基于Modbus协议的温湿度传感器数据到远程TCP服务器
RS232/RS485转4G DTU 上传基于Modbus协议的温湿度传感器数据到远程TCP服务器
1387 0
RS232/RS485转4G DTU 上传基于Modbus协议的温湿度传感器数据到远程TCP服务器
|
Linux 网络安全 开发工具
|
C#
C# 中串口通信 serialport1.DataReceived 函数无法触发或者出发延时等等问题解决方法
原文:C# 中串口通信 serialport1.DataReceived 函数无法触发或者出发延时等等问题解决方法 以前这个问题困扰我多天最后查资料一大堆,最后最终攻克了,看到非常多人做C#串口都遇到相同的问题,所以写一篇博文,以便学习交流。
4119 0
|
7月前
|
存储 人工智能 安全
OpenClaw商业变现指南|阿里云/本地部署+3类实战路径+API配置与风险控制及避坑要点
2026年,OpenClaw(Clawdbot)已从技术爱好者的工具演进为具备多元商业价值的载体,其核心商业逻辑并非“工具本身赚钱”,而是通过“简化复杂流程、提供安全确定性、自动化机会挖掘”,放大用户已有技能的商业价值。从预装工具的硬件交付到一键部署服务,从垂直技能售卖到商业机会侦察,第一批实践者已通过不同路径实现变现。本文结合真实商业案例,拆解3类高可行性变现路径,完整提供2026年阿里云及本地多系统部署流程、免费大模型API配置方法,梳理核心风险红线与常见问题解决方案,全程不含营销词汇,帮助用户在合规安全的前提下,挖掘OpenClaw的商业潜力。
525 0
|
9月前
|
人工智能 移动开发 小程序
开源啦,1天交付,报价翻5倍,接私活要电子签功能?我把"印章+证据链"封装成可二开底座
开源电子签底座Mini Contract.Pro,聚焦印章管理、落章稳定、证据链留存与多方签署闭环,支持司法级存证与轻量级协作双模式,可私有化部署,助力企业快速构建可控、可证、可换的电子合同系统。
420 4
|
11月前
|
机器学习/深度学习 监控 数据挖掘
基于YOLOv8的牛行为检测识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
本项目通过 YOLOv8 模型与 PyQt5 界面结合,实现了牛行为的高效识别与分类。5000张高质量标注数据保证了模型的准确性,多样化场景增强了泛化能力。系统简单易用,支持图片、视频、摄像头多种输入方式,为智能养殖和畜牧管理提供了高效工具。无论是科研实验还是实际牧场监控,本项目都可快速部署,开箱即用。
基于YOLOv8的牛行为检测识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
|
11月前
|
人工智能 弹性计算 安全
阿里云App SSH 工具更新体验
阿里云App SSH工具近期更新,带来UI优化、快捷命令、AI助手及横屏支持。操作更便捷,手机运维效率显著提升,尤其适合阿里云用户与命令不熟者,实用性强。
647 1
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
1628 12
|
设计模式 算法 边缘计算
“论软件的可靠性评价”必过范文,突击2024软考高项论文
容错设计,其核心理念是,在出现错误时能够有效地防止系统发生故障,特别是在那些错误可能导致严重后果的情况下。其次是检错设计,它帮助我们及时识别潜在的错误。最后是通过降低软件的
692 4
“论软件的可靠性评价”必过范文,突击2024软考高项论文
|
缓存 负载均衡 监控
什么是反向代理?
反向代理是一种网络技术,位于Web服务器前,接收客户端请求并转发给适当的后端服务器,对客户端透明。它主要用于负载均衡、提高安全性和性能,例如通过缓存减少服务器负载和处理SSL加密。反向代理的益处包括保护内部服务器、分发流量,但也存在风险,如单点故障、配置复杂性和安全漏洞。为了确保安全和可靠性,需要谨慎配置和管理。
840 2