仅使用解码器实现语音翻译,字节跳动提出基于LLM的新范式PolyVoice

本文涉及的产品
语种识别,语种识别 100万字符
文档翻译,文档翻译 1千页
文本翻译,文本翻译 100万字符
简介: 仅使用解码器实现语音翻译,字节跳动提出基于LLM的新范式PolyVoice



近年来,大规模语言模型(LLMs)建模在 NLP 领域取得了许多突破,特别是 ChatGPT 的成功,正引领大家迈入一个新的 AI 时代。截止目前,基于 encoder-decoder 框架的模型在语音处理任务中仍占主导地位,而基于语言模型(LM)的方法还处于初期探索阶段。AudioLM 和 VALL-E 作为前期工作已经证明了利用离散语义单元(Semantic Units)和离散声学单元(Acoustic Units)联合语言模型建模在音频生成任务上的有效性。


基于此,字节跳动的研究者们提出了基于语音离散单元的语音到语音翻译(S2ST)框架 PolyVoice。PolyVoice 有两点突出贡献:


(1)decoder-only:使用 decoder-only 框架实现直接的语音翻译,同时能够容纳多源的训练数据。

(2)textless:构建了基于 units 的音频 LM 用于语音翻译,可以用于非书写语言。




语音到语音翻译(S2ST)是一项具有挑战性的任务,因为它需要同时解决自动语音识别(ASR),机器翻译(MT)和文本到语音合成(TTS)中的所有难题。与传统的级联方法不同,直接建模的方法具有低延迟和简化 pipeline 的优点。现有的 S2ST 直接建模的方法可以根据模型是预测连续的梅尔谱图特征还是离散单元进一步分类。近来,基于 units 的方法变得越来越受欢迎,有如下几点原因:


(1)基于 units 的方法可以将语音的离散单元视为一种 “伪语言”,可以适用现有的 NLP 技术;

(2)基于 units 的方法缓解了谱图的学习难度;

(3)基于 units 的方法可以通过无监督的方式获取离散单元,可以对非书写语言进行建模。


Semantic Units 和 Acoustic Units 是两种常用的语音离散单元。Semantic Units 主要用于捕获语音中的语义内容。Acoustic Units 也可以被称为 Codec Units,最初用于在有限的带宽下传输高质量的语音信号。


PolyVoice 介绍


PolyVoice 是一种基于语言模型的 S2ST 框架,能够处理书写和非书写语言。PolyVoice 使用通过自监督训练方法获得的离散单元作为源语音和目标语音之间的中间表示。PolyVoice 由两部分组成:


  • Speech-to-Unit(S2UT)翻译模块,将源语言语音的离散单元转换为目标语言语音的离散单元;
  • Unit-to-Speech(U2S)合成模块, 在保留源语言语音说话人风格的同时合成目标语言语音。


下图是 PolyVoice 的整体架构:



Speech-to-Unit(S2UT)翻译模块


通过使用通过自监督训练获得的离散单元,从连续语音表示中去除语义无关的信息。S2UT 利用语言模型学习基于语音离散单元的跨语言生成。


1. Semantic Unit Extractor:S2UT 通过 Semantic Unit Extractor 对原始语音进行处理。首先使用 k-means 聚类离散化 HuBERT 输出的连续表示,进而合并重复 units 的连续序列来压缩序列长度,这样可以减少计算成本,并有助于收敛。

2. 基于 units 的跨语言语言模型(U-XLM):U-XLM 将源语言 units “{src_unit}” 翻译为目标语言 units “{tgt_unit}”。U-XLM 的 prompt 形式可定义为:Translate [src lang] unit “{src_unit}” to [tgt lang] unit: “{tgt_unit}”。

3. S2UT 的训练:为了解决在现实场景下跨语言 units 平行数据稀缺的问题,如下表所示,PolyVoice 适配地修改了提示符,为各种类型的数据源(例如 ASR, MT 等)构建训练样本,然后通过参数共享的方式训练模型。



