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

机器之心专栏

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

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

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

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


论文地址:

demo地址:

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

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

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

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

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

PolyVoice介绍

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

Speech-to-Unit(S2UT)翻译模块,将源语言语音的离散单元转换为目标语言语音的离散单元;

Unit-to-Speech(U2S)合成模块,在保留源语言语音说话人风格的同时合成目标语言语音。

下图是PolyVoice的整体架构:

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

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

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

2.基于units的跨语言语言模型(U-XLM):U-XLM将源语言units“”翻译为目标语言units“”。U-XLM的prompt形式可定义为:Translate[srclang]unit“”to[tgtlang]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中,输入为源语言和目标语言的SemanticUnits以及包含源说话人说话风格的CodecUnits。

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

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

实验分析

作者在两个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)作为SemanticUnitExtractor,实验对比发现更大的模型可能会生成更好的SemanticUnits。

结论

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

发布于 2025-06-02
75
目录

    推荐阅读