首个可保留情感的音频 LLM:Meta 重磅开源 7B-Spirit LM,一网打尽“音频 + 文本”多模态任务

xxn 阅读:84879 2024-11-22 14:02:26 评论:0

最近,Meta开源了一款名为Spirit LM的多模态语言模型,容量高达7B,具备理解和生成语音及文本的能力。它能够实现两种模式之间的自然转换,不仅能够执行基本的语音转文本和文本转语音任务,还具备捕捉和再现语音中情感和风格的能力。

目前,随着纯文本大模型取得进展,语音与文本相结合的语言模型(SpeechLMs)成为热门研究领域。现有的模型要么只在语音数据上进行训练,要么专注于特定任务如文本转语音(TTS)、自动语音识别(ASR)或翻译,泛化到其他模态数据和任务上的能力有限。

在大型语言模型(LLM)性能不断提升的情况下,通常使用ASR模型将语音转录成文本,然后再用文本模型生成新文本,最后再由TTS模型将文本转换成语音。然而,这种流程的缺陷之一是语音表达性不足,语言模型不能建模和生成富有表现力的语音数据。

Meta推出了基础多模态语言模型Spirit LM,基于预训练文本语言模型,拥有70亿参数。该模型通过交错使用文本和语音数据进行训练,使其能够在任一模态中自由生成语言内容。

项目主页:https://speechbot.github.io/ spiritlm/
论文链接:https://arxiv.org/ pdf/2402.05755
代码链接:https://github.com/ facebookresearch / spiritlm
开源链接:https://huggingface.co/ spirit-lm / Meta-spirit-lm

将语音和文本序列拼接成一条token流,并使用小型自动整理的语音-文本平行语料库,采用逐词交错的方法进行训练。

Spirit LM包含两个版本:基础版(Base)使用语音音素单元(HuBERT),表达版(Expressive)额外使用音高和风格单元,模拟表达性,增强模型在生成语音时的表现力。这意味着,该模型不仅能够理解和生成基本的语音和文本,还能在表达情感和风格方面具有更加丰富和自然的表现。

两个版本的模型都使用子词BPE标记对文本进行编码,最终模型展现了文本模型的语义能力和语音模型的表达能力;模型还能够在少量样本的情况下跨模态学习新任务(例如自动语音识别、文本转语音、语音分类)。

需要注意的是,与其他预训练模型一样,Sprit LM可能会生成一些不安全内容,所有基于该技术的应用都需要进行额外的安全测试和调整。

Spirit LM

模型的架构相对简单,基本的训练过程是“预测下一个词”,但“词”是由编码器从语音或文本中提取的,然后通过解码器以相应的模态重新呈现;训练数据包括三种类型:仅含文本序列、仅含语音序列以及混合数据的语音-文本序列。

基础版

语音编码器

使用HuBERT模型,该模型在多个数据集上进行训练,包括多语言LibriSpeech、Vox Populi、Common Voice、Spotify和Fisher,最终得到包含501个音素语音token的词汇表。

语音和文本分词器

使用LLaMA默认的文本分词器来处理文本,使用上述HuBERT分词器处理语音;为提高模型质量,对HuBERT的token进行去重处理;对于单模态数据集(仅文本和仅语音),在分词后的数据前加上相应的模态标记。

  • 文本数据:[TEXT] 这是一个文本句子

  • 音频数据:[SPEECH][Hu262][Hu208][Hu499][Hu105]

交错语音和文本(Interleaving Speech and Text)

对齐的语音+文本数据集,通过交错语音和文本在单词级别混合如“[TEXT] the cat [SPEECH][Hu3][Hu7]..[Hu200][TEXT] the mat”。

研究表明,交错训练可以帮助模型学习语音和文本之间的对应关系,实现更佳的文本到语音转换;在每个训练步骤中,句子中的语音和文本部分都是随机采样的。

语音解码器

在语音token到语音合成方面,研究团队在Expresso数据集上训练了一个HifiGAN解码器,依赖于HuBERT语音token和Expresso特定说话人的嵌入向量。

训练过程中,HifiGAN模型将输入重复的token,并训练一个时长预测模块,以更准确地了解每个语音token在实际语音中的持续时间,最终生成语音波形。

表达版

