ICLR 2024|端到端语音大模型 - SALMONN 字节
ICLR 2024|端到端语音大模型
2024年08月15日 17:20上海
论文题目:SALMONN: TOWARDS GENERIC HEARING ABILITIES FOR LARGE LANGUAGE MODELS
代码链接:https://github.com/bytedance/SALMONN
一、摘要
通过将一个预先训练的基于文本的大型语言模型(LLM)与语音和音频编码器集成到一个多模态模型中,SALMONN 使 LLM 能够直接处理和理解一般音频输入。并在许多语音任务(如自动语音识别和翻译、基于听觉信息的问答、情感识别等)中取得Sota的表现。
同时SALMONN还表现出一定的语音层面智能涌现能力。
比如训练中只见过中英翻译,但是推理时可以完成中德、中日等语系的同声传译;
比如基于某个电影的背景音乐讲故事,以及基于音乐/语音的电影内容推理等;
二、模型结构

根LLM大模型类似,包含Audio Tokenizer模块,Transformer主体,映射模块。前两个模块都是采用Pretrain模型(Freeze参数),映射模块是可以被训练的。
01
Audio Tokenizer模块
包含Whisper Encoder模块和Beats Encoder模块
Whisper Encoder:基于大量弱监督数据,进行语音识别和不同语言翻译训练得到的,其编码器输出特征适用于对语音特征的建模。
Beats Encoder:输入音频首先进行Tokenizer,然后在训练中进行掩码和预测,即自监督学习来提取高级“非人类语音”音频语义信息(Eg:遮盖掉音乐中的一部分音符,AI自监督学习补充这些被去掉的元素)。
这两个特征提取器,共同可以得到Speech and non-speech information。

02
Transformer主体
采用预训练的Vicuna LLM(Vicuna LLM是在llama LLM开源大模型finetune得到的SFT Model)。
03
映射模块
包含对齐Window-level Q-Former以及LoRA模块
其中Window-level Q-Former 负责处理Audio Tokenizer的特征,对于具有可变长度的一般音频输入 Z,通过将 Z 分割为大小L的窗口并用零填充最后一个窗口。SALMONN 在窗口级别使用 Q-Former,就好像每个大小为L的窗口中,输出一帧固定大小的图像特征,从而得到整个Audio的标记序列H。
LoRA 是一种广泛用于大语言模型适配的高效参数微调方法,在 SALMONN 中用于调整 Vicuna 自注意力层中的Query/Value。
三、训练方式
一共分为三个训练阶段:
1.

Pre-training Stage:
任务比较简单,学习语音转文本这种不需要太多推理的任务
2.

Instruction Tuning Stage:
指令提示的素材,是根据audio-text pair对进行人工生成的(可以是一些复杂的提问,比如基于音乐的故事描述,基于某个电影音频的逻辑推理等)
3.

Activation Tuning Stage:
由于第二阶段训练时,Instruction往往过于简单(不像训练LLM,学术&工业界已经有超多高质量Instruction),这会让模型丧失泛化能力。即只能解决第二阶段监督学习的任务,而不能泛化到其他任务上,没有智能涌现的能力。论文提出了一种对LoRA Scaling Factor做正则化的方法,对该Scaling Factor做一定程度裁剪,可以缓解第二阶段训练的过拟合
其中 Q-Former 和 LoRA 为模型训练参数更新层,共计33M参数,大约只占整个 SALMONN模型的0.24%,在消费级显卡上,也可以训练该模型。

Stage1/2阶段,采用了几千小时的音频/音乐数据;
Stage3阶段,采用了很少的训练数据,该数据为经过人工撰写的,复杂的音乐-故事推理Pair对
四、实验结果
Eg:基于视频背景声的故事推理

Eg:基于音乐的故事创作