U-XLM 有几个突出特性,有处理书写和非书写语言的能力、多语言建模功能,以及通过利用大量无标注数据进行 zero-shot 预测的能力。这些特性使 U-XLM 成为推进语音到语音翻译研究的一个有潜力的框架。


Unit-to-Speech(U2S)合成模块


1. Unit-to-Speech 语言模型(U-SLM):与 VALL-E 一样,U-SLM 也包括一个自回归模型和一个非自回归模型。在 PolyVoice 中,输入为源语言和目标语言的 Semantic Units 以及包含源说话人说话风格的 Codec Units。

2. SoundStream codec:SoundStream 的 encoder 用于生成包含源说话人说话风格的 Codec Units,decoder 将 U-SLM 预测的 Acoustic Units 重构为语音波形。

3. Duration model:离散单元的时长信息对于合成语音的稳定性非常重要。PolyVoice 使用 LM 来预测时长信息。具体地,如上图右下角所示,合并后的源 Semantic Units、合并后的目标 Semantic Units 和源时长值序列(D)作为提示输入到 Duration LM 中。Duration LM 基于输入的提示信息预测目标时长值序列,并对每个目标 Semantic Units 进行相应次数的重复操作。


实验分析


作者在两个 S2ST 基准数据集 EMIME 和 CVSS 上验证了 PolyVoice 的性能。


S2ST 实验



ASV 评分用来评估在输出语音中保留源说话人音色的能力,ASR-BLEU 用来测评翻译质量。通过实验作者给出了一些结论:


1. 当真实的目标翻译序列可用时,PolyVoice 展示了更好的语音克隆能力。

2. PolyVoice 在翻译质量方面略有下降,但在语音质量方面有显著的提升。翻译质量下降可能是由于无监督的音频离散化会引入信息损失。语音自然度提升则可能是因为大规模语言模型的数据容纳能力可以带来更好的生成效果。



为了验证 PolyVoice 在非书写语言上的有效性,作者在不使用西班牙语的任何文本监督情况下,评估了一个英语→西班牙语 S2ST 系统,ASR-BLEU(18.3)的结果表明 PolyVoice 生成的西班牙语语音在语义上是可理解的。


分析和消融实验


1. Decoder-only 和 Encoder-Decoder 两种框架的对比



Decoder-only 模型带来了 3.9 个 BLEU 的显著改进,当用 U2S 代替声码器合成语音时,缩小了性能差距,证明了 U2S 后端的鲁棒性。


2. 多任务训练



U-XLM 在涉及的多个任务(包括 S2ST、ASR、ST、MT 和 TTS)上都取得了可观的性能,验证了 Decoder-only 框架的通用建模能力。


3. U2S 模块的优化



从实验结果发现从 U2S 中去掉时长模型,WER 会急剧增加,可能是由于 units 本身不包含与音素一样多的时长信息。因此,在使用无监督训练得到的离散单元时,时长模型是必不可少的。此外,作者额外训练了一个中英的多语言 HuBERT 模型(mHuBERT_zh_en)作为 Semantic Unit Extractor,实验对比发现更大的模型可能会生成更好的 Semantic Units。


结论


PolyVoice 是一个基于语音离散单元的 S2ST 框架。实验结果表明,基于 units 的 S2ST 系统在 ASR-BLEU、ASV 和自然度方面优于现有系统。此外,作者还证明了 PolyVoice 在不使用文本信息监督的情况下在非书写语言场景中的能力。由于 PolyVoice 性能与语音离散单元的质量高度相关,未来的工作将持续研究如何更好地进行语音离散化。

