今天我要给大家介绍一个AI项目,它叫做SALMONN

它是Speech Audio Language Music Open Neural Network的缩写,意思是“语音音频语言音乐开放神经网络”。

这是一个由清华大学电子工程系和字节跳动联合开发的大型语言模型(LLM),它不仅能够理解文本,还能够感知和理解各种声音输入,包括语音、音频事件和音乐。这就相当于给语言模型“耳朵”和认知听觉能力,使其更接近具有听觉的人工通用智能。

为什么要给语言模型“耳朵”?

我们知道,人类除了使用文字来交流外,还会使用声音来表达情感、传递信息、享受艺术等。声音是一种非常重要的感知信号,它包含了丰富的内容和含义。例如,我们可以通过声音识别说话人的身份、性别、年龄、情绪等特征;我们可以通过声音理解环境中发生的事件、动作、状态等信息;我们还可以通过声音欣赏美妙的旋律、节奏、和声等元素。

然而,传统的语言模型只能处理文本输入,对于声音输入却无能为力。这就限制了语言模型在多模态场景下的应用和发展。为了让语言模型具有更强大的感知和理解能力,我们需要给它“耳朵”,让它能够听懂声音,并且能够与声音进行交互和沟通。

SALMONN能做什么?

SALMONN在训练过程中使用了多种声音任务,包括自动语音识别和翻译、基于听觉信息的问答、情感识别、说话人验证、音乐和音频描述等等。SALMONN在这些任务上都取得了竞争性的性能,并且可以根据不同类型的声音输入自动切换到相应的任务模式。

除了这些训练过程中使用的任务外,SALMONN还具有一系列未在训练中出现的新颖的听觉能力,包括但不限于以下几种:

  • 语音翻译到未训练的语言:SALMONN可以将语音输入翻译成它没有在训练中见过的语言,比如日语、韩语、法语等等。这是因为SALMONN利用了LLM的多语言知识和泛化能力。

  • 语音填槽:SALMONN可以根据语音输入来填充一些信息槽,比如姓名、日期、地点等等。这是因为SALMONN利用了LLM的文本理解和生成能力。

  • 清华&抖音推出开源!听觉!AI大模型!让人工智能拥有“耳朵”
  • 基于口语查询的问答:SALMONN可以根据口语输入来回答一些常识性或者专业性的问题,比如“苹果是什么颜色的?”、“地球是什么形状的?”、“谁是美国总统?”等等。这是因为SALMONN利用了LLM的知识库和推理能力。

  • 基于音频的故事生成:SALMONN可以根据音频输入来生成一些有趣的故事,比如“听到一段钢琴曲,写一个关于钢琴家的故事”、“听到一段枪声,写一个关于犯罪现场的故事”等等。这是因为SALMONN利用了LLM的想象力和创造力。

  • 语音音频共同推理:SALMONN可以根据语音和音频的组合输入来进行一些复杂的推理,比如“听到一个人说‘我要去上班了’,然后听到一辆汽车启动的声音,判断这个人是怎么去上班的”、“听到一个人说‘我喜欢吃鱼’,然后听到一只猫叫的声音,判断这个人有没有宠物”等等。这是因为SALMONN利用了LLM的跨模态融合和逻辑能力。

值得注意的是,SALMONN只使用了基于文本命令的训练数据,而没有使用任何基于口语命令的训练数据。因此,SALMONN能够听从口语命令也是一种跨模态的新颖能力。

SALMONN是如何实现的?

为了实现这个目标,清华大学电子工程系和字节跳动的研究团队提出了SALMONN,一个能够处理语音、音频事件和音乐输入的大型语言模型。SALMONN的模型结构如下图所示:

SALMONN使用了一个基于Transformer的大型语言模型作为核心模块,它可以处理文本输入,并且具有强大的知识和能力。为了让它能够处理声音输入,SALMONN使用了两个专门的编码器来分别处理语音和音频事件。这两个编码器分别是Whisper和BEATs,它们都是基于Transformer的自注意力编码器,可以从声音中提取高层次的语义特征,并且将其映射到语言模型的输入空间。

为了将语音编码器和音频事件编码器的输出融合起来,SALMONN使用了一个窗口级别的Q-Former作为连接模块,它可以根据语言模型的文本输入动态地选择合适的声音特征,并且将其与文本特征进行融合,得到增强的音频标记(augmented audio tokens)。这些增强的音频标记可以与语言模型的输入对齐,并且可以作为语言模型的额外输入。

为了让语言模型能够适应增强的音频标记,SALMONN使用了一个LoRA适配器来对齐增强的语言模型输入空间和输出空间。LoRA是一种轻量级的适配器,它可以在不改变原始语言模型参数的情况下,对其进行微调和适应。

通过这样的设计,SALMONN可以实现对声音输入的感知和理解,并且可以通过文本输出来回答关于声音内容的开放式问题。同时,SALMONN还可以使用文本提示(text prompt)来指导语言模型进行不同任务的执行。例如,我们可以使用“请翻译成英文”这样的文本提示来让SALMONN进行语音翻译;我们也可以使用“请描述这段声音”这样的文本提示来让SALMONN进行音频描述。

SALMONN有什么局限?

SALMONN虽然是一种让大型语言模型拥有听觉能力的新尝试,但是它也有一些局限和不足,需要在未来的工作中进行改进和优化。SALMONN的局限和不足主要包括以下几个方面:

声音输入的质量和多样性:SALMONN目前只能处理清晰而标准的声音输入,对于嘈杂、模糊、方言、口音等非标准的声音输入,SALMONN可能无法正确地识别和理解。此外,SALMONN目前只能处理三种类型(语言、音频事件和音乐)的声音输入,对于其他类型(比如歌词、说唱、口哨等)的声音输入,SALMONN可能无法有效地处理和理解。

声音输出的质量和多样性:SALMONN目前只能以文本形式给出响应,对于需要以声音形式给出响应的任务(比如语音合成、语音翻译、语音描述等),SALMONN无法完成。此外,SALMONN目前只能以单一而固定的语言和风格给出响应,对于需要以多种语言或者多种风格(比如幽默、正式、亲切等)给出响应的任务,SALMONN无法适应。

声音任务的难度和复杂度:SALMONN目前只能完成一些相对简单而基础的声音任务,对于一些更难更复杂的声音任务(比如语音对话、语音推荐、语音搜索等),SALMONN可能无法满足用户的需求。此外,SALMONN目前只能根据单一而静态的声音输入来完成声音任务,对于需要根据多个或者动态的声音输入来完成声音任务(比如语音协作、语音游戏、语音教育等),SALMONN可能无法适应。

总结

SALMONN是一种让大型语言模型拥有听觉能力的新尝试,它通过集成一个预训练好的LLM和两个声音编码器,构建了一个单一的多模态模型。SALMONN可以接受三种类型(语言、音频事件和音乐)的声音输入,并将它们转换为与LLM输入空间对齐的增强音频标记。

然后,SALMONN可以根据文本提示来回答关于声音输入的开放式问题,并在LLM文本响应中给出答案。SALMONN在训练过程中使用了多种声音任务,并且具有一系列未在训练中出现的新颖听觉能力。

SALMONN为AI提供了一种通用而强大的听觉能力,一种跨模态而灵活的交互方式,一种简单而有效的训练方式

论文地址:

https://arxiv.org/pdf/2310.13289.pdf

代码地址:

https://github.com/bytedance/SALMONN#salmonn-speech-audio-language-music-open-neural-network