SALMONN 概述
SALMONN 是由清华大学电子工程系与字节跳动联合研发的大型语言模型(LLM)。与传统模型不同,它不再局限于纯文本输入,而是能够感知和理解语音、音频事件及音乐。这一设计为 LLM 赋予了听觉能力,使其在实现多语言语音识别、翻译以及音频协同推理方面展现出新的潜力,是迈向通用人工智能的重要一步。
架构设计
模型的核心在于窗口级 Q-Former 连接模块。该模块负责将 Whisper 语音编码器和 BEATs 音频编码器的输出融合,生成增强型音频标记,并与 LLM 的输入空间对齐。此外,LoRA 适配器进一步增强了 LLM 输入空间与输出空间的适配性。通过文本提示,SALMONN 可以回答关于一般音频输入的开放式问题,答案直接以 LLM 的文本响应形式呈现。
核心能力
相比传统的语音识别或音频字幕任务,SALMONN 利用 LLM 的常识和认知能力,实现了以认知为导向的音频感知。这不仅提高了模型的通用性,还丰富了可执行的任务类型。值得注意的是,即使训练数据仅基于文本命令,SALMONN 也能以较高准确度遵循口头命令,这体现了一种跨模态的新兴能力。
部署与使用
环境准备
对于 SALMONN-13B v1 版本,建议配置 Python 3.9.17 环境。安装依赖包时,可直接运行以下命令:
pip install -r requirements.txt
同时需要下载并配置以下预训练模型路径:
- Whisper 编码器 (
whisper_path) - BEATs 音频编码器 (
beats_path) - Llama 基础模型 (
llama_path)
模型训练
在 A100-SXM-80GB 显卡环境下,可通过配置文件启动训练流程:
python3 train.py --cfg-path configs/config.yaml
推理与演示
完成模型加载后,即可进行命令行推理或启动网页演示。确保已下载对应的检查点文件 (ckpt)。
命令行推理示例:
python3 cli_inference.py --cfg-path configs/decode_config.yaml
启动网页 Demo:
python3 web_demo.py --cfg-path configs/decode_config.yaml
运行上述命令后,输入音频文件路径 (wav_path) 和提示词 (prompt) 即可体验模型效果。
引用信息
若项目对您的研究有所帮助,请引用相关论文:
@inproceedings{tang2024salmonn,
title={{SALMONN}: Towards Generic Hearing Abilities for Large Language Models},
author={Changli Tang and Wenyi Yu and Guangzhi Sun and Xianzhao Chen and Tian Tan and Wei Li and Lu Lu and Zejun MA and Chao Zhang},
booktitle={The Twelfth International Conference on Learning Representations},
year={2024}
}
@inproceedings{sun2024videosalmonn,
title={video-{SALMONN}: Speech-Enhanced Audio-Visual Large Language Models},
author={Guangzhi Sun and Wenyi Yu and Changli Tang and Xianzhao Chen and Tian Tan and Wei Li and Lu Lu and Zejun MA and Yuxuan Wang and Chao Zhang},
booktitle={Forty-first International Conference on Machine Learning},
year={2024}
}
主要贡献者包括来自清华大学的于文一、唐昌利、孙光志、张超,以及字节跳动的陈贤钊、李伟、谭天、露露、马泽君等研究人员。