相关文章
|
2天前
|
敏捷开发 机器学习/深度学习 数据采集
端到端优化所有能力,字节跳动提出强化学习LLM Agent框架AGILE
【10月更文挑战第23天】字节跳动研究团队提出AGILE框架,通过强化学习优化大型语言模型(LLM)在复杂对话任务中的表现。该框架将LLM作为核心决策模块,结合记忆、工具和专家咨询模块,实现智能体的自我进化。实验结果显示,AGILE智能体在ProductQA和MedMCQA数据集上优于GPT-4。
22 4
|
2月前
|
算法 测试技术 AI芯片
CPU反超NPU,llama.cpp生成速度翻5倍!LLM端侧部署新范式T-MAC开源
【9月更文挑战第7天】微软研究院提出了一种名为T-MAC的创新方法,旨在解决大型语言模型在资源受限的边缘设备上高效部署的问题。T-MAC通过查表法在CPU上实现低比特LLM的高效推理,支持混合精度矩阵乘法,无需解量化。其通过位级查表实现统一且可扩展的解决方案,优化数据布局和重用率,显著提升了单线程和多线程下的mpGEMV及mpGEMM性能,并在端到端推理吞吐量和能效方面表现出色。然而,表量化和快速聚合技术可能引入近似和数值误差,影响模型准确性。论文详见:[链接](https://www.arxiv.org/pdf/2407.00088)。
117 10
|
6月前
|
算法 异构计算
推测解码:在不降低准确性的情况下将LLM推理速度提高2 - 3倍
在本篇文章我们将详细讨论推测解码,这是一种可以将LLM推理速度提高约2 - 3倍而不降低任何准确性的方法。我们还将会介绍推测解码代码实现,并看看它与原始transformer 实现相比到底能快多少。
196 10
|
存储 缓存 人工智能
解码 LangChain | LangChain + GPTCache =兼具低成本与高性能的 LLM
GPTCache 是一个用于存储 LLM 响应的语义缓存层。它可以为 LLM 相关应用构建相似语义缓存,当相似的问题请求多次出现时,可以直接从缓存中获取,在减少请求响应时间的同时也降低了 LLM 的使用成本。
494 0
|
存储 缓存 人工智能
解码 LangChain|用 LangChain 和 Milvus 从零搭建 LLM 应用
如何从零搭建一个 LLM 应用?不妨试试 LangChain + Milvus 的组合拳。 作为开发 LLM 应用的框架,LangChain 内部不仅包含诸多模块,而且支持外部集成;Milvus 同样可以支持诸多 LLM 集成,二者结合除了可以轻松搭建一个 LLM 应用,还可以起到强化 ChatGPT 功能和效率的作用。
1034 0
|
机器学习/深度学习 人工智能 缓存
谈谈LLM在推荐域的渗透,探索推荐新范式
搜索慢慢的被大模型渗透,那么很自然很多人想到了推荐,但是推荐是不是真的可以被大模型渗透呢?大模型能改变推荐的范式吗?
|
14天前
|
前端开发 机器人 API
前端大模型入门(一):用 js+langchain 构建基于 LLM 的应用
本文介绍了大语言模型(LLM)的HTTP API流式调用机制及其在前端的实现方法。通过流式调用,服务器可以逐步发送生成的文本内容,前端则实时处理并展示这些数据块,从而提升用户体验和实时性。文章详细讲解了如何使用`fetch`发起流式请求、处理响应流数据、逐步更新界面、处理中断和错误,以及优化用户交互。流式调用特别适用于聊天机器人、搜索建议等应用场景,能够显著减少用户的等待时间,增强交互性。
109 2
|
8天前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
28 2
|
12天前
|
机器学习/深度学习 数据采集 人工智能
文档智能 & RAG 让AI大模型更懂业务 —— 阿里云LLM知识库解决方案评测
随着数字化转型的深入,企业对文档管理和知识提取的需求日益增长。阿里云推出的文档智能 & RAG(Retrieval-Augmented Generation)解决方案,通过高效的内容清洗、向量化处理、精准的问答召回和灵活的Prompt设计,帮助企业构建强大的LLM知识库,显著提升企业级文档管理的效率和准确性。
|
14天前
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。