HuBERT能够从语音中获取良好的音素信息,但在表达性方面不足。

研究人员的目标是使模型在不依赖生物特征识别的情况下也能理解和保留语音输入中的情感,因此需要额外的音高token和风格token来补充HuBERT的音素语音token,并纳入语言模型训练中,以训练后的Spirit LM Expressive模型能够捕获并生成更具表现力的语音。

pitch(音高)token

在语音合成和处理中,音高是关键因素之一,决定声音高低,对于人类理解语句的情感和语气至关重要。音高token可以捕捉音高变化。研究团队在Expresso数据集上训练了一个VQ-VAE模型,码本大小为64,下采样率为128,即每秒可以产生12.5个音高token;在训练音高量化器时,使用pyaapt8提取基频(F0);使用基于Transformer的快速音高估计器FCPE9,以提高推理速度。

style(风格)token

研究人员提取语音风格特征来捕捉输入语音的表达风格,对输入片段进行平均池化处理,每秒生成一个特征,然后对其在Expresso数据集上的规范化特征进行微调,以预测表达风格,最后在包含100个单元的k均值聚类的Expresso数据集上进行训练。

表达性语音分词器(Expressive Speech Tokenization)

将三种类型标记按时间戳排序,混合成一个单一的token序列。

与Spirit LM基础版相似,表达版同样对HuBERT的token和音高token进行了去重,使最终的序列类似于:[SPEECH][St10][Pi0][Hu28][Hu22][Pi14][Hu15][Pi32][Hu78][Hu234][Hu468]

表达性语音解码器(Expressive Speech Decoder)

研究人员训练了一个HifiGAN模型,依赖于HuBERT token、音高token、风格token以及来自Expresso数据的1-hot说话人嵌入向量。同时,还训练了一个时长预测器,以预测HuBERT token的持续时间。在推理过程中,将每个HuBERT token与相应的音高token和风格标记token配对,并根据需要进行重复。

实验结果

Spirit LM在接收语音token或文本token提示时,能够生成语义和表达一致的内容。通过定量评估各种需要生成文本或语音token的基准测试,特别评估Spirit LM在单模态和跨模态场景中的语义能力。

自动语音识别(ASR)和文本转语音(TTS)

类似于文本语言模型,SPIRIT语言智能体可以通过少量样本提示执行特定任务。

观察到Spirit LM使用10个样本提示时能取得最佳性能,在Librispeech清洁数据上的词错误率为21.9,文本转语音的字符错误率为45.5。

引入平行ASR和TTS样本训练模型能显著提高性能,但对其他任务的影响有限。

在执行语音意图分类(IC)任务时,准确率随着样本数量增加而提高,总体准确率达到了79%。

跨模态对齐

为了深入了解模型在仅在交错数据和原始语音和文本上训练的情况下,如何实现良好的跨模态性能的隐藏机制,研究人员查看了模型特征的token级相似性。这些特征来自于HuBERT token的输入序列和相应的BPE token,计算了来自不同层提取的语音和文本特征的相似单词的最大相似性。

研究结果显示,内部模型在第2层和第20层开始增加口语和书面序列之间的相似性,并在早期至中间层展示了出色效果,显示出模态混合可以实现语音和文本的对齐,使模型能够将语音序列与相应的文本序列进行映射。

表达性建模

当没有任何先前样本时,直接根据语音或文本提示生成内容(零样本),带有额外音高和风格token的表达版模型在大多数情况下比基础版表现更好,但在文本内容生成(文本到文本)方面,两者表现相近。在给定少量样本进行学习时,这种方法对除语音内容生成(语音到语音)之外的所有情况都有帮助。情感的连续性在相同类型数据(文本到文本或语音到语音)中得分较高,比在不同类型数据(语音到文本)中表现更好。在所有测试中,语音到文本的得分最低。

此外,研究人员还直接评估了模型对输入提示的处理能力,结果表明,无论提示类型,模型都得到了很高的评分,显示模型在保持情感表达方面有进一步提升的空间,也表明智能体在理解和生成丰富情感内容方面存在潜力。

参考资料:

  • https://x.com/AIatMeta/status/1847383580269510670

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考。

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

搜索
排行榜
关注我们

扫一扫关注我们,了解最新精彩内容