Salmonn 大型语言模型通往通用听觉能力的方向
“Salmonn:通往综合听觉能力的大型语言模型之路”
听觉是人工智能代理在现实环境中感知和理解通用听觉信息的关键。这些听觉信息包括三种主要的声音类型:音乐、音频事件和语音。最近,基于文本的大型语言模型(LLM)框架展示了惊人的能力,在各种自然语言处理(NLP)任务中实现了人类水平的表现。此外,指令调优是一种使用参考响应和用户提示配对的训练方法,它变得越来越流行。这种方法训练大型语言模型更有效地遵循用户的开放式指令。然而,当前的研究越来越集中在增强大型语言模型的能力,以感知多模态内容。
针对这个问题,在本文中,我们将讨论一种最先进的开放式语音音频语言音乐神经网络(SALMONN),它通过将语音和音频编码器与预训练的基于文本的大型语言模型组合成一个单一的音频文本多模态模型。SALMONN模型使大型语言模型能够直接理解和处理通用的音频输入,并在广泛的音频和语音任务中实现竞争性的性能,包括基于听觉信息的问答、语音识别和翻译、说话人验证、情绪识别、音频和音乐字幕等等。我们将深入探讨SALMONN框架,并探讨其在广泛的NLP任务中的工作、架构和结果。
SALMONN:单一音频文本多模态大型语言模型介绍
SALMONN代表Speech Audio Language Music Open Neural Network,它是一个单一音频文本多模态大型语言模型框架,能够感知和理解包括语音、音频事件和音乐在内的三种基本音频或声音类型。SALMONN模型使大型语言模型能够直接理解和处理通用的音频输入,并在广泛的音频和语音任务中实现竞争性的性能。
为了提升在语音和非语音音频任务上的性能,SALMONN框架采用了双编码器结构,包括来自Whisper语音模型的BEATs音频编码器和语音编码器。此外,SALMONN框架还使用了窗口级的Q-Former或查询变换器作为连接模块,将可变长度编码器的输出序列有效地转换为可变数量的增强音频标记,最终实现音频文本对齐的高时域分辨率。LoRA或低秩自适应是一种跨模态适配器方法,用于将Vicuna框架的输出空间与其增强的输入空间对齐,以进一步提升性能。在SALMONN框架中,执行交叉模态任务的能力在训练阶段丢失,这是SALMONN框架实现额外的少样本激活阶段来恢复LLM框架的一般新兴能力的主要原因。
此外,该框架利用了广泛的音频事件、音乐基准和语音基准来评估其对认知听觉的能力,并将基准分为三个级别。在第一级基准中,该框架训练了包括翻译、音频字幕和语音识别在内的8个任务的指令训练。另外两个基准级别是未经训练的任务,第二级基准包括5个基于语音的自然语言处理任务,如槽填充和对未经训练语言的翻译,依赖于文本和语音标记之间高质量的多语言对齐。最后级别的基准任务旨在理解语音和非语音听觉信息,用于语音音频共推理和基于音频的故事叙述。
总之,SALMONN框架是第一个能够理解和感知包括音频事件、语音和音乐在内的通用音频输入的多模态大型语言模型。
SALMONN:架构和方法
在这一部分中,我们将对SALMONN框架的架构、训练方法和实验设置进行一番了解。
模型架构
在其架构的核心,SALMONN框架通过同步和合并两个听觉编码器的输出,然后在帧级别实现一个Q-Former作为连接模块。由Q-Former生成的输出序列与文本指令提示合并,并作为输入提供给LoRA适应方法来生成所需的响应。
听觉编码器
SALMONN框架使用了两个听觉编码器:一个非语音的BEATs音频编码器,和一个来自OpenAI的Whisper框架的语音编码器。BEATs音频编码器使用自监督迭代学习方法训练,以尝试提取非语音高级音频语义;而语音编码器使用大量弱监督数据进行语音识别和语音翻译任务的训练,编码器的输出特征适合包括背景噪声和语音信息。模型首先对输入音频进行分词处理,然后在训练中对其进行掩盖和预测。这两个编码器产生的听觉特征互补,并适用于语音和非语音信息。
窗口级别的Q-Former
在LLM框架中,实现Q-Former结构是将图像编码器的输出转换为文本输入令牌的常见方法,处理音频令牌长度不一致时需要进行一些修改。具体来说,该框架将输入图像的编码器输出视为拼接的编码器输出序列,Q-Former使用一定数量的可训练查询通过堆叠的Q-Former块将编码器输出序列转换为文本令牌。堆叠的Q-Former块类似于Transformer解码器块,唯一的区别是在自注意力层中移除了因果掩码,并在初始块中使用了一定数量的可训练静态查询。
LoRA和LLM
SALMONN框架还部署了一种称为Vicuna LLM的大型语言模型框架,经过微调以更准确、有效地遵循指令。LoRA框架是一种常用的参数高效微调方法,在SALMONN框架中用于对权重矩阵进行估值和自注意力层的查询进行调整。
训练方法
SALMONN框架采用了一个三阶段的跨模态训练方法。训练阶段包括预训练阶段和指令微调阶段,这两个阶段在大多数视觉LLM框架中都是常见的,此外还实施了额外的激活微调阶段,以解决音频标题和语音识别任务中遇到的过拟合问题。
预训练阶段
为了减小包括编码器和LLM在内的预训练参数与包括适配器和连接模块在内的随机初始化参数之间的差距,SALMONN框架使用大量音频标题和语音识别数据预训练LoRA和Q-Former组件。这些任务包含了关于音频事件的重要听觉信息,无论是语音还是非语音,两者都不需要复杂的理解或推理来学习文本和音频信息之间的对齐。
指令微调阶段
SALMONN框架中实施的指令微调阶段类似于NLP和视觉LLM框架中实施的方法,它使用一系列音频事件、音乐任务和语音事件来微调音频 – 文本指令。任务的优先级是根据它们在不同测试中的重要性来确定的,包括电话识别、重叠语音识别和音乐字幕等。此外,配对的文本信息与音频数据形成生成指令提示的基础。
任务过拟合
即使仅实施了前两个训练阶段,SALMONN框架在指令微调任务上也能获得有竞争力的结果,但在执行跨模态任务时表现不佳,特别是在需要跨模态协同推理能力的任务上。具体来说,模型有时会违反指令提示,导致生成无关或不正确的响应,这种现象在SALMONN框架中被称为任务过拟合,因此实施了激活微调阶段以解决这些过拟合问题。
激活调优阶段
解决过度拟合问题的一种有效方法是使用长且多样化的响应(如故事讲述或基于听觉信息的问答)来规范内在条件语言模型。然后,该框架使用文本与音频、语音或音乐说明生成这些任务的配对训练数据。
任务规格
为了评估SALMONN的零-shot跨模态新兴能力,开发者们将15个语音、音频和音乐任务分为三个级别。
级别1
在第一个级别中,任务用于指令调优,因此是SALMONN框架需要执行的最简单的任务集。
级别2
第二级别包括未经训练的任务,并且与级别1的任务相比,复杂度更高。在级别2中,任务包括基于自然语言处理的任务,包括使用语音提取特定关键词来评估框架在使用语音提取某些关键词时的准确性、使用语音提问评估框架提取常识知识时的准确性、使用语音进行槽填充任务以评估槽值的准确性,以及两个英译德和英译日的AST任务。
级别3
与其他两个级别相比,级别3任务的复杂性最大,包括语音音频共同推理和基于音频的故事编写任务。语音音频共同推理任务要求SALMONN框架通过在输入到模型的音频剪辑中找到支持性证据(使用背景音频事件或音乐)来理解其中的问题,并生成适当的答案。基于音频的故事编写任务要求模型根据从一般音频输入中获取的听觉信息生成有意义的故事。
结果
级别1任务
下表展示了级别1任务的结果,可以看出,SALMONN框架在级别1任务上无论是否进行激活调优,都能返回具有竞争力的结果。
级别2和3任务
尽管SALMONN框架在级别1任务上即使没有进行微调也能产生具有竞争力的结果,但在没有进行激活调优的情况下,无法对级别2和级别3任务进行同样的评价,因为在这些任务上,SALMONN框架严重受到过度拟合问题的困扰。在包含多模态交互的SQQ、SAC和故事编写任务上,性能下降得更为明显,SALMONN框架在没有激活调优的情况下难以遵循指令。然而,通过进行激活调优,结果有了显著的改善,具体结果如下图所示。
折扣LoRA缩放因子
折扣LoRA缩放因子评估使用时间测试折扣LoRA缩放因子来最小化任务中的过度拟合问题的影响。如下图所示,将LoRA缩放因子降低至2.0可以提高SALMONN框架在ASR和PR任务、SQQ任务、故事编写任务和SAC任务上的跨模态推理能力。
评估任务过度拟合
为了强调激活调整,SALMONN框架在三个训练阶段分析了困惑度的变化,如下图所示,AAC和ASR任务的困惑度变化在第一阶段后具有较小的最终值,表明模型学习了跨模态对齐。
此外,由于PR任务依赖于LoRA组件学习输出令牌,困惑度在指导调整之后也会下降。还观察到,尽管指导调整有助于减少讲故事和SAC任务的困惑度,但差距仍然足够大,以至于在添加额外的激活阶段或移除LoRA组件之前,不能成功执行这些任务。
激活调整
SALMONN框架涉及不同的激活方法,包括使用长答案的基于文本的问答任务对模型进行训练,或使用长篇文字故事的基于音频的训练,以及使用ASR任务的长音频转录。通过这三种方法,对Q-Former组件和LoRA组件进行微调。此外,该框架忽略音频和Q-Former输入,以尝试将LoRA和Vicuna组件作为自适应文本型大语言模型进行微调,结果在下图中展示,可以看到模型无法通过ASR(使用长标签训练ASR),也无法通过训练LoRA组件使用文本提示输入来进行故事或文本型任务的激活。
最后的想法
在本文中,我们讨论了SALMONN(Speech Audio Language Music Open Neural Network)框架,这是一个能够感知和理解三种基本的音频或声音类型,包括语音、音频事件和音乐的单一音频-文本多模态大语言模型框架。SALMONN模型使大语言模型能够直接理解和处理通用音频输入,并在广泛的音频和语音任务上提供竞争力的性能。
SALMONN框架在训练过的各种任务上都具有竞争力的性能,包括音频字幕、语音翻译和识别等,并且可以推广到一系列未经训练的理解任务,包括用于关键词提取和未经训练语言的语音翻译。由于其能力,SALMONN框架可以被视为增强大型语言模型通用听觉能力的下一个步骤。